Android 自定义注解(下篇)

##一、序

作为一名从外包公司出身的Coder,一直以来都有一个愿景,希望可以拥有一套自己的快速开发框架。都知道外包公司的项目多,但是也许你并没有亲自感受过一年多需要开发10个app的酸爽。现在脱坑了却挺怀念那个艰苦奋斗的时光,从一个小白慢慢的朝着梦想中的大佬奋斗。

于是最近怀着憧憬之情开始了这个架构的编写之旅。初识组件化之时,我写过一个叫BaseModule的东东,整理了常用的第三方库到basemodule中,虽然对提高效率有些帮助,但现在回望,根本不能称之为真正的组件化。所以开启了一个新的工程Template,希望可以如字面意思一样,作为一套模板来使用。

虽然Template尚未完工,很多功能性组件亟待开发,但大体架构已经具备,欢迎前往fork、star。

Template的传送门:

https://github.com/chris-jason1224/Template

##二、正片部分

至于怎么进行自定义注解,以及基本的注解概念请参阅我的上一篇文章

Android自定义注解(上篇)这篇文章我只记录干货和巨坑。

##三、干货来袭

1、./gradlew assembleDebug --stacktrace --info 这个adb 命令是我写注解组件敲得最多的一个,相信我,你值得拥有。方便查看注解编译过程中输出的日志和错误

2、annotaions模块和procssors模块最好分成两个moduel,并且一定是java Library。jdk对android的支持不是特别完全,为谦容性考虑,annotations 和 porcessors的gradle文件中最好设置使用jdk1.7版本(我在顶级gradle文件中设置了 javaVersion = JavaVersion.VERSION_1_7 )

sourceCompatibility = rootProject.javaVersion
targetCompatibility = rootProject.javaVersion

3、使用了该注解的模块gradle文件中 defaultConfig节点下配置

 javaCompileOptions {
            annotationProcessorOptions {
                arguments = [moduleName: project.getName()]
                includeCompileClasspath true
            }
        }

moduleName可以作为Options传入你的processor中,而不设置includeCompileClasspath 则会报错:> Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.

4、编译时远程调试

参考@link  https://blog.csdn.net/tomatomas/article/details/53998585
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值