2015-05-04 2 views
0

Я разрабатываю приложение для Android, в котором я использую proguard, после экспорта файла apk мой компьютер сбой при запуске на заставке. Я ввел журнал для ошибки здесь вместе с моими proguard.properties и proguard.txt.java.lang.NoSuchMethodException: [класс android.app.Activity, int]

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 *; 
#} 

ответ

1

Кажется, есть проблема, про охрану 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 в пользу новой панели инструментов.

+0

благодарит за ответ. Я просто поместил эти строки кода в свой существующий Proguard-project-properties.txt, а затем получил эти ошибки. Я отредактировал свой вопрос с этими новыми ошибками, пожалуйста, помогите мне здесь. –

+0

Попробуйте добавить эти правила: '-keep class javax.annotation. ** {; } ' ' -keepclassmembers class javax.annotation. * {*; } ' –

Смежные вопросы