私はAndroidManifest.xml
PythonのElementTree
. android
名前空間を as として登録する必要がありました。http://schemas.android.com/apk/res/android
そうしないと、ElementTree が のようなものに置き換えられますns0
。直感的ではありませんでしたが、今では機能します。
ノードの属性にアクセスするとき、単純に指定できると思っていました。elem.attrib["android:versionCode"]
. しかし、ElementTree が次のように使用することを望んでいるため、機能しませんでした。
ET.register_namespace("android", "http://schemas.android.com/apk/res/android")
tree = ET.ElementTree()
tree.parse("AndroidManifest.xml")
root = tree.getroot()
root.attrib["{http://schemas.android.com/apk/res/android}versionCode"] = "3"
ファイルにあったとしても、android:versionCode
.
これは直感に反するので、root.attrib["android:versionCode"]
代わりに使用する方法はありますか?