2013-09-22 3 views
0

최종 릴리스 apk 파일에서 사용되지 않은 리소스를 제거하고 싶습니다. proguard를 구성 할 수 있지만 Java 파일에만 제한됩니다. 사용하지 않는 레이아웃, 문자열, png 등을 제거하고 싶습니다. 어떤 아이디어입니까?사용하지 않는 리소스를 제거하는 Android gradle 파일

나는 안드로이드 링크가 도움이 될 수 있습니다. 여기 스크립트를 가지고 : 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') 
    } 

} 

답변

0

린트 지원을 다음과 같이

내 Gradle을 파일입니다. next release으로 예정되어 있습니다.

거기에서 린트 결과를 사용할 수 있습니다. 스크립트를 실행하는 gradle에서 'script'와 같은 것을 실행합니다 .execute()

+0

빌드 도구로서 저는 jail 빌드/서명/패키징 작업 직전에 사용자 지정 스크립트/명령을 실행할 수있는 후크를 제공하기 위해 gradle이 필요했습니다. .. – ravi

+0

몇 가지 갈고리가 있지만, 내 지식의 최고로 잘 못된 것입니다. – Snicolas

관련 문제