trycatchx / RocketX

🔥🔥 android 端编译加速插件🚀 动态识别未改动 module 并在编译流程中替换为 aar ,只编译改动模块,加速 Android apk 的编译速度。
861 stars 104 forks source link

每次都重新生成aar #23

Closed yejiabin9 closed 2 years ago

yejiabin9 commented 2 years ago

还是上次的问题,没有修改任何代码,大部分模块都重新打包了 我打算源码引用一下这个插件,本地调试看看,请问如何操作? 代码下载的熬本地,只需要将红色部分提取出来就可以吗?

image image

trycatchx commented 2 years ago

是的,直接复制粘贴过去。把 claspath 去掉就可以了。感谢分析问题

yejiabin9 commented 2 years ago

好的,谢谢,我先自己看看

trycatchx commented 2 years ago

@GHyejb 你可以查阅 ChangeModuleUtils.kt 中的 getChangeModuleMap 方法看下每次 输出 的改动模块 是否有值。

如果你没有做改动,而输出有值,说明是有问题。就会导致 uploadLocalmaven 触发。

如果输出正常,可以查看 AarFlatLocalMaven.kt 代码流程是有问题

yejiabin9 commented 2 years ago

好的,正在引入源码

trycatchx commented 2 years ago

@GHyejb 嗯嗯,如果发现有问题欢迎 提 PR

yejiabin9 commented 2 years ago

你好,这个是什么问题啊,编译的时候 image

yejiabin9 commented 2 years ago

Unresolved reference: maven

trycatchx commented 2 years ago

配置一下 使用 flat 為 localmaven

   RocketX {
        openLog = true
        localMaven = false
    }
trycatchx commented 2 years ago

@GHyejb 目前有两种方式 localMaven , 1、使用flat 直接copy 到指定缓存目录,依赖的时候只需指定 文件路径的 aar 就可以 2、使用 真正的 localmaven ,多了一些pom.xml 解析操作 ,较慢(目前建议使用第一种 flat)

trycatchx commented 2 years ago

@GHyejb 具体源码 就是在 FlatTask 这个 task

yejiabin9 commented 2 years ago

image 还是有问题,目前在app的gradle中加了这两个东西,项目根目录下面引入buildSrc

trycatchx commented 2 years ago

@GHyejb 加在android 闭包内。文档我更新一下。

yejiabin9 commented 2 years ago

还是报错 image

trycatchx commented 2 years ago

@GHyejb gradle sync image 一下再编译

trycatchx commented 2 years ago

@GHyejb 这里配置了 false ,理论上是跑不进去的:

image

yejiabin9 commented 2 years ago

还是这样

yejiabin9 commented 2 years ago

那我吧代码注释看看

trycatchx commented 2 years ago

@trycatchx 你可以帮忙 debug 一下 if (mRocketXBean?.localMaven == true) 这个条件语句 为什么是 true ?

yejiabin9 commented 2 years ago

@GHyejb 你可以查阅 ChangeModuleUtils.kt 中的 getChangeModuleMap 方法看下每次 输出 的改动模块 是否有值。

如果你没有做改动,而输出有值,说明是有问题。就会导致 uploadLocalmaven 触发。

如果输出正常,可以查看 AarFlatLocalMaven.kt 代码流程是有问题

刚刚不知道为什么编译不过去,既然代码不从那边走,那我直接注释了,现在成功了,我后面按照你给的提示调试一下 谢谢! image

trycatchx commented 2 years ago

看截图生成缓存位置,走的是falt,那么刚刚那个条件语句理论是 false ,这么奇怪?

yejiabin9 commented 2 years ago

感觉是我本地的环境导致没法编译

trycatchx commented 2 years ago

好的,那你帮忙排查是否有多次 uploadLoalMaven 的生成的原因?