Proguard错误日志提供错误的库/类名

时间:2016-04-25 13:03:30

标签: java android ide proguard android-proguard

我一直在尝试使用Proguard生成一个APK,每次出现此错误。它警告我一些我无法找到的内部类别,并且名称似乎被混淆如下:

  

类错误:(b.a.a.a.a.b.o)

这是我的proguard文件:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-verbose
-dontpreverify
#-dontshrink
#-dontoptimize
-keepattributes *Annotation*, Exceptions, Signature, Deprecated, SourceFile, SourceDir, LineNumberTable, LocalVariableTable, LocalVariableTypeTable, Synthetic, EnclosingMethod, RuntimeVisibleAnnotations, RuntimeInvisibleAnnotations, RuntimeVisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations, AnnotationDefault, InnerClasses

-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 com.android.vending.licensing.ILicensingService

-keep class android.content.Context {
    public java.io.File getExternalCacheDir();
}

-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*(...);
}

-dontwarn java.awt.**
-keep class java.awt.** { *; }

-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }

-dontwarn com.viewpagerindicator.**

# Allow obfuscation of android.support.v7.internal.view.menu.**
# to avoid problem on Samsung 4.2.2 devices with appcompat v21
# see https://code.google.com/p/android/issues/detail?id=78377
# see http://stackoverflow.com/questions/24809580/noclassdeffounderror-android-support-v7-internal-view-menu-menubuilder

-keep class !android.support.v7.internal.view.menu.*MenuBuilder*, android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

##################
#.___ My project name __.#
##################

-keep public class com.myprojectname.** { public *; }
-dontwarn com.myprojectname.**

##################
#.___ Amplitude __.#
##################

-dontwarn okio.**
-keep class okio.** { *; }

#-dontwarn android.util.FloatMath
-keep class android.util.FloatMath { *; }

##################
#.___ Glide __.#
##################

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
    **[] $VALUES;
    public *;
}

##################
#.___ JavaCV __.#
##################

-dontwarn org.bytedeco.javacv.**
-keep class org.bytedeco.javacv.** { *; }

-dontwarn org.bytedeco.javacpp.**
-keep class org.bytedeco.javacpp.** { *; }

-keep @org.bytedeco.javacpp.annotation interface * { *; }

-keep @org.bytedeco.javacpp.annotation.Platform public class *

-keep @interface org.bytedeco.javacpp.annotation.*,javax.inject.*

-keepclasseswithmembernames class * {
    @org.bytedeco.* <fields>;
}

-keepclasseswithmembernames class * {
    @org.bytedeco.* <methods>;
}

##################
#.___ Facebook __.#
##################

-keep class com.facebook.** { *; }

##################
#.___ Twitter __.#
##################

-keepclassmembers class com.mopub.** { public *; }
-keep public class com.mopub.**
-keep public class android.webkit.JavascriptInterface {}

-keep class * extends com.mopub.mobileads.CustomEventBanner {}
-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 {*;}

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

-dontwarn twitter4j.**
-keep class twitter4j.** { *; }

##################
#.___ MP4Parser __.#
##################

-keep class * implements com.coremedia.iso.boxes.Box { *; }

-dontwarn com.coremedia.iso.boxes.**
-keep class com.coremedia.iso.boxes.** { *; }

-dontwarn com.googlecode.mp4parser.authoring.tracks.mjpeg.**
-keep class com.googlecode.mp4parser.authoring.tracks.mjpeg.** { *; }

-dontwarn com.googlecode.mp4parser.authoring.tracks.ttml.**
-keep class com.googlecode.mp4parser.authoring.tracks.ttml.** { *; }

##################
#.___ Crashlitics __.#
##################

-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

这是我得到的完整错误日志:

  

错误:警告:忽略匿名内部的InnerClasses属性   类错误:(b.a.a.a.a.b.o)没有出现错误:关联   EnclosingMethod属性。这堂课可能是由一个   错误:未针对现代.class文件格式的编译器。该   建议错误:解决方案是从源代码重新编译类,   使用最新的编译器错误:并且没有指定任何   &#34; -target&#34;类型选项。忽略错误的结果:此警告   这个类的反射操作会不正确   错误:表明是内部类。错误:警告:   忽略匿名内部类的InnerClasses属性   错误:(b.a.a.a.a.b.n)没有出现错误:关联   EnclosingMethod属性。这堂课可能是由一个   错误:未针对现代.class文件格式的编译器。该   建议错误:解决方案是从源代码重新编译类,   使用最新的编译器错误:并且没有指定任何   &#34; -target&#34;类型选项。忽略错误的结果:此警告   这个类的反射操作会不正确   错误:表明是内部类。错误:未捕获   转换错误:com.android.dx.cf.code.SimException:局部变量   type mismatch:尝试使用a设置或访问int类型的值   类型的局部变量   android.support.design.widget.CoordinatorLayout $即这是有症状的   .class转换工具忽略局部变量信息。   错误:未捕获的翻译错误:com.android.dx.cf.code.SimException:   局部变量类型不匹配:尝试设置或访问类型的值   使用int类型的局部变量浮点数。这是症状   .class忽略局部变量信息的转换工具。   错误:未捕获的翻译错误:com.android.dx.cf.code.SimException:   局部变量类型不匹配:尝试设置或访问类型的值   使用android.view.MotionEvent类型的局部变量浮点数。这是   忽略局部变量的.class转换工具的症状   信息。错误:未捕获的翻译错误:   com.android.dx.cf.code.SimException:局部变量类型不匹配:   尝试使用a设置或访问java.lang.Object类型的值   long类型的局部变量。这是.class的症状   忽略局部变量信息的转换工具。   错误:未捕获的翻译错误:com.android.dx.cf.code.SimException:   局部变量类型不匹配:尝试设置或访问类型的值   java.lang.Object使用int类型的局部变量。这是   忽略局部变量的.class转换工具的症状   信息。错误:未捕获的翻译错误:   com.android.dx.cf.code.SimException:局部变量类型不匹配:   尝试使用a设置或访问java.lang.Object类型的值   char类型的局部变量。这是.class的症状   忽略局部变量信息的转换工具。   错误:未捕获的翻译错误:com.android.dx.cf.code.SimException:   局部变量类型不匹配:尝试设置或访问类型的值   java.lang.Object使用int类型的局部变量。这是   忽略局部变量的.class转换工具的症状   信息。错误:未捕获的翻译错误:   com.android.dx.cf.code.SimException:局部变量类型不匹配:   尝试使用a设置或访问java.lang.Object类型的值   int类型的局部变量。这是.class的症状   忽略局部变量信息的转换工具。   错误:未捕获的翻译错误:com.android.dx.cf.code.SimException:   局部变量类型不匹配:尝试设置或访问类型的值   int使用类型的局部变量   android.support.v4.hardware.display.DisplayManagerCompat。这是   忽略局部变量的.class转换工具的症状   信息。错误:将字节码转换为dex时出错:原因:   java.lang.RuntimeException:翻译已被中断   错误:任务执行失败   &#39;:myprojectname:transformClassesWithDexForRelease&#39;

     
    

com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:     java.util.concurrent.ExecutionException:     com.android.ide.common.process.ProcessException:     org.gradle.process.internal.ExecException:进程&#39;命令     &#39; / usr / lib中/ JVM / JAVA -7-的openjdk-AMD64 / bin中/ JAVA&#39;&#39;完成非零     退出值2信息:BUILD FAILED

  

任何提示都会非常感激^ ^

1 个答案:

答案 0 :(得分:0)

我设法通过将构建变体从发行版更改为调试来获取正确的库名称。