2017-12-05 40 views
2

minifyEnabled true으로 라이브러리를 생성하려고하지만 릴리스 .aar에서 classes.jar이 비어 있습니다.Android 라이브러리 : Proguard를 사용할 때 .aar를 비워서

나는 proguard-rules.pro을 확인했으며 괜찮은 것으로 보입니다.

기본 .gradle 파일을 사용하여 새 모듈을 만들었고 minifyEnable true를 설정하면 릴리스 버전은 클래스가없는 classes.jar을 계속 가져옵니다.

결국 코드를 ​​난독 화하는 안드로이드 라이브러리를 생성 할 수 있습니까?

는 편집 1 : 추가

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 27 
    buildToolsVersion '27.0.0' 

    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 27 
     versionCode 1 
     versionName "1.0" 

     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

    } 

    buildTypes { 
     release { 
       minifyEnabled true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
    } 

    lintOptions { 
     abortOnError false 
    } 
} 

repositories { 
    maven { url 'https://maven.google.com' } 
    jcenter() 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.1', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 

    compile 'org.apache.httpcomponents:httpcore:4.3.3' 
    compile('org.apache.httpcomponents:httpmime:4.3.6') { 
     exclude module: 'httpclient' 
    } 

    compile 'fr.bmartel:jspeedtest:1.25' 
    compile "com.android.support:appcompat-v7:27.0.0" 
    testCompile 'junit:junit:4.12' 
} 
+0

가이아드 규칙은 무엇입니까? – ThomasEdwin

+0

이제 프로 가드 규칙은 모두 주석 처리됩니다. – Danilo

+0

네, 가능합니다. 저는이 일을 많이 해 봤습니다. 어쨌든 계속 진행되고있는 일에 대한 아이디어를 얻으려면 몇 가지 추가 정보를 제공해야합니다. – YadirHB

답변

1

좋아 모듈 build.gradle, 잠시 후 나는 내 문제를 해결했다.

나는 (library.pro) 내 proguard-rules.pro에 기본 난독 규칙 구성 를 복사/붙여 넣기. path-to-sdk/tools/proguard/examples에서이 파일과 예제를 찾을 수 있습니다.

자세한 내용은 this을 참조하십시오. 내 build.gradle에서

나는 chagend :

defaultConfig { 
    minSdkVersion 15 
    targetSdkVersion 27 
    versionCode 1 
    versionName "1.0" 

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

} 

buildTypes { 
    release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
} 

에 : 도움을

defaultConfig { 
    minSdkVersion 14 
    targetSdkVersion 27 
    versionCode 1 
    versionName "1.0" 

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

} 

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     consumerProguardFiles 'proguard-rules.pro' //added this line 
    } 
} 

감사합니다!