2016-03-05 2 views
2

Был изо всех сил пытаться понять причину проблемы (см. Таблицу ниже) при попытке использовать proguard.Выполнение не выполнено для задачи ': app: transformClassesAndResourcesWithProguardForRelease': java.io.IOException - Proguard Issue

Помимо библиотек, упомянутых в Gradle файле, приложение имеет дело с открытием sockets, serializing/deserializing данных, ciphers и jwt tokens, имея дело с WifiManager & WifiP2pManager.

Было бы здорово, если бы кто-нибудь мог указать на проблему или, по крайней мере, помочь мне лучше разобраться в этом вопросе. Я попытался добавить все возможные правила proguard для разных библиотек и не минимизировать наш собственный родительский пакет.

Мой Gradle файл

buildscript { 

    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 

apply plugin: 'com.android.application' 

apply plugin: 'io.fabric' 

apply plugin: 'com.google.gms.google-services' 

repositories { 

    maven { url 'https://maven.fabric.io/public' } 

}  

dependencies { 

    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 

    compile project(':android') 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.squareup.retrofit:retrofit:1.9.0' 
    compile 'com.squareup.okhttp:okhttp:2.5.0' 
    compile 'com.google.code.gson:gson:2.4' 
    compile 'commons-codec:commons-codec:1.9' 
    compile 'com.android.support:design:23.1.1' 
    compile 'com.google.android.gms:play-services-analytics:8.3.0' 
    compile 'com.android.support:support-v4:23.1.1' 

} 

android { 

    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.some.org.package" 
     minSdkVersion 18 
     targetSdkVersion 23 
     versionCode 5 
     versionName "0.9.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES.txt' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/dependencies.txt' 
     exclude 'META-INF/LGPL2.1' 
    } 
} 

Proguard-rules.pro

Proguard file link

./gradlew чистый assembleRelease -d --stacktrace

https://jsfiddle.net/w7htgrxd/3

ответ

0

В журнале сборки явно указаны причины сбоя сборки. Существуют различные ссылки на отсутствующие классы, неправильные конфигурации, атрибуты, которые не хранятся, хотя и используются, ...

Я предлагаю вам посмотреть ссылки на страницы руководства и применить предложенные изменения, большинство из которых являются -keepattributes ...., -dontwarn ....

Если вам не удастся разрешить все предупреждения, вы можете, наконец, добавить также -ignorewarnings, чтобы игнорировать остальные и позволить ProGuard продолжить обработку вашего приложения.

Смежные вопросы