当前位置: 首页 > 知识库问答 >
问题:

ProGuard错误日志给出错误的库/类名

阚正真
2023-03-14

我试图用< code>Proguard生成一个APK,每次都出现这个错误。它警告我一些我找不到的内部类,并且名称看起来很模糊,如下所示:

类错误:(b . a . 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.**

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

错误:警告:忽略匿名内部类的“内部类”属性 错误:(b.a.a.a.a.b.o) 未附带“错误:关联的封闭方法”属性。此类可能是由 Error:编译器生成的,该编译器不以现代.class文件格式为目标。建议的 Error:solution 是使用最新的编译器 Error:从源代码重新编译类,并且不指定任何“-target”类型选项。忽略 Error:此警告的后果是,对此类的反射操作将错误地错误地 Error:指示它不是内部类。错误:警告:忽略匿名内部类的“内部类”属性 错误:(b.a.a.a.a.b.n) 未附带“错误:关联的封闭方法”属性。此类可能是由 Error:编译器生成的,该编译器不以现代.class文件格式为目标。建议的 Error:solution 是使用最新的编译器 Error:从源代码重新编译类,并且不指定任何“-target”类型选项。忽略错误:此警告的后果是,对此类的反射操作将错误地错误 错误:指示它不是内部类 错误:未捕获的转换错误: com.android.dx.cf.code.Sim异常: 局部变量类型不匹配: 尝试使用 android.support.design.widget.CoordinatorLayout$e 类型的局部变量来设置或访问 int 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的转换错误: com.android.dx.cf.code.Sim异常: 局部变量类型不匹配: 尝试使用 int 类型的局部变量设置或访问浮点型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的转换错误: 中文: 局部变量类型不匹配: 尝试使用Android.view.Motion 事件的局部变量设置或访问浮点型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: 中文:局部变量类型不匹配:尝试使用长类型的局部变量设置或访问 java.lang.Object 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: 中文:本地变量类型不匹配:尝试使用 int 类型的局部变量设置或访问 java.lang.Object 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: 中文:局部变量类型不匹配:尝试使用字符类型的局部变量设置或访问 java.lang.Object 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: 中文:本地变量类型不匹配:尝试使用 int 类型的局部变量设置或访问 java.lang.Object 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: 中文:本地变量类型不匹配:尝试使用 int 类型的局部变量设置或访问 java.lang.Object 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:未捕获的翻译错误: com.android.dx.cf.code.sim异常: 局部变量类型不匹配: 尝试使用类型为 int 的局部变量设置或访问 int 类型的值。这是.class忽略局部变量信息的变换工具的症状。错误:将字节码转换为 dex 时出错:原因:java.lang.运行时异常:翻译已中断 错误:任务“:我的项目名:转换类与Dex发布”的html" target="_blank">执行失败。

com . Android . BUILD . API . transform . transform exception:com . Android . ide . common . Process . Process exception:Java . util . concurrent . execution exception:com . Android . ide . common . Process . Process exception:org . grad le . Process . internal . exec exception:Process ' command '/usr/lib/JVM/Java-7-open JDK-amd64/bin/Java ' '以非零退出值完成2信息:构建失败

任何提示将不胜感激^^

共有1个答案

袁永贞
2023-03-14

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

 类似资料:
  • **构建指纹:“小米/markw/markw:6.0.1/mmb29m/v8.2.4.0.mbemidl:user/release-keys”版本:“0”abi:“arm”pid:15075,tid:15115,名称:Thread-10486 com.mynamespace.myapp<<<信号6(SIGABRT),代码-6(SI_TKILL),故障地址-------中止消息:'art/runti

  • 问题内容: 我创建了一些小的方法作为Util类,例如以下代码: 并且,进行了非常简单的运行,如下所示: 结果是一个很奇怪的日期-> 2017/07/187 搜索了类似的问题,并尝试了TimeZone,Locale,但没有帮助。有什么建议 ? 顺便说一句,这是我的环境: Windows7 x86 JDK 1.8.0.131 x86 Oxygen corrosion of x86 问题答案: 您格式化

  • http://gentle-wildwood-7307.herokuapp.com/ 应用程序是从C9(mysql数据库,而不是postgresql)部署的,下面是我的日志。不确定是什么问题。

  • 主要内容:启动和设置错误日志,查看错误日志,删除错误日志错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。 作为初学者,要学会利用错误日志来定位问题。下面介绍如何操作查看错误日志。 启动和设置错误日志 在 MySQL 数据库中,默认开启错误日志功能。一般情况下,错误日志存储在 MySQL 数据库的数据文件夹下,通常名称为 hostname.er

  • 简介 当你开始一个新的 Lumen 项目时,Lumen 已经帮你配置好错误和异常处理的操作。另外,Lumen 也集成了 Monolog 日志函数库,Monolog 支持和提供多种强大的日志处理功能。 有关日志的更多内容,请阅读 Laravel 的完整 日志文档.

  • 问题内容: 我有一个简单的方法,应该获取当前日期,将其放入某种格式,然后将其作为String返回。到目前为止,一切都很好(上次尝试于1月31日进行),但由于某种原因,当我今天尝试使用它时,它返回字符串“2013-02-43”。 显然,二月份没有43天,而且我不知道为什么要返回此日期。我到处都在寻找解决方案,但似乎没有一个适合我遇到的特定问题。这是代码: 仅出于记录目的,我尝试使用Calendar.