错误:任务":应用:包发布"的执行失败。> java.io.IOException:无法读取 zip 文件



当我尝试构建发布版本时,我收到以下错误。我正在使用安卓工作室 2.3 .我已经在下面添加了我的 gradle 和 proguard 规则文件,我使用 mac 和 mac os X

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'.

专业保护规则文件

-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.**

格拉德尔文件

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'
}

项目级毕业

// 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
}

此处引用了此问题,该问题发生在包含非 ASCII 类名的项目中。此问题将从 gradle Android 插件的 2.4 版(目前尚未发布)中得到解决。

另一种方法是降级到 2.2.3 :

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

对我来说,当我在Windows上构建项目时,此错误发生了,其中写入权限仅授予管理员用户,并且Android studio以常规模式(不是管理员模式)启动。当我使用"以管理员身份运行"启动 Android 工作室时,写入访问权限可用,并且成功生成.apk。

相关内容

最新更新