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

问题描述 投票:0回答:1

我的项目中的一个模块的

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,我可以控制它的minify级别,所以我对它没有任何问题。

但是我不能对

jsoup-1.8.2.jar
做同样的事情,因为它是外部提供的 jar。

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

如果是这样,我该如何实现?

android-studio gradle android-gradle-plugin proguard minify
1个回答
6
投票

最好是查阅库文档和自述文件页面(例如 Github 上的)。

但一般来说,您可以为这些外部 jar 中的类添加

-keep
选项到 ProGuard 配置文件“proguard-rules.pro”中。例如:

-keep class example.** { *; }
© www.soinside.com 2019 - 2024. All rights reserved.