背景:
项目有需求,将自己写的模块作为一个module给到大项目使用,所以准备把自己的项目打包成aar包。
一、如何将独立项目打包成aar:
1、修改module下的application 为library:
——>
2、修改Manifest.xml文件如下:
删掉下面这些以及apk入口:
3、修改代码中的switch语句为if语句。
4、如果代码有配混淆的话,参考下面注释掉该属性。
5、双击下面截图中的assembleDebug即可执行打包过程。(如果项目里有集成ButterKnife的话,理论上讲会报错,解决可以参考该博客第二部分。)
但是,坑爹的是,由于使用了ButterKnife(版本:8.8.1)插件,导致构建的时候一直报如下错误(截图来自网络,自己报错的截图忘记截了。)
然后各种百度,但是找到的都是17年的比较老的,没法使用,故写下自己躺坑的过程。
二、Buttknife报错处理:
1、在项目gradle文件里加入如下:(版本号8.4.0、8.5.0、8.5.1都可以)
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
2、在module里gradle里添加如下即可:
apply plugin: 'com.jakewharton.butterknife'
3、将应用的BindView这里的 R 都换成 R2,只在注解这里这样换,其他地方不要换:
4、先Sync一下项目,然后rebuild 多次。
重点(亲测有效):记得rebuild一两次之后找到报错的类,点进去,随便找个报错的行,然后手动删除R2,再输一次R2,然后发现这个类不报错了。(无意中发现的。)