前言
如果是组件化开发,组件内的资源要重命名,不能和宿主名称相同,否则可能会出现因资源名相同导致宿主资源覆盖组件资源的问题,严重可导致崩溃(比如id找不到导致空指针)
所以我们需要给资源进行重命名,手动重命名比较耗时且容易遗漏,因此使用插件
步骤
1.新建分支!!!
此操作会修改大量文件,请先新建分支后再进行操作
2.引入插件
root下的settings.gradle.kts中添加:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("io.github.jiayuliang1314:ResTools:1.0.5")
}
}
需要重命名资源名的module下的build.gradle.kts中添加:
plugins {
...
id("plugin.resTools")
}
resConfig {
new_prefix = ""//前缀 todo
}
3.Sync Gradle
4.执行Gradle命令
可以在ide右边找到Gradle的窗口,然后找到对应module中的replaceResName命令,双击执行
或者双击 Ctrl 键,然后输入 gradle :你的module名:replaceResName
5.修复遗漏
由于插件本身的问题,style和ViewBinding的名字并不会被修改,因此需要手动修改
6.排查
排查没有语法问题,且没有代码错误后可以将分支合并回原来的分支
7.移除插件
参考第2步
参考
https://github.com/jiayuliang1314/AndroidResourceToolPro
对Kotlin或KMP感兴趣的同学可以进Q群 101786950
如果这篇文章对您有帮助的话
可以扫码请我喝瓶饮料或咖啡(如果对什么比较感兴趣可以在备注里写出来)