Closed FortuneDream closed 2 years ago
//当过滤条件发生变化,clean掉编译缓存
// def isExtensionChanged = ajxCache.isExtensionChanged(ajxExtension)
// project.logger.warn("[ajx] isExtensionChanged=" + isExtensionChanged)
// if (isExtensionChanged) {
// project.logger.warn("[ajx] cache changed, clean before preBuild")
// project.tasks.findByName('preBuild').dependsOn(project.tasks.findByName("clean"))
// }
当我把这行代码注释了之后,就没有在爆出了processManifest的问题了。但我不清楚原因为啥。。。。只是用来用了排除法,老哥如果对于源码理解比较透彻的话,能否指点一二?
//当过滤条件发生变化,clean掉编译缓存 // def isExtensionChanged = ajxCache.isExtensionChanged(ajxExtension) // project.logger.warn("[ajx] isExtensionChanged=" + isExtensionChanged) // if (isExtensionChanged) { // project.logger.warn("[ajx] cache changed, clean before preBuild") // project.tasks.findByName('preBuild').dependsOn(project.tasks.findByName("clean")) // }
当我把这行代码注释了之后,就没有在爆出了processManifest的问题了。但我不清楚原因为啥。。。。只是用来用了排除法,老哥如果对于源码理解比较透彻的话,能否指点一二?
@FortuneDream 这边原作者的意图是判断exclude和include规则和之前缓存的规则是否发生了变化,如果发生变化,就让preBuild任务执行依赖clean任务。我有出现这个问题,是已经构建过之后,修改了某个依赖,然后直接terminal继续执行,然后构建会走增量编译,导致出问题。你可以试试每次执行打包构建的时候先执行clean操作,我后面看看这个问题。
@FortuneDream 你可以用新版本2.0.16试试,加了各种android plugin的支持。
@FortuneDream 测试了下,appBundle执行没有问题,你用最新版本看下能不能复现,我先关掉了。
目前貌似仍然没有适配AppBundle,会出现 Attribute activity#xxxxx.SearchActivity@splitName value=(dfm_live) from [:ks-dynamic-features:dfm_live] AndroidManifest.xml:404:13-41 is also present at [:ks-dynamic-features:magic_sdk] AndroidManifest.xml:354:13-42 value=(magic_sdk). Suggestion: add 'tools:replace="android:splitName"' to element at AndroidManifest.xml:10:9-15:88 to override.
这个问题是在Task:processGooglePerfManifest,也就是多Flavor的情况下,还没有执行到Transform阶段。
我把AJXTransform构造函数中的ajxCache=new AJXCache(proj),注释了之后,就可以顺利通过此Task。
所以这个AJXCache的内部实现仍然有问题。