java.lang.NoSuchMethodException : [class android. app.Activity,int]

标签 java android proguard nosuchmethoderror

我正在开发一个使用 proguard 的 Android 应用程序,导出 apk 文件后,我的应用程序在启动屏幕上运行时崩溃。我已将错误日志以及 proguard.properties 和 proguard.txt 粘贴到此处。

 java.lang.RuntimeException: An error occured while executing doInBackground()
1   at android.os.AsyncTask$3.done(AsyncTask.java:300)
2   at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
3   at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
4   at java.util.concurrent.FutureTask.run(FutureTask.java:242)
5   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
6   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
7   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
8   at java.lang.Thread.run(Thread.java:841)
9   Caused by: java.lang.NoSuchFieldError: UNKNOWN
10  at java.lang.reflect.Method.getDefaultValue(Native Method)
11  at java.lang.reflect.Method.getDefaultValue(Method.java:353)
12  at libcore.reflect.AnnotationFactory.getElementsDescription(AnnotationFactory.java:75)
13  at libcore.reflect.AnnotationFactory.(AnnotationFactory.java:112)
14  at libcore.reflect.AnnotationFactory.createAnnotation(AnnotationFactory.java:94)
15  at java.lang.reflect.Field.getAnnotation(Native Method)
16  at java.lang.reflect.Field.getAnnotation(Field.java:209)
17  at com.b.a.d.f.a(Unknown Source)
18  at com.b.a.a.g.a(Unknown Source)
19  at com.b.a.a.g.a(Unknown Source)
20  at com.b.a.c.g.a(Unknown Source)
21  at com.b.a.b.k.a(Unknown Source)
22  at com.b.a.a.a.a.a(Unknown Source)
23  at com.b.a.a.a.a.b(Unknown Source)
24  at com.ziqitza.b.a.g(Unknown Source)
25  at com.ziqitza.e.i.a(Unknown Source)
26  at com.ziqitza.e.v.a(Unknown Source)
27  at com.ziqitza.e.v.doInBackground(Unknown Source)
28  at android.os.AsyncTask$2.call(AsyncTask.java:288)
29  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
30  ... 4 more

proguard-project.txt

 # To enable ProGuard in your project, edit project.properties
    # to define the proguard.config property as described in that file.
    #
    # Add project specific ProGuard rules here.
    # By default, the flags in this file are appended to flags specified
    # in ${sdk.dir}/tools/proguard/proguard-android.txt
    # You can edit the include path and order by changing the ProGuard
    # include property in project.properties.
    #
    # For more details, see   
    #   http://developer.android.com/guide/developing/tools/proguard.html

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

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

-dontwarn org.hamcrest.**
-keep class org.hamcrest.*{ *; }

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

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

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

-dontwarn com.coboltforge.**
-keep class com.bouncycastle.*{ *; }

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

-dontwarn eu.janmuller.**
-keep class eu.janmuller.*{ *; }

-dontwarn org.bouncycastle.**
-keep class org.bouncycastle.*{ *; }


# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

最佳答案

似乎有一个问题支持actionbarsherlock。阅读official documentation您必须将以下 proguard 规则包含在:

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

-keepattributes *Annotation*

但是,建议您现在使用新的 AppCompat Toolbar作为操作栏的替代品。而且,actionbarsherlock已被deprecated支持新的工具栏。

关于java.lang.NoSuchMethodException : [class android. app.Activity,int],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033651/

相关文章:

java - 如何使用 javax mail 归档电子邮件

android - 您需要在将应用上传到 google play 时向您的 APK 添加图标

java - Proguard 去除 Java 匿名类中的匿名类

java - 同一类中的两个构造函数具有不同的参数

java - 非 UTF 8 编码的 CSV 特殊字符问题

java - 覆盖同步锁中使用的变量是否会阻止其垃圾回收?

Java/Android : How do I simplify this complicated, 嵌套 if else 和 for 循环代码块?

android - 禁用触摸 Achartengine

android - Unity proguard:任务 ':transformClassesAndResourcesWithProguardForRelease'的执行失败

python - 使用 (apitoken/apikey) 自动上传 bugsense proguard 映射文件