Android Application se bloque après proguard de la dissimulation de l'

J'ai couru proguard outil sur mon app pour obscurcir. Je sais que lorsque l'obfuscation qui se produit proguard se rétrécit et optimise l'application comme il l'entend. Ainsi, après obscurcir l'application s'ouvre correctement et puis quand j'essaie de me connecter il se bloque. Le mieux que je pouvais faire était ce journal que j'ai eu le périphérique connecté.

10-03 11:12:47.384: E/AndroidRuntime(15058): FATAL EXCEPTION: AsyncTask #1
10-03 11:12:47.384: E/AndroidRuntime(15058): java.lang.RuntimeException: An error     occured while executing doInBackground()
10-03 11:12:47.384: E/AndroidRuntime(15058):    at     android.os.AsyncTask$3.done(AsyncTask.java:299)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at     java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.lang.Thread.run(Thread.java:856)
10-03 11:12:47.384: E/AndroidRuntime(15058): Caused by: java.lang.ExceptionInInitializerError
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.winwin.a.d.c.doInBackground(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.winwin.a.d.c.doInBackground(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-03 11:12:47.384: E/AndroidRuntime(15058):    ... 4 more
10-03 11:12:47.384: E/AndroidRuntime(15058): Caused by: java.lang.ExceptionInInitializerError
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.winwin.a.c.d.<clinit>(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    ... 8 more
10-03 11:12:47.384: E/AndroidRuntime(15058): Caused by: java.lang.ExceptionInInitializerError
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.b.a.c.ad.<clinit>(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    ... 9 more
10-03 11:12:47.384: E/AndroidRuntime(15058): Caused by: java.lang.NoSuchFieldError: ANY
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.lang.Class.getDeclaredAnnotation(Native Method)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.lang.Class.getAnnotation(Class.java:260)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.b.a.c.f.ag.<clinit>(Unknown Source)

J'avais pensé que ce serait parce que proguard avait supprimé certaines classes ou des méthodes jugées inutiles et donc causer le crash. Ce que j'ai fait, j'ai couru proguard, cette fois-ci, y compris

-dontobfuscate

j'ai donc voulu l'outil pour réduire et optimiser mais pas occulter pour que je puisse ensuite obtenir une lecture correcte de ce qui manquait. Cependant, lorsque j'ai généré le fichier apk à l'aide de l'outil cette fois, il a fonctionné à la perfection. Le problème étant qu'il n'était pas dissimulé.

Donc je ne sais pas quoi faire maintenant.

Quelqu'un a une idée?

*MODIFIER*

Voici mon fichier de config

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
Add any project specific keep options here:
-libraryjars libs/crashlytics.jar
-keep class com.facebook.** {
*;
}
-keepattributes Signature
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-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 all classes that might be used in XML layouts
-keep public class * extends android.view.View
-keep public class * extends android.app.Fragment
-keep public class * extends android.support.v4.Fragment
-keepattributes *Annotation*, EnclosingMethod
-keep class com.winwin.** { *; }
-keepnames class org.codehaus.jackson.** { *; }
-dontoptimize
-dontshrink
keep all public and protected methods that could be used by java reflection
-keepclassmembernames class * {
public protected <methods>;
}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-dontwarn **CompatHoneycomb
-dontwarn org.htmlcleaner.*
-dontwarn com.fasterxml.jackson.databind.ext.**
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 *;
}

==========================

Voici mon projet volet de l'explorateur


android-support-v7-appcompat /
ConverserSdk /
facebook /
google-play-services_lib /
bibliothèque /
Principal /
MainWs /
SlidingMenu


Donc mon principal est la personne à charge sur chacun des autres paquets.

Avez-vous des getter setter dans votre méthode doInBackground ?
Je n'ai pas de getter ou un setter à l'intérieur de la doInBackground() cependant il y a une erreur de vérification à l'intérieur de cette méthode, si il y a une erreur, je l'appel des méthodes qui ont setter..cela pourrait-il être un facteur?
Vous avez un peu de code (conjecture: certains d'objet JSON mappeur de bibliothèque), qui s'appuie sur la réflexion à l'accès d'annotations et de l'obfuscateur des pauses lors de la réflexion d'accès est utilisé. Vous devez ajouter -keepattributes *Annotation*,EnclosingMethod -keep class reflection.using.package.name.** { *; }
Ne pas ajouter de la classe à dissimuler dans votre proguard fichier, ajoutez la ligne contenant votre classe un nom de package. -keep class reflection.using.package.name.** { *; } dans votre proguard fichier.
Oui j'ai quelques JSON mappeur dans mon ne en arrière-plan. Où il dit: "gardez catégorie réflexion.à l'aide de.package..**' Puis-je modifier cela en " - classe de subsistance de la réflexion.à l'aide de.com.DJ-DOO..**'?

OriginalL'auteur DJ-DOO | 2013-10-03