Android Gradle使用详解
来源:互联网 发布:wear软件下载 编辑:程序博客网 时间:2024/06/06 00:51
转自:http://blog.csdn.net/qq_19711823/article/details/51351120
现在Android开发已经基本向Android Studio看齐,既然使用Android Studio开发,就必须掌握Gradle的使用,使用Gradle打包apk已经成为当前主流趋势,方便了开发者进行构建不同的应用版本,以完成不同的需求。
一、统一配置项目属性
1.Android配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
如上述代码中所述:
上面两句分别配置了项目的Sdk版本和编译Tools版本,在下面的defaultConfig 中配置了minSdkVersion 、targetSdkVersion 、versionCode 和versionName,相信大家这些都看得懂这些名词的意思,然后看他们对应的值,project.VERSION_NAME,这个又是在哪设置的呢,看下面:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
这些属性在项目的gradle.properties中设置
2.版本配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
可以看到有配置debug开关,混淆之类的,都是可统一配置的。
3.渠道配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
这里就是配置了不同版本的渠道名,渠道的配置还是跟Android配置一样,在gradle.properties中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.签名信息配置
对于签名相关的信息,直接写在gradle当然不好,特别是一些开源项目,可以添加到gradle.properties:
- 1
- 2
- 3
- 4
然后在build.gradle中引用即可:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
5.自定义导出的APK名称配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
二、混淆
混淆能让反编译的代码可读性变的很差,防止别人盗取代码,而且还能显著的减少APK包的大小。
1.第一个技巧
首先,除了默认的混淆配置(android-sdk/tools/proguard/proguard-android.txt), 自己的代码肯定是要自己配置的:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
接下来是麻烦的第三方库,一般来说,如果是极光推的话,它的包名是cn.jpush, 添加如下代码即可:
- 1
- 2
其他的第三库也是如此,或者把这些第三方库反编译出来,通过包名去混淆。
三、动态设置一些额外信息
假如想把当前的编译时间、编译的机器、最新的commit版本添加到apk,而这些信息又不好写在代码里,强大的gradle给了我们机会:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
述代码实现了动态的添加了3个字符串资源: build_time、build_host、build_revision, 然后在其他地方可像如引用字符串一样使用如下:
- 1
- 2
- 3
- 4
四、小结
android打包因为groovy语言的强大,变的强大的同时必然也变的复杂。Gradle还是很复杂的,目前只是会使用而已。。
- Android Gradle使用详解
- Android Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio 使用本地gradle配置详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Gradle详解
- 反反爬虫,爬虫突破封禁的6种常见方法
- JAVA贪心算法实现背包问题
- hdu-6195 cable cable cable
- numpy ndarray 按条件筛选数组,关联筛选
- sql基本语句
- Android Gradle使用详解
- 监听器?
- 经过了多种方法的尝试,终于找到Quartus破解成功但是没有办法编译的解决方法
- 如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?
- Java日记(6)— 面向对象特性
- [Kotlin]Kotlin二进制读写
- CSDN-markdown编辑器
- struts2+ajaxfileupload.js实现单文件传输
- 从MySQL数据库读取图片和向数据库插入图片