2017-03-21 31 views
5

リリースビルドをビルドしようとすると、次のエラーが発生します。私はアンドロイドスタジオ2.3を使用しています。私は、以下のファイルと私はエラー:タスク ':app:packageRelease'の実行に失敗しました。 > java.io.IOException:zipファイルの読み込みに失敗しました

Error:Execution failed for task ':app:packageRelease'. 
> java.io.IOException: Failed to read zip file '/Users/username/Documents/Android Projects/Project Name/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar'. 

ProGuardのルールが

Gradleの

-keepclassmembers class * { 
    @android.webkit.JavascriptInterface <methods>; 
} 

-keepattributes JavascriptInterface 
-keepattributes *Annotation* 

-dontwarn com.razorpay.** 
-keep class com.razorpay.** {*;} 

-optimizations !method/inlining/* 

-keepclasseswithmembers class * { 
    public void onPayment*(...); 
} 

-keep @interface butterknife.* 

-keepclasseswithmembers class * { 
    @butterknife.* <fields>; 
} 

-keepclasseswithmembers class * { 
    @butterknife.* <methods>; 
} 

-keepclasseswithmembers class * { 
    @butterknife.On* <methods>; 
} 

-keep class **$$ViewInjector { 
    public static void inject(...); 
    public static void reset(...); 
} 

-keep class **$$ViewBinder { 
    public static void bind(...); 
    public static void unbind(...); 
} 



-keep class com.google.common.** {*;} 


-dontwarn sun.misc.Unsafe 
-dontwarn javax.annotation.** 

のGradleファイル

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "com.company.projectname" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

repositories { 
    mavenCentral() 
} 


dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.razorpay:checkout:1.2.1' 
    compile 'com.android.support:appcompat-v7:25.1.0' 
    compile 'com.jakewharton:butterknife:8.5.1' 
    compile 'jp.wasabeef:picasso-transformations:2.1.0' 
    compile 'com.makeramen:roundedimageview:2.3.0' 
    compile 'com.github.greenfrvr:hashtag-view:1.2.1' 
    compile 'com.leaking.slideswitch:slideswitch:1.0.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'uk.co.chrisjenx:calligraphy:2.2.0' 
    compile 'com.android.volley:volley:1.0.0' 
    compile 'com.android.support:recyclerview-v7:25.1.0' 
    compile 'com.github.devlight:infinitecycleviewpager:1.0.2' 
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' 

    testCompile 'junit:junit:4.12' 
} 

プロジェクトレベルファイルXのMac OSを搭載したMacを使用してミリアンペア私のGradleとProGuardのルールを追加しました

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url 'https://dl.bintray.com/leaking/maven' 
     } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 
+0

あなたは 'clean project'と' build'を試したと思いますよね?プロジェクトレベルのGradleファイルを投稿 – azizbekian

+0

すぎ –

+0

は、はい、私は@azizbekian –

答えて

11

この問題非ASCIIクラス名を含むプロジェクトで発生するhereと参照されています。この問題は、バージョン2.4のgradle Androidプラグイン(現時点ではまだリリースされていません)から解決されます。

代替は2.2.3にダウングレードすることです:私は書き込みアクセスのみが管理ユーザーに与えられたのWindows上でプロジェクトをビルドして、Androidのスタジオがに開始されたときにこのエラーが起こった私にとって

classpath 'com.android.tools.build:gradle:2.2.3' 
+0

感謝を追加することを試みたが、これは私を救いました。どうもありがとう。 –

+0

のためのプロジェクトのGradleに – nullvoid

+3

これらの非ASCII文字は、Razorpayの依存関係から来ています。コードをチェックすると、ASCII以外の文字を使用する難読化を使用しています。彼らはSDKをより解読しにくくするために苦労しているようだ。XD – rakshakhegde

0

通常モード(管理者モードではない)。 「管理者として実行」のAndroidスタジオを起動すると、書き込みアクセスが可能になり、.apkが正常に生成されました。

関連する問題