Android之-android-support-v4.jar的混淆问题
今天在打包混淆的时候,因为使用了android-support-v4而发生混淆错误,无法打包,网上google了一下,没发现可用的,就东拼西凑的把网上各个版本拼凑了下,拼凑出下面自己可用通过的代码。
在proguard.cfg中加入以下代码:
1
-libraryjars libs/android-support-v4.jar //这里根据你的jar包的路径做改动
2
-dontwarn android.support.v4.**
3
-keep class android.support.v4.** { *; }
4
-keep interface android.support.v4.app.** { *; }
5
-keep public class * extends android.support.v4.**
6
-keep public class * extends android.app.Fragment
Android之-Gson混淆问题
google出的Gson个人感觉在处理json和对象之间的转换方面还是相当简便的。不过在混淆的时候就碰到了点问题,遇到嵌套的json数据无法成功转换成正确的对象。这个问题折腾了自己好几天,还特意新建了个项目来确定原因。因为电脑不算很好,签名混淆打包比较费时,4,5分钟的样子才能打好,具体没计算过,不过大概范围就这样,所以导致调试花了蛮久的。今天在搜索中文相关问题找不到结果的情况下只搜索英文,终于找到了解决方法。方法就在google的gson的svn里的example里,真是要吐血啊。
地址:http://code.google.com/p/google-gson/source/browse/trunk/examples/android-proguard-example/proguard.cfg
主要代码段如下:
01
##---------------Begin: proguard configuration for Gson ----------
02
# Gson uses generic type information stored in a class file when working with fields. Proguard
03
# removes such information by default, so configure it to keep all of it.
04
-keepattributes Signature
05
06
# For using GSON @Expose annotation
07
-keepattributes *Annotation*
08
09
# Gson specific classes
10
-keep class sun.misc.Unsafe { *; }
11
#-keep class com.google.gson.stream.** { *; }
12
13
# Application classes that will be serialized/deserialized over Gson
14
-keep class com.google.gson.examples.android.model.** { *; }
15
16
##---------------End: proguard configuration for Gson ----------
如果用了这个还不行的话,可以去上面的网址里看下完整的。
反正我是加上之后应用可以正常开始跑了。