无法在Android Studio中生成已签名的APK,'java.io.IOException' [英] Can't generate signed APK in Android Studio, 'java.io.IOException'

查看:197
本文介绍了无法在Android Studio中生成已签名的APK,'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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆