Я хочу обфускать мой .apk, и у меня возникают проблемы с Proguard. Использование Eclipse Я включил этот:Android Proguard ExceptionInInitializerError и RuntimeException
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Я использую 4 внешних LIBS:
- андроид-поддержка-v4.jar
- девять-старый андроид-lib.jar
- gson-2.2.2.jar
- Обще-ю-2.4.jar
Я предполагаю, что у меня возникают проблемы с gson:
private static Type MY_DATA_TYPE = new TypeToken<Pair<Map<Point, Void>, Integer>>() {}.getType();
Каждый раз, когда я использую его:
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError at com.myapp.MyActivity.onCreate(Unknown Source)
...
Caused by: java.lang.RuntimeException: Missing type parameter.
at com.google.gson.reflect.TypeToken.getSuperclassTypeParameter(Unknown Source)
at com.google.gson.reflect.TypeToken.<init>(Unknown Source)
Я использую этот вариант, но я предполагаю, что это не поможет:
-keepattributes Exceptions, InnerClasses, *Annotation*, EnclosingMethod
-dontskipnonpubliclibraryclassmembers
-libraryjars .../libs/android-support-v4.jar
-libraryjars .../libs/nine-old-android-lib.jar
-libraryjars .../libs/gson-2.2.2.jar
-libraryjars .../libs/commons-io-2.4.jar
-keep class java.** { *; }
-keep class android.** { *; }
-keep class org.** { *; }
-keep class com.google.** { *; }
-keep class com.facebook.** { *; }
-keep class com.nineoldandroids.** { *; }
Как я могу решить эту проблему и создать обфускацию .apk, которая работает правильно?
Спасибо за ваше время.
Я использую ... Тип Тип = новый TypeToken >>() {} .getType(); .. который дает мне этот список, но я получаю объект Station null, что мне делать –