我有一个Android项目,我在其中使用progaurd混淆和简化代码。
...
android {
defaultConfig {
...
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
...
}
compileOptions {
...
}
}
dependencies {
...
}
...
我在progaurd-pro文件中有一些自定义规则,可以忽略模型文件的内容。它会忽略软件包中的所有模型文件,但不会忽略一个特定文件。
-keepclasseswithmembernames class my.domain.models.** { *; }
我将所有模型移到了不同的模块上仍然没有区别 该文件不会被忽略
答案 0 :(得分:0)
从@TheAnkush的评论中得到提示后,我自己想到了
实际上是从类外部引用这些变量 ,即我将这些变量保持公开状态,所以当proguard解析那些直接从其引用这些变量的文件时,它就会更改这些变量,因此即使使用正确的代码,这些文件也会被更改