如何在Android Studio中从Proguard中删除外部库jar?

时间:2015-04-26 13:20:14

标签: android-studio gradle android-gradle proguard minify

我项目中其中一个模块的build.gradle非常简单:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 8
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 8
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
        }
    }
}

dependencies {
    compile project(':timsvc')
    compile files('libs/jsoup-1.8.2.jar')
}

但是,当我构建它时,它无法在外部库jsoup-1.8.2.jar中找到符号。

由于timsvc是我的一个模块,拥有自己的build.gradle和proguard.cfg,我可以控制它的缩小级别,所以我没有遇到任何问题。

但我不能对jsoup-1.8.2.jar做同样的事情,因为它是一个外部提供的jar。

有没有办法在Android Studio中将它从Proguard中排除?

如果是这样,我该如何做到这一点?

1 个答案:

答案 0 :(得分:0)

最好是查看图书馆文档和自述页面(如Github)。

但是在genneral中,您可以为您的proguard配置文件添加-keep选项,以用于这些外部jar中的类。例如:

-keep class example.** { *; }