各种各样的轮子在项目中用的飞起,节约了大量的开发时间,同时也增加了风险.例如断更,跑路,已读不回哈哈.毕竟开源开发者都是为爱发电,咱也不能说什么
那么问题就这么悄悄的来了,开源项目发现BUG我们要怎么处理呢
.地球爆炸吧,这二比Android 狗都不干.
问题:

使用 XPopup 开源库展示底部弹出的弹框时会一直报资源ID找不到,气死强迫症啊,看了下更新时间,已经两年没做代码更新了,所以还是自立更生动手干吧.
问题处理流程
- 找到问题并修改
- 将修改后的三方库打包成AAR
- 项目去除网络引用 重新信用AAR资源
1.问题梳理

如图资源ID不合法触发了异常 ,系统打印了资源ID找不到,
修改方式:
bash
// 判断资源id是否合法 (id >>> 24) != 0
if (id != View.NO_ID&&(id >>> 24) != 0) {
try {
String resourceEntryName = window.getContext().getResources().getResourceEntryName(id);
if ("navigationBarBackground".equals(resourceEntryName)
&& child.getVisibility() == View.VISIBLE) {
isVisible = true;
break;
}
} catch (Resources.NotFoundException e) {
break;
}
}
2.将moudle库打包成AAR

如图所示
- 配置 com.android.library
- 执行 moudle名字/tasks/other/assembleRelease
- AAR生成位置 moudle/bulid/output/aar
3.项目引用AAR(Gradle 高版本引用)
流程:
- 创建一个文件夹统一管理AAR文件
- 创建要引用的AAR的文件夹
- 将aar文件放进创建好的文件夹
- 编写 build.gradle文件
- Setting.gradle文件配置一下
- 要使用的库引用就可以了

3.1 build.gradle 代码
csharp
configurations.maybeCreate("default")
artifacts.add("default", file("XPopup.aar"))
3.2引用方式
java
api project(path:':LibAAR:AAR_XPopup')
总结
三方库出问题,修改甚至是魔改.日常开发过程中常见的场景,这里总结一下自己的操作,方便以后查看.各位大佬有什么好的方案,欢迎滴滴.