Android 不要包括未使用的库来释放apk

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 {

我在我的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'
        }
    }
}
我构建了版本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 word
gson
中搜索,找到下一个:`com.google.gson。由配置中的指令保留。抱歉,我不理解您的意思。在我的proguard规则文件中,我没有任何带有
gson
的字符串。因此,对于gson,我们没有解决方案?请检查以下答案: