在安卓开发中经常和mipmap资源打交道,我们知道mipmap资源对于命名要求比较严格,比如不能出现中文、不能有特殊符号或空格等等,但是设计给的图命名往往是不规范的,'mipmap-hdpi', 'mipmap-mdpi', 'mipmap-xhdpi', 'mipmap-xxhdpi', 'mipmap-xxxhdpi'一大堆改起来非常麻烦,以前通过Android Studio可以一键修改,但是最近IDE抽风不给我改了,写了个python脚本。
import os
dirs = 'mipmap-hdpi', 'mipmap-mdpi', 'mipmap-xhdpi', 'mipmap-xxhdpi', 'mipmap-xxxhdpi'
file_name_dict = {}
for kv in open("data.txt", mode="rb").read().decode().split("\n"):
arr = kv.split("=")
file_name_dict[arr[0]] = arr[1].strip("\r")
print(file_name_dict)
for dirname in dirs:
path = os.path.join(os.getcwd(), dirname)
if os.path.isdir(path):
for filename in os.listdir(path):
if filename in file_name_dict.keys():
print(dirname, filename, "->", file_name_dict[filename])
os.rename(src=os.getcwd() + "\\" + dirname + "\\" + filename,
dst=os.getcwd() + "\\" + dirname + "\\" + file_name_dict[filename])
使用方法
把这个python脚本放到项目对应的res目录下,同目录下新建data.txt文件,如图:
在模块的build.gradle中新增一个task
task renameMipmap(type: Exec) {
workingDir './src/main/res/'
commandLine "python", "rename.py"
}
data.txt文件按照待修改资源名=修改后资源名这样写,每个资源占一行,例如:
然后修改完data.txt后保存,每次重命名只要执行renameMipmap这个task就行了。