在调试版中,应用程序运行正常。但是当我生成sign apk并安装它,打开应用程序后 - 由于logcat错误它立即崩溃:
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mypackage.AppClass" on path: DexPathList[[zip file "/data/app/com.mypackage-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]].
我使用AppClass扩展MultiDexApplication,我也有一些功能。我已经在清单中正确地声明了这个类。
最复杂的是它在调试版本中工作,但仅在发布版本中出现此问题。
如果有人能帮我解决这个问题,我将非常感激。
此致
答案 0 :(得分:0)
选中此选项:
选项1:降低您的gradle版本
选项2:minifyEnabled false
选项3:使用稳定的支持库和构建工具。
选项4:使高速缓存/重启无效,文件 - >使高速缓存/重启无效
选项5:如果您使用的是私有平台库,请确保您的非NDK库与您的APK。
答案 1 :(得分:0)
最后,我找到了一个帮助我解决这个问题的解决方案。我不得不在gradle中添加这部分代码:
dexOptions {
preDexLibraries = false
}
以下是应用build.gradle的一般部分
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}
对于其他可能有类似问题的人,我指的是我获得解决方案的帖子: https://stackoverflow.com/a/26627133/5736917