0

我想从我创建的最终版本 apk 文件中删除未使用的资源。我可以配置 proguard,但仅限于 Java 文件。我想删除未使用的布局、字符串、png 等有什么想法吗?

我阅读了android链接可以提供帮助;在此处获取脚本:http: //yltechblog.blogspot.in/2012/06/remove-unused-resource-from-android.html但我不知道如何将其与 gradle 集成。

同样:https ://code.google.com/p/android-unused-resources/ ;声称提供帮助;但我无法弄清楚如何将它与 gradle 集成。

我的gradle文件如下

// COMMANDS::
// gradle --build-file adt_build.gradle clean  build 
// adb -e install  -r build/apk/rpsl-debug-unaligned.apk

buildscript {
    repositories {
        mavenLocal()
        maven { url 'http://repo1.maven.org/maven2' } 
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}
apply plugin: 'android'

apply plugin: 'eclipse'

def artifactoryurl='http://10.10.8.10:8081/artifactory'
repositories {
    mavenLocal()
    maven { url 'http://repo1.maven.org/maven2' } 
    mavenCentral()
    maven {url "$artifactoryurl/jfrog-libs"}
    maven {url "$artifactoryurl/plugins-release"}
    maven {url "$artifactoryurl/libs-local"}    
}

dependencies {
    compile 'com.google.code.gson:gson:2.2.4' , 'android:support:v4', 'wavecrest.mobile.libraries:libraries:2'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    signingConfigs {
        debugconfig {
            storeFile file("../configs/keystore.jks")
            storePassword "asdf"
            keyAlias "rpsl"
            keyPassword "asdf"
        }
    }

    buildTypes {
        debug {
            packageNameSuffix ".debug"
            signingConfig signingConfigs.debugconfig
            zipAlign true
            runProguard true
            proguardFile file('configs/proguard-android.txt')
        }

        release {
            signingConfig signingConfigs.debugconfig
            zipAlign true
            runProguard true
            proguardFile 'configs/proguard-android-optimize.txt'
        }
    }

    defaultConfig {
        versionCode 1
    }


    sourceSets {
        main {
            manifest{
                srcFile 'AndroidManifest.xml'
            }
            java {
                srcDir 'src'
            }
            res.srcDirs = ['res']
        }

        instrumentTest.setRoot('tests')
    }   

}
4

1 回答 1

0

android gradle 插件还没有完成对 Lint 的支持。它计划在下一个版本中发布

从那里,您也许可以使用 lint 结果。在 gradle 中执行脚本执行类似 'script'.execute()

于 2013-09-22T08:44:49.537 回答