Android studio Can';t生成有符号APk 这是我的Proguard文件: -不要优化 -dontusemixedcaseclassnames -DontskipnonPublicLibraryClass -dontskipnonpubliclibrarycla
Can';t生成有符号APkAndroid studio Can';t生成有符号APk 这是我的Proguard文件: -不要优化 -dontusemixedcaseclassnames -DontskipnonPublicLibraryClass -dontskipnonpubliclibrarycla,android-studio,google-api-client,signed-apk,Android Studio,Google Api Client,Signed Apk,Can';t生成有符号APk 这是我的Proguard文件: -不要优化 -dontusemixedcaseclassnames -DontskipnonPublicLibraryClass -dontskipnonpubliclibraryclassmembers -不要翻转 -冗长的 -优化!代码/简化/算术,!字段/*,!类/合并/* -dump class_files.txt -printseeds.txt -printusage unused.txt -printmapping
-不要优化
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-dontskipnonpubliclibraryclassmembers
-不要翻转
-冗长的
-优化!代码/简化/算术,!字段/*,!类/合并/*
-dump class_files.txt
-printseeds.txt
-printusage unused.txt
-printmapping.txt
-重命名SourceFileAttribute源文件
-keepattributes源文件,LineNumberTable
-keepattributes*注释*,封闭方法
-保留署名
-忽视警告
-KeepAttribute签名、运行时VisibleAnnotations、AnnotationDefault
-keepclassmembers类*{
@com.google.api.client.util.Key;
}
-dontwarn sun.misc
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-dontwarn com.google.api.client.extensions.android**
-dontwarn com.google.api.client.googleapis.extensions.android**
-保留@interface com.google.gson.annotations.SerializedName
-keepattributes*注释*
-保持类com.google.inject.*{*;}
-保持类javax.inject.*{*;}
-保留类javax.annotation.*{*;}
-保持公共类Pokoto。**{
公共无效集*(***);
公众***获得*();
}
-保持类com.firebase.*{*;}
-dontwarn com.fasterxml**
#----预测-开始
-不要说预言**
-dontwarn也有同样的预感**
-dontwarn org.codehaus**
-保留署名
-保持类共享_presage.*{*}
-保持类io.presage.*{*;}
-keepclassmembers类io.presage.*{
*;
}
-keepattributes*注释*
-keepattributes JavascriptInterface
-keepclassmembers类*{
@android.webkit.JavascriptInterface;
}
#----OKHTTP
-不要忘记okhttp3**
-多诺特·奥基奥**
-dontwarn okhttp3**
-唐特沃恩·奥基奥**
-dontnote sun.misc
-dontnote android.net.http*
-dontnote org.apache.commons.codec**
-dontnote org.apache.http**
-dontwarn org.apache.commons.collections.BeanMap
-dontwarn java.bean**
#----谷歌
-dontnote com.google.gson**
-dontnote com.google.android.gms.ads**
-dontnote com.google.android**
-dontnote com.google.ads**
-keepclassmembers类*实现java.io.Serializable{
静态最终长SerialVersionId;
私有静态final java.io.ObjectStreamField[]serialPersistentFields;
私有void writeObject(java.io.ObjectOutputStream);
私有void readObject(java.io.ObjectInputStream);
java.lang.Object WriterReplace();
java.lang.Object readResolve();
}
#----预兆-结束
#----亚马逊
-dontwarn com.amazon**
-保持类com.amazon.*{*;}
-keepattributes*注释*
-保持公共类com.google.android.youtube.player.*{*;}
#sqlcipher
-保持类net.sqlcipher.*{*;}
-保留类net.sqlcipher.database.*{*;}
##---------------开始:结构的配置----------
-保持类com.crashlytics.*{*;}
-dontwarn com.crashlytics**
##---------------结束:结构的配置----------
##---------------开始:mopub配置----------
-keepclassmembers类com.mopub.*{public*;}
-保持公共类com.mopub**
-保持公共类android.webkit.JavascriptInterface{}
-keep class*扩展com.mopub.mobileads.CustomEventBanner{}
-keepclassmembers类com.mopub.mobileads.CustomEventBannerAdapter{!private!public!protected*;}
-keep类*扩展com.mopub.mobileads.CustomEventInterstitual{}
-keep class*扩展com.mopub.mobileads.CustomEventNative{}
-保持类com.google.android.gms.common.GooglePlayServicesUtil{*;}
-保持类com.google.android.gms.ads.identifier.advisingidClient{*;}
-keep class com.google.android.gms.ads.identifier.advisingidClient$Info{*;}
##---------------结束:mopub配置----------
##---------------开始:滑翔机的proguard配置----------
-keep public类*实现com.bumptech.glide.module.GlideModule
-保持公共枚举com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$**{
**[]美元价值;
公众*;
}
##---------------结束:滑动的proguard配置----------
##---------------开始:okHTTP的proguard配置----------
-保留署名
-keepattributes注释
-保持类okhttp3.*{*;}
-保持接口okhttp3.*{*;}
-dontwarn okhttp3。
-唐特沃恩·奥基奥**
##---------------结束:okHTTP的proguard配置----------
##---------------开始:Gson的proguard配置----------
#Gson在处理字段时使用存储在类文件中的泛型类型信息。前卫
#默认情况下删除此类信息,因此将其配置为保留所有信息。
-保留署名
#用于使用GSON@Expose注释
-keepattributes*注释*
#Gson特定类
-保持类sun.misc.Unsafe{*;}
-保持类com.google.gson.stream.*{*;}
#将通过Gson进行序列化/反序列化的应用程序类
-保持类com.google.gson.examples.android.model.*{*;}
#防止proguard从TypeAdapterFactory中剥离接口信息,
#JsonSerializer、JsonDeserializer实例(因此可以在@JsonAdapter中使用)
-keep类*实现com.google.gson.TypeAdapterFactory
-keep class*实现com.google.gson.JsonSerializer
-keep类*实现com.google.gson.JsonDeserializer
#添加gson类
-保持公共类com.google.gson
##---------------结束:Gson的proguard配置----------
##番石榴
-保留com.google.common.io.Resources类{
公共静态;
}
-保留com.google.common.collect.list类{
公共静态**反向(**);
}
-保留com.google.common.base.charset类{
公共静态;
}
-保留com.google.common.base.Joiner类{
公共静态接合器(串);
公众**加入(…);
}
-保留com.google.common.collect.MapMakerInternalMap$ReferenceEntry类
-保留类com.google.common.cache.LocalCache$ReferenceEntry
-dontwarn sun.misc
-dontwarn javax.annotation**
-保留类com.google.j2objc.annotations.*{*;}
-d
-dontoptimize
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-keepattributes *Annotation*,EnclosingMethod
-keepattributes Signature
-ignorewarnings
-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault
-keepclassmembers class * {
@com.google.api.client.util.Key <fields>;
}
-dontwarn sun.misc.Unsafe
-dontwarn com.google.common.collect.MinMaxPriorityQueue
-dontwarn com.google.api.client.extensions.android.**
-dontwarn com.google.api.client.googleapis.extensions.android.**
-keep @interface com.google.gson.annotations.SerializedName
-keepattributes *Annotation*
-keep class com.google.inject.** { *; }
-keep class javax.inject.** { *; }
-keep class javax.annotation.** { *; }
-keep public class Pokoto.** {
public void set*(***);
public *** get*();
}
-keep class com.firebase.** { *; }
-dontwarn com.fasterxml.**
# ---- PRESAGE - start
-dontnote io.presage.**
-dontwarn shared_presage.**
-dontwarn org.codehaus.**
-keepattributes Signature
-keep class shared_presage.** { *; }
-keep class io.presage.** { *; }
-keepclassmembers class io.presage.** {
*;
}
-keepattributes *Annotation*
-keepattributes JavascriptInterface
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
# ---- OKHTTP
-dontnote okhttp3.**
-dontnote okio.**
-dontwarn okhttp3.**
-dontwarn okio.**
-dontnote sun.misc.Unsafe
-dontnote android.net.http.*
-dontnote org.apache.commons.codec.**
-dontnote org.apache.http.**
-dontwarn org.apache.commons.collections.BeanMap
-dontwarn java.beans.**
# ---- GOOGLE
-dontnote com.google.gson.**
-dontnote com.google.android.gms.ads.**
-dontnote com.google.android.**
-dontnote com.google.ads.**
-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();
}
# ---- PRESAGE - end
# ---- amazon
-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *Annotation*
-keep public class com.google.android.youtube.player.** { *; }
#sqlcipher
-keep class net.sqlcipher.** { *; }
-keep class net.sqlcipher.database.* { *; }
##---------------Begin: configuration for Fabric ----------
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
##---------------End: configuration for Fabric ----------
##---------------Begin: mopub configuration ----------
-keepclassmembers class com.mopub.** { public *; }
-keep public class com.mopub.**
-keep public class android.webkit.JavascriptInterface {}
-keep class * extends com.mopub.mobileads.CustomEventBanner {}
-keepclassmembers class com.mopub.mobileads.CustomEventBannerAdapter {!private !public !protected *;}
-keep class * extends com.mopub.mobileads.CustomEventInterstitial {}
-keep class * extends com.mopub.mobileads.CustomEventNative {}
-keep class com.google.android.gms.common.GooglePlayServicesUtil {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {*;}
##---------------End: mopub configuration ----------
##---------------Begin: proguard configuration for GLIDER ----------
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
##---------------End: proguard configuration for GLIDE ----------
##---------------Begin: proguard configuration for okHTTP ----------
-keepattributes Signature
-keepattributes Annotation
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.
-dontwarn okio.**
##---------------End: proguard configuration for okHTTP ----------
##---------------Begin: proguard configuration for Gson ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
# Add the gson class
-keep public class com.google.gson
##---------------End: proguard configuration for Gson ----------
## guava
-keep class com.google.common.io.Resources {
public static <methods>;
}
-keep class com.google.common.collect.Lists {
public static ** reverse(**);
}
-keep class com.google.common.base.Charsets {
public static <fields>;
}
-keep class com.google.common.base.Joiner {
public static Joiner on(String);
public ** join(...);
}
-keep class com.google.common.collect.MapMakerInternalMap$ReferenceEntry
-keep class com.google.common.cache.LocalCache$ReferenceEntry
-dontwarn sun.misc.Unsafe
-dontwarn javax.annotation.**
-keep class com.google.j2objc.annotations.** { *; }
-dontwarn com.google.j2objc.annotations.**
-keep class java.lang.ClassValue { *; }
-dontwarn java.lang.ClassValue
-keep class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement { *; }
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
# Guava 20.0
-dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue
-dontwarn com.google.errorprone.annotations.concurrent.LazyInit
-dontwarn com.google.errorprone.annotations.ForOverride
## end guava
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
# Keep SafeParcelable value, needed for reflection. This is required to support backwards
# compatibility of some classes.
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
# Keep the names of classes/members we need for client functionality.
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
# Needed for Parcelable/SafeParcelable Creators to not get stripped
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
-dontwarn sun.misc.Unsafe
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
-keep class android.webkit.WebSettings
-dontwarn android.webkit.WebSettings
-keep class android.content.pm.PackageInstaller
-keep class android.content.pm.PackageInstaller$SessionInfo
-keep class android.content.pm.PackageManager
-dontwarn android.content.pm.PackageInstaller
-dontwarn android.content.pm.PackageInstaller$SessionInfo
-dontwarn android.content.pm.PackageManager
# AppCompat
-keep class android.support.v7.app.** { *; }
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.facebook.** {
*;
}
-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.view.View
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-keep public class custom.components.**
#Maintain java native methods
-keepclasseswithmembernames class * {
native <methods>;
}
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
}
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# Also keep - Enumerations. Keep the special static
# methods that are required in enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
#To keep parcelable classes (to serialize - deserialize objects to sent through Intents)
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
#Keep the R
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep public class * {
public protected *;
}
compile 'com.google.android.gms:play-services-identity:11.0.1'
compile 'com.google.android.gms:play-services-gcm:11.0.1'
compile 'com.google.android.gms:play-services-location:11.0.1'
compile 'com.google.android.gms:play-services-analytics:11.0.1'
apply plugin: 'com.google.gms.google-services'