【问题标题】:Exclude files using proguard rules使用 proguard 规则排除文件
【发布时间】:2015-03-10 03:52:47
【问题描述】:

我正在尝试使用 proguard 减小 apk 的大小。这样做时我收到了这些警告消息,

Warning: can't write resource [META-INF/LICENSE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/LICENSE.txt])
Warning: can't write resource [META-INF/NOTICE.txt] (Duplicate zip entry [commons-lang-2.6.jar:META-INF/NOTICE.txt])
Warning: can't write resource [.readme] (Duplicate zip entry [classes.jar:.readme])

除了保留类之外,还有什么方法可以排除这些文件?我已经在 gradle 文件中排除了这些,但这似乎不起作用。

【问题讨论】:

  • 你用的是android studio还是eclipse?

标签: android android-studio gradle proguard


【解决方案1】:

如果你使用的是 Android Studio,添加这个

到你的 build.gradle

packagingOptions {
                exclude 'META-INF/LICENSE.txt'
                exclude 'META-INF/NOTICE.txt'
                exclude '.README'
            }

/// 完整示例

android {
    compileSdkVersion 23
    buildToolsVersion '22.0.1'
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName '1.0'
        renderscriptTargetApi 22
    }
    buildTypes {
        debug {
            debuggable true
            minifyEnabled false
            renderscriptDebuggable true
            versionNameSuffix "-debug"
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            debuggable false
            minifyEnabled true
            shrinkResources false
            renderscriptDebuggable false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude '.README'
    }

}

【讨论】:

    猜你喜欢
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多