gradle
南山伐木
伐木丁丁,鸟鸣嘤嘤。出自幽谷,迁于乔木。嘤其鸣矣,求其友声。
展开
-
自定义一个gradle插件动态修改jar包Class文件
动态修改jar包中的class文件,预埋占位符字符串,在编译代码时动态植入要修改的值。记录一下整个过程及踩过的坑。Github 地址:ClassPlaceholder创建一个Android项目,再创建一个Android library,删掉里面所有代码。添加groovy支持。如:apply plugin: 'groovy'sourceCompatibility = 1.8...原创 2018-09-06 23:36:23 · 2451 阅读 · 0 评论 -
ClassPlaceholder插件:动态修改jar包class文件
背景:在开发,一些在jar包或底层库封装的一些常量参数有时需要根据环境的切换而改变,如在jar中的使用的baseUrl,一般都是通过向外暴露一个set()方法,由外部注入。但若在底层库在多个模块引用,又不能避免其他模块对参数的修改时,特别是在大项目若一些管理混乱的项目中,就会出现多个地方set不同的值,不能保证参数set()入口的唯一性。这时便可以考虑不向外暴露set()方法。并将原参数定义为...原创 2018-09-06 23:42:10 · 912 阅读 · 0 评论 -
Android library发布多渠道AAR
一、 在项目多渠道开发时,除了对不同的渠道除了做统计外,还可以对不同的渠道加载不同的代码及资源,具体的部署可以参考 Android studio gradle中分渠道加载res、libraries及Class ;在模块化拆分后,若恰好在模块内部的代码及资源也要根据不同的渠道发布不同的aar包到nexus仓库,该怎么配置呢?二、思路:一般单独拆分出的library基本都是将代码及资源打包成aar包...原创 2018-12-02 18:09:39 · 949 阅读 · 0 评论