我正在尝试自动更改我的 VersionCode 以匹配 SVN 的内部版本号。我正在使用 python 来解析 Android Manifest 并尝试将文件保存回来。
我正在使用元素树以这种方式查找特定节点
def setVersionCode(fileName,versionCode):
ET.register_namespace("android", "http://schemas.android.com/apk/res/android")
tree = ET.ElementTree()
tree.parse(fileName)
root = tree.getroot() #This returns the root node
root.attrib["{http://schemas.android.com/apk/res/android}versionCode] " #This gives me the current Version code
然后像这样称呼它
setVersionCode(pathToTheManifest,"500")
我想将 versionCode 设置为 500(示例)并将文件保存回相同的 fileName 路径,而不会丢失任何 Manifest 格式或 xml 数据。我该怎么做呢 ?
我知道这行得通
root.attrib["{http://schemas.android.com/apk/res/android}versionCode] " = versionCode
因为当我执行 ET.dump 时,它会显示更改后的文件。但是如何在不丢失数据或格式的情况下将其从这里保存回同一个地方?