我在我的android项目gson
库中使用:
compile 'com.google.code.gson:gson:2.7'
我不是在app模块中使用它,而是在我的android库中将此库添加到项目中。只有几个类(groupA)使用gson
。 Android库是常见的库,用于多个android项目,但在当前的android项目中不使用groupA中的类。
我在应用的build.gradle
:
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
我构建了release apk并反编译classes.dex。我在apk中找不到类groupA。没关系。 proguard
删除未使用的代码。
不幸的是,我看到了gson
个课程。但为什么?为什么proguard
不删除gson
类? gson
实际上没有在项目的发布版本中使用。
答案 0 :(得分:0)
我认为你应该看看每个版本中包含的gson的proguard文件:https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg在那里识别其余的类?
答案 1 :(得分:0)
为什么proguard不删除gson类?
问它:
使用proguard选项-whyareyoukeeping
找出未删除gson类的原因
http://proguard.sourceforge.net/manual/usage.html#shrinkingoptions