关于Androidstudio AOP AspectJ 我出现的问题

关于Androidstudio AOP AspectJ 我出现的问题

先是错误

Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> Unexpected scopes found in folder 'C:\Users\Administrator\Desktop\AOPDemo\app\build\intermediates\transforms\AspectTransform\debug'.
 Required: PROJECT, SUB_PROJECTS, EXTERNAL_LIBRARIES.
 Found: EXTERNAL_LIBRARIES, PROJECT, PROJECT_LOCAL_DEPS, SUB_PROJECTS,  SUB_PROJECTS_LOCAL_DEPS

只想解决方法的话 请点击这里
想弄明白原因的话 请继续向下看

起因是昨天想在项目里加上面向切面编程 (还是我太懒想着方便) 就使用了AspectJ
还是和以前一样 在网上找依赖的路径

 classpath 'com.hujiang.aspectjx:gradle-android-   plugin-aspectjx:1.0.8'
 apply plugin: 'android-aspectjx'
 compile 'org.aspectj:aspectjrt:1.8.9'
 等等等等  
 不要吐槽我发的乱七八糟  这些都没用
 稍安勿躁 继续向下看

引用成功以后 就报了刚才发的那个错了

这是啥错呀 ???一脸懵逼

这里写图片描述]![这里写图片描述

用百度翻译一下
意外的范围在文件夹???
什么鬼(翻译有风险 使用请谨慎)

问了英语好的朋友
这些叫作用域
需要: PROJECT, SUB_PROJECTS, EXTERNAL_LIBRARIES.
在我的项目里发现了: EXTERNAL_LIBRARIES, PROJECT, PROJECT_LOCAL_DEPS, SUB_PROJECTS, SUB_PROJECTS_LOCAL_DEPS

也就是说 我的项目多了
PROJECT_LOCAL_DEPS, SUB_PROJECTS_LOCAL_DEPS
这俩 作用域空了

多了 那就删了呗

于是到我这个目录下一找
app\build\intermediates\transforms\AspectTransform\debug’.
果然是 有这些

扫描二维码关注公众号,回复: 8791065 查看本文章

那么问题来了 怎么办?
app目录下全是系统的东西 不敢动呀
(其实我改了 然后自动编译出乱七八糟更多的东西了)
所以删是不行了 还有什么方法呢?

感觉 是不是我gradle版本的兼容的问题呀?
于是 搜到了一个大神分享的迁移到Android Studio 3.0的详解
有这句话

项目间发布
库模块不再处理本地 jar。这是为了加速由对库模块代码的更改而导致的增量生成。 现在, 对库模块的转换只会影响项目范围。使用 PROJECT_LOCAL_DEPS 应用转换将失败, 因为此范围现在已被弃用。 对于其本地 jar 是外部流的一部分的 app 模块, PROJECT_LOCAL_DEPS 和 SUB_PROJECT_LOCAL_DEPS 流现在总是空的。 为本地库模块启用混淆不再影响库的代码。相反, 您应该在使用该库的 app 模块上运行混淆。 以前, 必须在库模块中解析库模块与其本地 JAR 依赖项之间的 Java 资源冲突。由于库模块不再处理本地 jar, 因此必须解决使用该库的应用程序模块中的冲突。

原来是我更新Androidstudio3.0以后
PROJECT_LOCAL_DEPS 和 SUB_PROJECT_LOCAL_DEPS这俩空了啊
库模块不再处理本地 jar?
之前的方式需要处理本地jar


只要不用 apply plugin: ‘android-aspectjx’
这种依赖方式不就可以了么

以下是另一个网友的分享 有demo 照着做就可以了
链接

这里只针对这个问题 给出解决方法 避免踩坑

发布了4 篇原创文章 · 获赞 6 · 访问量 3411

猜你喜欢

转载自blog.csdn.net/zafkiel_/article/details/78612852