R8功能
R8主要用于**缩减、混淆处理和优化应用**。包括下面的功能:
- 代码缩减(即摇树优化):从应用及其库依赖项中检测并安全地移除不使用的类、字段、方法和属性(这使其成为了一个对于规避 64k 引用限制非常有用的工具)。例如,如果您仅使用某个库依赖项的少数几个 API,那么缩减功能可以识别应用不使用的库代码并仅从应用中移除这部分代码。如需了解详情,请转到介绍如何缩减代码的部分。
- 资源缩减:从封装应用中移除不使用的资源,包括应用库依赖项中不使用的资源。此功能可与代码缩减功能结合使用,这样一来,移除不使用的代码后,也可以安全地移除不再引用的所有资源。如需了解详情,请转到介绍如何缩减资源的部分。
Android变体中声明混淆
flavorDimensions "default"
productFlavors {
domestic {
dimension "default"
buildConfigField("boolean", "OVERSEAS", "false")
buildConfigField("String","serverUrl","\"11111\"")
buildConfigField("String","serverUrlTest","\"11111\"")
buildConfigField("String","tagTitle","\"JA.JJ\"")
}
overseas {
dimension "default"
buildConfigField("boolean", "OVERSEAS", "true")
buildConfigField("String","serverUrl","\"1111\"")
buildConfigField("String","serverUrlTest","\"11111\"")
buildConfigField("String","tagTitle","\"JA.JJ\"")
}
overseasAgent {
dimension "default"
buildConfigField("boolean", "OVERSEAS", "true")
buildConfigField("String","serverUrl","\"\"")
buildConfigField("String","serverUrlTest","\"\"")
buildConfigField("String","tagTitle","\"AGENT\"")
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-agent.pro'
}
}