Android组件化aar躺坑记:ButterKnife 报 元素值必须为常量表达式错误
2024-08-28 03:06:26
背景:
项目有需求,将自己写的模块作为一个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,然后发现这个类不报错了。(无意中发现的。)
最新文章
- IOS第四课——Autolayout_View
- 让mingw gdb支持STL,并自动load .gdbinit
- 【Spark】----Spark on Yarn
- BPMN 2.0规范
- Matlab 取子矩阵
- unique_ptr简谈
- JVM知识在离线数据中的运用
- S2_OOP第三章
- Build path contains duplicate entry
- SkylineGlobe7.0.1版本 通过鼠标左右平移模型对象
- C++桥接模式【转】
- 《剑指offer》-判断平衡二叉树
- kbmMWLog同时输出日志到多个日志管理器
- 禁止用键盘左右箭头,去切换PageControl页签
- python之socket编写
- 【BZOJ】【1923】【Sdoi2010】外星千足虫
- Openerp 7.0消息推送
- [LeetCode 题解]: Add Two Numbers
- 排序算法汇总(java实现,附源代码)
- 安卓topbar编码实战