生成基版,正常,生成补丁文件就发生以下错误:
com.tencent.tinker.android.dex.DexException: com.tencent.tinker.android.dex.DexException: Unexpected magic: [100, 101, 120, 10, 48, 51, 56, 0]
官方有提到这个错误及解决方法如下,
FAQ
build: tinkerPatch throw
Caused by: com.tencent.tinker.android.dex.DexException: Unexpected magic: [100, 101, 120, 10, 48, 51, 56, 0]
check bakApk *.apk not from use AS Run button beacuase tinker not support Apply Changes
use Make Project and Manual install then run tinkerPatch
简单地说,就是 使用gradlew命令打包,不要直接as中点击运行,可惜没作用,不能解决
接着百度,github ,有人说,清理了一下,然后重新设置tinkerOldApkPath 也无效!!!
也有人说,给 tinkerApplyResourcePath 赋值空字符串, 也没无效
那么人出现这类问题,源码是没有问题,Android Studio 清理,清缓存,没效.
后来,把源码导出备份后,再把旧的源码全删除,再导入回AS,(相当于,新建一个工程),问题就解决了,现在可以正常生成 ,无论是直接as中点击运行,还是gradlew命令打包,没问题,
如果还是不行,那就要注意
tinkerPatch {
…
allowLoaderInAnyDex = true
removeLoaderForAllDex = true
…
}
minSdkVersion 23 , 不要调太高,我的是 23, 太高,补丁插件兼用不起,也会有这样的问题.