ceabie
ceabie
Tinker 没研究过,不过可能两者是不兼容的
可以使用隐藏的可用配置: -dex-param --set-max-idx-number=30000 30000需要你自己调试大小,最大50000(虽然最大65535,但没有意义),最小不能小于第一个dex的数量,否则会出现DexException: Too many classes in --main-dex-list, main dex capacity exceeded 不能指定具体类进行>=3以后分包
android gradle plugin 3.2.0 不支持了,变化太多,处理不了了
这个要过一段时间。目前个人用的是稳定版AS,还没有急切需求。
在 生成的maindexlist里但打包不对就很奇怪了。maindexlist生成正常DexKnife就已经完成工作了。你检查下工程有没有对additionalParameters进行了修改。DexKnife现只支持Android gradle plugin 1.5~2.3左右的,你要是使用更高版本的有可能就无法适配了。
2.2.2是支持的,additionalParameters你需要整个项目搜索下,但一般影响不大。maindexlist生成正常,但打包有问题就不是很清楚了,你可以参考下特性8,再检查下gradle console窗口输出
是的,这个是生成需要使用的
你先检查下生成的 maindexlist.txt是否有你的类。 如果multidex不在application中加载,在multidex加载前的任何其他dex中的类都不能用。 你可能是keep的类中还有其他依赖的类未keep
-split **.** 是个比较危险的选项,你无法实时保证没有遗漏。这个需要你自行调试了,插件只能保证maindexlist中类存在,但不保证依赖链和mutildex加载时机问题。 你的问题可能是连 android.support.multidex.** 都没keep,或者依赖链出问题了,不是只有keep一个类就够了
#41 参见特性8。你需要直接看下dex中这个类在哪个包里,才能判断出什么问题。