Android 不要包括未使用的库来释放apk
我在我的android项目Android 不要包括未使用的库来释放apk,android,gradle,proguard,Android,Gradle,Proguard,我在我的android项目gson库中使用: compile 'com.google.code.gson:gson:2.7' 我不是在app模块中使用它,而是在我的android库和这个添加到项目中的库中使用它。仅使用了几个类别(groupA)gson。Android库是一个公共库,在几个Android项目中使用,但在当前的Android项目中不使用groupA中的类 我在应用程序的build.gradle中有: android { ... buildTypes {
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'
}
}
}
我构建了版本apk和反编译classes.dex。我在apk中找不到groupA类。没关系<代码>程序保护删除未使用的代码
不幸的是,我看到了
gson
类。但是为什么呢?为什么proguard
不删除gson
类gson
在project的发行版中确实没有使用。我认为您应该查看每个构建中包含的gson的proguard文件:是否识别其中剩余的类
为什么proguard不删除gson类
问它:使用proguard选项
-whyareyoukeeping
查找未删除gson类的原因
是否显示了添加gson的依赖关系?@sschras,请勿帮助我添加到下一行的proguard规则文件中:
-whyareyoukeeping class com.google.gson.gson
。然后从命令行编译:gradleassemblererelease--info
。我在log wordgson
中搜索,找到下一个:`com.google.gson。由配置中的指令保留。抱歉,我不理解您的意思。在我的proguard规则文件中,我没有任何带有gson
的字符串。因此,对于gson,我们没有解决方案?请检查以下答案: