当应用程序类扩展MultiDex应用程序时,我的一个测试手机无法使用ADB安装应用程序。
我尝试在build.gradle上实现this,我的应用程序类扩展了MultiDexApplication但无法编译。
buildTypes {
release {
multiDexEnabled false
}
debug {
multiDexEnabled true
}
}
参考文献: 1. https://developer.android.com/studio/build/multidex.html 2. Can I enable multidex in Android debug build only? 3. Conditionally inherit from class
答案 0 :(得分:0)
让您的Application
课程延长MultidexApplication
,但请将此行添加到attachBaseContext
if (BuildConfig.DEBUG) {
MultiDex.install(this);
}
答案 1 :(得分:0)
也许我可以建议一种不同的方法。 我假设您在发布版本中使用了proguard,这就是为什么您不需要使用multidex进行发布
如果在调试时将minifyEnabled设置为true并将useProguard设置为false,则会删除调试版本中的所有死代码,但不会使用任何像混淆一样的proguard优化。
您需要将您的proguard规则设置移动到默认配置,以便minify知道要保留哪些文件。
此方法可以帮助您避免在调试版本上使用multidex。
defaultConfig {
...
proguardFile 'proguard-rules.pro'
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
debug {
...
minifyEnabled true
useProguard false
}
release {
...
minifyEnabled true
}