首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使runProguard为安卓库Gradle插件工作?

如何使runProguard为安卓库Gradle插件工作?
EN

Stack Overflow用户
提问于 2013-09-30 18:00:53
回答 1查看 3.4K关注 0票数 6

我想在我的安卓库的发布版本上运行ProGuard。下面是我的项目中的build.gradle文件。

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    sourceSets {
        main {
            java {
                srcDir 'src/main/java'
            }
            resources {
                srcDir 'src/../lib'
            }
        }
    }

    buildTypes {
        release {
            runProguard true
            proguardFile getDefaultProguardFile('proguard-android.txt')
        }
    }
}

运行gradlew cleangradlew build将返回以下错误:

> Could not find method buildTypes() for arguments [build_25r1m0a3etn5cudtt5odlegprd$_run_closure2_closure10@5f3306ad] on project

插件android-library似乎缺少了buildTypes方法。如果我将apply plugin更改为android,则gradlew将成功运行。然而,这是一个图书馆项目,我想保留它。其他部分--我的gradle.build (这里没有提到)--依赖于项目是一个库。

有没有办法让android-library插件在构建时运行ProGuard?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-30 18:42:23

解决了我的问题,将releasebuildTypes中删除,如下所示:

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    sourceSets {
        main {
            java {
                srcDir 'src/main/java'
            }
            resources {
                srcDir 'src/../lib'
            }
        }
    }

    release {
        runProguard true
        proguardFile getDefaultProguardFile('proguard-android.txt')
        proguardFile 'proguard-android.txt'
    }
}

还请注意,我在release下添加了另一个release。这解决了我在解决最初的buildTypes问题后遇到的另一个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19100776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档