当我尝试构建发布版本时,我收到以下错误。我正在使用android studio 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'.
proguard rules file
-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'
}
项目级别gradle
// 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 :(得分:11)
此问题在项目中引用here,包括非ASCII类名。该问题将从Gradle Android插件版本2.4(目前尚未发布)中解决。
另一种方法是降级到2.2.3:
classpath 'com.android.tools.build:gradle:2.2.3'
答案 1 :(得分:0)
对我来说,这个错误发生在我在Windows上构建项目时,只有管理员用户才能进行写访问,而Android工作室是以常规模式(非管理员模式)启动的。当我使用“以管理员身份运行”启动Android工作室时,可以使用写访问权限并成功生成.apk。