Android Gradle和ProGuard学习

  1. 基础语法和打包配置:
    需要注意的是自己根据app来配置混淆规则:
    代码中使用了反射,如一些ORM框架
    使用GSON,fastjson等JSON解析框架所生成的对象类
    继承了Serializable接口的类
    引用了第三方模块,一些主流的开源框架会给出其混淆规则
    有用到WebView的JS调用接口
  2. AndroidStudio下的 ProGuard打包混淆遇到的问题:移除打log的代码的配置不成功
  3. 美团Android自动化之旅—生成渠道包
  4. Android开发之Gradle笔记整理1
  5. Android开发之Gradle笔记整理2——Gradle常用命令及UMeng多渠道打包实战
  6. 自己的app中用的一些第三方库的proguard配置
    GSON
    okhttp,pulltorefresh
    vitamio如下所示:
-keep public class io.vov.vitamio.MediaPlayer { *; }
-keep public class io.vov.vitamio.IMediaScannerService { *; }
-keep public class io.vov.vitamio.MediaScanner { *; }
-keep public class io.vov.vitamio.MediaScannerClient { *; }
-keep public class io.vov.vitamio.VitamioLicense { *; }
-keep public class io.vov.vitamio.Vitamio { *; }
-keep public class io.vov.vitamio.MediaMetadataRetriever { *; }

7.Groovy基础全攻略
Groovy是通用编程语言,不是DSL,但是Groovy却对编写全新的DSL提供了很好的支持,这些支持来自Groovy自身语法的特性:
不需要定义类就可以直接执行脚本(当然在最后生成JVM可以执行的字节码时,也即class文件,是做了相应的处理的,extends Script);
语法省略括弧和语句结尾分号等操作;
等等等;
8.Gradle基础全攻略
Gradle是基于Groovy的DSL。Gradle其实是依托于各种插件壮大的,譬如Java插件用来构建Java工程,Android插件用来构建打包Android工程,我们只需要选择合适的插件即可,插件会为我们提供丰富的任务用来快捷处理构建,具体详情参考各插件API即可。

你可能感兴趣的:(Android)