无法在Android Studio中生成已签名的APK,'java.io.IOException' [英] Can't generate signed APK in Android Studio, 'java.io.IOException'
问题描述
我在Android Studio中生成签名APK时遇到问题。前几天工作正常,我不知道哪里出了问题。警告:处理任务时出现异常java.io.IOException(错误)处理任务java.io.IOException :无法写[/Users/bhaveshmisri/Downloads/littleone-dagger-mvp/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar](无法读取[/用户/ bhaveshmisri / Downloads / littleone-dagger-mvp / app / build / intermediates / transforms / RealmTransformer / release / folders / 1/1 / realm(;;;;;. **。class)](Can not read [com] (无法读取[crashlytics](无法读取[android](无法读取[答案](无法读取[shim](无法读取[R.class](重复的zip条目[com / crashlytics /android/answers/shim/R.class]))))))))
这是我的buildTypes任务: p>
buildTypes {
debug {
shrinkResources false //这必须是第一个
minifyEnabled false //这必须在shrinkResources
multiDexEnabled true
proguardFil之后es getDefaultProguardFile(proguard-android.txt),proguard-rules-debug.pro
}
release {
shrinkResources true
minifyEnabled true
useProguard true
multiDexEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),proguard-rules.pro
}
}
以下是我在proguard文件中编写的代码:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations!code / simplification / arithmetic,!field / * ,! class / merging / *
-allowaccessmodification
-keepattributes *注释*
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-keepa ttributes签名
-keepattributes异常
-repackageclasses''
-keep public class * extends android.app.Activity
-keep public class * extends android.app。应用程序
-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.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.app。
-keep public class com.android.vending.licensing.ILicensingService
-keep class com.google.common.collect.MapMakerInternalMap $ ReferenceEntry
-keep class com.google。 common.cache.LocalCache $ ReferenceEntry
-dontnote com.android.vending.licensing.ILicensingService
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private 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();
}
-keepclasseswithmembernames class * {
native< methods> ;;
-keepclasseswithmembernames class * {
public< init>(android.content.Context,android.util.AttributeSet);
-keepclasseswithmembernames class * {
public< init>(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers class **。R $ * {
public static< fields> ;;
}
-keepclassmembers enum * {
public static ** [] values();
public static ** valueOf(java.lang.String);
}
-keep public class * {
public protected *;
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable $ Creator *;
}
-dontwarn android.support.v7。**
-keep class android.support.v7。** {*; }
-keep interface android.support.v7。* {*; }
-keepattributes *注解,签名
-dontwarn in.mylo.pregnancy.baby.app。**
-keep class in.mylo.pregnancy.baby.app.shapeimageview。** {*; }
-keep class android.support.v4.app。** {*; }
-keep interface android.support.v4.app。** {*; }
-keep interface com.actionbarsherlock。** {*; }
-keep class butterknife。*
-keepclasseswithmembernames class * {
@ butterknife。*< methods>; }
-keepclasseswithmembernames class * {
@ butterknife。*< fields>; }
-dontwarn javax.annotation。**
-dontwarn javax.inject。**
-dontwarn sun.misc.Unsafe
-dontwarn java.lang.ClassValue
-dontwarn com.google.j2objc.annotations.Weak
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser $ ** {
** [] $价值;
public *;
}
-twtwarn com.firebase。**
-dontnote com.firebase.client.core.GaePlatform
-keep class com.firebase 。** {*; }
-keepnames class com.fasterxml.jackson。** {*; }
-keepnames class javax.servlet。** {*; }
-keepnames class org.ietf.jgss。** {*; }
-dontwarn com.clevertap.android.sdk。**
--keep class okhttp3。** {*; }
-keep接口okhttp3。** {*; }
-dontwarn okhttp3。**
-dontnote okhttp3。**
-keep class sun.misc.Unsafe {*; }
-dontwarn java.nio.file。*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static ** [] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable $ Creator CREATOR;
}
-keepclassmembers class **。R $ * {
public static< fields> ;;
}
-dontwarn android.support。**
-dontwarn com.google.android.gms。**
- dontwarn com.fasterxml。**
-dontwarn okio。**
-twittwarn com.caverock。**
-twtwarn com.github.siyamed.shapeimageview。**
-twtwarn改造。**
- 保持改型。** {*; }
-dontwarn sun.misc.Unsafe
-dontwarn com.octo.android.robospice.retrofit.RetrofitJackson **
-twittwarn retrofit.appengine.UrlFetchClient
-keepattributes签名
-keepattributes异常
-keepclasseswithmembers类* {
@ retrofit.http。*< methods> ;;
}
-keep class com.google.gson。** {*; }
-keep class com.google.inject。** {*; }
-keep class org.apache.http。** {*; }
-keep class org.apache.james.mime4j。** {*; }
-keep class javax.inject。** {*; }
-keep class retrofit。** {*; }
-keep class retrofit2。** {*; }
-dontwarn org.apache.http。**
-dontwarn android.net.http.AndroidHttpClient
-twtwarn改造。**
-twtwarn retrofit2。**
-dontwarn sun.misc。**
-keepclassmembers class rx.internal.util.unsafe。* ArrayQueue * Field * {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
long producerNode;
长的consumerNode;
}
-keep class in.mylo.pregnancy.baby.app.retrofit。** {*; }
-keep interface org.parceler.Parcel
-keep @ org.parceler.Parcel class * {*; }
-keep class ** $$ Parcelable {*; }
-keepnames public class * extends io.realm.RealmObject
-keep @ io.realm.annotations.RealmModule class *
-keep class io.realm。** { *; }
-dontwarn javax。**
-dontwarn io.realm。**
-keepnames public class * extends io.realm.RealmObject
-dontwarn com.google.android.gms.location。**
-twtwarn com.google.android.gms.gcm。**
-twtwarn com.google.android.gms。 iid。**
-keep class com.google.android.gms.gcm。** {*; }
-keep class com.google.android.gms.iid。** {*; }
-keep class com.google.android.gms.location。** {*; }
-keep class com.moe.pushlibrary.activities。** {*; }
-keep class com.moengage.locationlibrary.GeofenceIntentService
-keep class com.moe.pushlibrary.InstallReceiver
-keep class com.moengage.push.MoEPushWorker
-keep class com.moe.pushlibrary.providers.MoEProvider
-keep class com.moengage.receiver.MoEInstanceIDListener
-keep class com.moengage.worker.MoEGCMListenerService
-keep class com.moe.pushlibrary。 ** {*;}
-keep class com.moengage.core.GeoTask
-keep class com.moengage.location.GeoManager
-keep class com.moengage.inapp.InAppManager
-keep class com.moengage.push.PushManager
-keep class com.moengage.inapp.InAppController
-dontwarn com.moengage.location.GeoManager
-dontwarn com.moengage.core.GeoTask
-dontwarn com.moengage.receiver。*
-dontwarn com.moengage.worker。*
-dontwarn com.moengage.inapp。 ViewEngine
-keep class com.delight。** {*; }
-dontwarn com.google.android.gms.location。**
-keep class com.moe。** {*; }
-keep class com.moengage。** {*; }
-keep class com.delight。** {*; }
-keep class com.google.android.gms.ads。** {*; }
-keep class com.facebook。** {
*;
}
-dontwarn android.databinding。**
-keep class android.databinding。** {*; }
任何帮助表示感谢,提前致谢。
解决方案问题出现在答案库中。最新版本似乎有问题。当我将库降级到
compile('io.branch.sdk.android:library:2.5.9'){
排除模块:'answers-shim'
}
工作正常。
I have a problem with generating signed APK in Android Studio. It was working fine few days ago, I dont know what went wrong. I'm getting this error for any project I try to fgenerate signed APK of:
Warning:Exception while processing task java.io.IOException: Can't write [/Users/bhaveshmisri/Downloads/littleone-dagger-mvp/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar] (Can't read [/Users/bhaveshmisri/Downloads/littleone-dagger-mvp/app/build/intermediates/transforms/RealmTransformer/release/folders/1/1/realm(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))))
Here is my buildTypes Task:
buildTypes { debug { shrinkResources false // This must be first minifyEnabled false // This must be after shrinkResources multiDexEnabled true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules-debug.pro" } release { shrinkResources true minifyEnabled true useProguard true multiDexEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro" } }
Here is the code I've written in proguard file:
-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify -verbose -dump class_files.txt -printseeds seeds.txt -printusage unused.txt -printmapping mapping.txt -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -allowaccessmodification -keepattributes *Annotation* -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -keepattributes Signature -keepattributes Exceptions -repackageclasses '' -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.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class * extends android.app. -keep public class com.android.vending.licensing.ILicensingService -keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry -keep class com.google.common.cache.LocalCache$ReferenceEntry -dontnote com.android.vending.licensing.ILicensingService -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private 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(); } -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class **.R$* { public static <fields>; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep public class * { public protected *; } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -dontwarn android.support.v7.** -keep class android.support.v7.** { *; } -keep interface android.support.v7.* { *; } -keepattributes *Annotation,Signature -dontwarn in.mylo.pregnancy.baby.app.** -keep class in.mylo.pregnancy.baby.app.shapeimageview.**{ *; } -keep class android.support.v4.app.** { *; } -keep interface android.support.v4.app.** { *; } -keep interface com.actionbarsherlock.** { *; } -keep class butterknife.* -keepclasseswithmembernames class * { @butterknife.* <methods>; } -keepclasseswithmembernames class * { @butterknife.* <fields>; } -dontwarn javax.annotation.** -dontwarn javax.inject.** -dontwarn sun.misc.Unsafe -dontwarn java.lang.ClassValue -dontwarn com.google.j2objc.annotations.Weak -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -keep public class * implements com.bumptech.glide.module.GlideModule -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -dontwarn com.firebase.** -dontnote com.firebase.client.core.GaePlatform -keep class com.firebase.** { *; } -keepnames class com.fasterxml.jackson.** { *; } -keepnames class javax.servlet.** { *; } -keepnames class org.ietf.jgss.** { *; } -dontwarn com.clevertap.android.sdk.** -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okhttp3.** -dontnote okhttp3.** -keep class sun.misc.Unsafe { *; } -dontwarn java.nio.file.* -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keepclassmembers class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator CREATOR; } -keepclassmembers class **.R$* { public static <fields>; } -dontwarn android.support.** -dontwarn com.google.android.gms.** -dontwarn com.fasterxml.** -dontwarn okio.** -dontwarn com.caverock.** -dontwarn com.github.siyamed.shapeimageview.** -dontwarn retrofit.** -keep class retrofit.** { *; } -dontwarn sun.misc.Unsafe -dontwarn com.octo.android.robospice.retrofit.RetrofitJackson** -dontwarn retrofit.appengine.UrlFetchClient -keepattributes Signature -keepattributes Exceptions -keepclasseswithmembers class * { @retrofit.http.* <methods>; } -keep class com.google.gson.** { *; } -keep class com.google.inject.** { *; } -keep class org.apache.http.** { *; } -keep class org.apache.james.mime4j.** { *; } -keep class javax.inject.** { *; } -keep class retrofit.** { *; } -keep class retrofit2.** { *; } -dontwarn org.apache.http.** -dontwarn android.net.http.AndroidHttpClient -dontwarn retrofit.** -dontwarn retrofit2.** -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef { long producerNode; long consumerNode; } -keep class in.mylo.pregnancy.baby.app.retrofit.** { *; } -keep interface org.parceler.Parcel -keep @org.parceler.Parcel class * { *; } -keep class **$$Parcelable { *; } -keepnames public class * extends io.realm.RealmObject -keep @io.realm.annotations.RealmModule class * -keep class io.realm.** { *; } -dontwarn javax.** -dontwarn io.realm.** -keepnames public class * extends io.realm.RealmObject -dontwarn com.google.android.gms.location.** -dontwarn com.google.android.gms.gcm.** -dontwarn com.google.android.gms.iid.** -keep class com.google.android.gms.gcm.** { *; } -keep class com.google.android.gms.iid.** { *; } -keep class com.google.android.gms.location.** { *; } -keep class com.moe.pushlibrary.activities.** { *; } -keep class com.moengage.locationlibrary.GeofenceIntentService -keep class com.moe.pushlibrary.InstallReceiver -keep class com.moengage.push.MoEPushWorker -keep class com.moe.pushlibrary.providers.MoEProvider -keep class com.moengage.receiver.MoEInstanceIDListener -keep class com.moengage.worker.MoEGCMListenerService -keep class com.moe.pushlibrary.models.** { *;} -keep class com.moengage.core.GeoTask -keep class com.moengage.location.GeoManager -keep class com.moengage.inapp.InAppManager -keep class com.moengage.push.PushManager -keep class com.moengage.inapp.InAppController -dontwarn com.moengage.location.GeoManager -dontwarn com.moengage.core.GeoTask -dontwarn com.moengage.receiver.* -dontwarn com.moengage.worker.* -dontwarn com.moengage.inapp.ViewEngine -keep class com.delight.** { *; } -dontwarn com.google.android.gms.location.** -keep class com.moe.** { *; } -keep class com.moengage.** { *; } -keep class com.delight.** { *; } -keep class com.google.android.gms.ads.** { *; } -keep class com.facebook.** { *; } -dontwarn android.databinding.** -keep class android.databinding.** { *; }
Any help appreciated, thanks in advance.
解决方案The problem was in answers library. There seems to be a problem in the latest version. When i downgrade the library to
compile('io.branch.sdk.android:library:2.5.9') { exclude module: 'answers-shim' }
it works fine.
这篇关于无法在Android Studio中生成已签名的APK,'java.io.IOException'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!