我已经创建了一个多功能应用程序。但是,在build.gradle中,我有以下几点:
android {
defaultConfig {
...
multiDexEnabled true
}
productFlavors {
dev {
// Enable pre-dexing to produce an APK that can be tested on
// Android 5.0+ without the time-consuming DEX build processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the production version.
minSdkVersion 14
}
}
buildTypes {
release {
minifyEnabled true
*** proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}我的问题是关于progardFiles和使用multiDexKeepProguard的问题。这些文件指出:
使用附加的multiDexKeepProguard规则来确定哪些类被编译到主ProGuard文件中。 如果设置,则将此文件中的规则与生成系统使用的默认规则结合使用。
因此,如果我不使用multiDexKeepProguard,那么我的类仍然会被编译,但可能不会在主dex文件中结束,对吗?我不清楚这与proguardFiles有何不同。
安卓文档也是引用此。
发布于 2017-07-24 23:29:17
如果您要在应用程序中启用proguard,通常需要定义proguard规则。proguardFiles是用来对程序进行细化或模糊处理的指令。
multiDexKeepProguard专门告诉multidex哪些文件在应用程序启动时加载是重要的,因此在主dex中保留什么文件。据我所知,它只是为了方便而使用proguard语法。这是可选的,通常只有在运行时出现问题时才会设置。
https://stackoverflow.com/questions/43380545
复制相似问题