android studio批量修改,Android一键批量修改mipmap资源名

在安卓开发中经常和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文件,如图:

5ee08ed33084

在模块的build.gradle中新增一个task

task renameMipmap(type: Exec) {

workingDir './src/main/res/'

commandLine "python", "rename.py"

}

data.txt文件按照待修改资源名=修改后资源名这样写,每个资源占一行,例如:

5ee08ed33084

然后修改完data.txt后保存,每次重命名只要执行renameMipmap这个task就行了。