zoukankan      html  css  js  c++  java
  • (转)Android代码混淆-添加了Gson遇到的问题

     

      折腾了好久。。。。。郁闷 -_- 

           1.首先,project.properties里的配置文件变了,之前的项目一直都是在project.properties这个文件中添加一行proguard.config=proguard.cfg

               然后proguard.cfg是自动生成的,不想被混淆的文件则从proguard.cfg中修改

          2.应该是adt的以及build sdk的版本问题。 混淆代码变了,但是在project.properties文件中明显看到有一行提示语如下

              # 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

             将这两行取消注释,就可以打开混淆代码的效果了。proguard-project.txt文件内容则可以从 ${sdk.dir}/tools/proguard/目录中找到 

                   有如下两个,proguard-android.txt 和 proguard-android-optimize.txt 大家认真看一下说明。

                   然后将其内容copy到proguard-project.txt中

     

          3.解决Gson混淆之后无法解析Json的问题

              |-首先明白Gson的特性,速度落后与阿里巴巴温高铁哥哥写的fastJson,但是fastJson有一些小bug~~~

                        FastJson的链接,详情请点击  http://www.iteye.com/topic/1113183

                        Gson 链接  详情请点击 https://code.google.com/p/google-gson/

              |-其次使用方法其实是实体类中属性的变量名要对应Json数据中的key值,要一模一样喔。

              |-由这里就想到两点来解决这个问题   

                   1。 是不要混淆GsonJar包中的类    

                   2。 实现 java.io.Serializable的实体类中所有的属性名称也不能被混淆。

                   3. 以及为了序列化和反序列化,writeObject(); readObject(); writeReplace(); readResolve();亦不可被混淆

     

     

    思路完毕。我把混淆配置文件proguard-project.txt上传一下给大家。

         

    混淆配置文件下载地址

       http://download.csdn.net/detail/forever_crying/4735749

     

    摘自:http://blog.csdn.net/forever_crying/article/details/8150509

  • 相关阅读:
    分布式事务系列--分布式跨库查询解决方案 mysql federated引擎的使用
    【MySQL】跨库join
    实操手册:如何玩转跨库Join?跨数据库实例查询应用实践
    实现数据库的跨库join
    微服务改造中解决跨库问题的思路
    从jar包中加载feignClient
    注入jar包里的对象,用@autowired使用
    使用 IntraWeb (27)
    使用 IntraWeb (26)
    使用 IntraWeb (25)
  • 原文地址:https://www.cnblogs.com/antyi/p/4470341.html
Copyright © 2011-2022 走看看