0

作成した最終リリースの apk ファイルから未使用のリソースを削除したいと考えています。proguard を構成できますが、Java ファイルのみに制限されています。未使用のレイアウト、文字列、png などを削除したい

私はアンドロイドリンクが役立つことを読みました; ここでスクリプトを取得しました: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

lint のサポートは、Android gradle プラグインではまだ完全ではありません。次のリリースの予定です。

そこから、lint の結果を使用できる場合があります。スクリプトを実行するgradleでは、「script」.execute()のようなことをします

于 2013-09-22T08:44:49.537 に答える