Usman Khan
Usman Khan

Reputation: 3953

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

I am developing an Android application in which I am using proguard, after exporting apk file my application crash on run time on the splash screen. I have paste the log for the error here along with my proguard.properties and 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 *;
#}

Upvotes: 0

Views: 1829

Answers (1)

Andrei Catinean
Andrei Catinean

Reputation: 883

It seems there is a problem pro-guarding actionbarsherlock. Reading the official documentation you have to include the following proguard rules in:

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

-keepattributes *Annotation*

However, it is advisable that you now use the new AppCompat Toolbar as a replace for your action bar. Moreover, actionbarsherlock has been deprecated in favour of the new Toolbar.

Upvotes: 1

Related Questions