SVNのビルド番号に一致するようにVersionCodeの変更を自動化しようとしています。Pythonを使用してAndroidマニフェストを解析し、ファイルを保存し直そうとしています。
この方法で特定のノードを見つけるために要素ツリーを使用しています
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(例)に設定し、マニフェストのフォーマットやxmlデータを失うことなく、ファイルを同じfileNameパスに保存したいと思います。これを行うにはどうすればよいですか?
私はこれがうまくいくことを知っています
root.attrib["{http://schemas.android.com/apk/res/android}versionCode] " = versionCode
ET.dumpを実行すると、変更されたファイルが表示されるためです。しかし、データや形式を失うことなく、ここから同じ場所に保存するにはどうすればよいですか?