2016-05-26 1 views
1

Androidスタジオ2.1.1にアップデートしたばかりで、リリースされたapkをビルドしようとしていますが、以下のエラーで失敗しました。これをどうすれば解決できますか?Androidスタジオリリースapk:app:transformClassesAndResourcesWithProguardForRelease java.io.IOException

':app:transformClassesAndResourcesWithProguardForRelease'. 
    > java.io.IOException: Please correct the above warnings first. 

これは(モジュール:APP)build.gradleある

フルバージョン:

:エラーメッセージに https://gist.github.com/anonymous/65bb2edf94ea58c50de8e0ff107555ce

... 
android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.company.project" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 13 
     versionName "1.5" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    lintOptions { 
     checkReleaseBuilds false 
    } 
} 

より https://gist.github.com/anonymous/9d822c530011b48dab1da60267f9b471

UPDATEをダンプ

proguard-ruのコンテンツ/Users/xxxx/Library/Android/sdk/tools/proguard/proguard-android.txt の https://gist.github.com/anonymous/9d822c530011b48dab1da60267f9b471

コンテンツの/ユーザ/ XXXX /ライブラリ/アンドロイド/ SDK/https://gist.github.com/anonymous/d5cdfbfd7c1bfe74d594993feb35bd62

コンテンツles.proツール/ ProGuardの/ ProGuardの-project.txt https://gist.github.com/anonymous/d04cd0299029d4fdd648fb782f2e3021

+0

有効にしたときに、proguardプロパティを設定する必要があります。 proguardプロパティを投稿してください。あなたのエラーから、改造のために問題があります。改造のproguardプロパティを追加してください。 – Shvet

+0

それはかなり空に見える、私はproguardに精通していない。ここにコンテンツがありますhttps://gist.github.com/anonymous/9d822c530011b48dab1da60267f9b471 – Axil

+0

私はsdk proguard-android.txtとproguard-project.txtを含めました – Axil

答えて

0

あなたは私はあなたのプロジェクトからリリースAPKを作るために必要なすべてのルールを追加することをお勧めあなたのproguard-android.txtファイルに追加ProGuardのルールをhaventはあります。

あなたがルールの下に追加する必要が retrofitについては

-dontwarn retrofit2.** 
-keep class retrofit2.** { *; } 
-keepattributes Signature 
-keepattributes Exceptions 

あなたは、あまりにも似その他のルールを追加する必要があり、

-keepattributes *Annotation* 
-keep class com.google.android.gms.internal.* 

-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class * extends android.app.backup.BackupAgent 
-keep public class * extends android.preference.Preference 
-keep public class * extends android.support.v4.app.Fragment 
-keep public class * extends android.support.v4.app.DialogFragment 

-keep class com.google.android.gms.maps.** { *; } 
-keep interface com.google.android.gms.maps.** { *; } 

-keepclassmembers class * implements android.os.Parcelable { 
    static *** CREATOR; 
} 
# The Maps API uses serialization. 
-keepclassmembers class * implements java.io.Serializable { 
    static final long serialVersionUID; 
    static final java.io.ObjectStreamField[] serialPersistentFields; 
    private void writeObject(java.io.ObjectOutputStream); 
    private void readObject(java.io.ObjectInputStream); 
    java.lang.Object writeReplace(); 
    java.lang.Object readResolve(); 
} 

これは、プロジェクトのほとんどのために一般的であり、私は私のために使用していますプロジェクト、それを使用する前にルール全体をチェックしてください。

関連する問題