AndroidManifest.xml のチャネル名を置き換えて、リリース用のチャネル apk パッケージのグループをバッチ生成しようとしています。
<meta-data android:value="CHANNEL_NAME_TO_BE_DETERMINED" android:name="UMENG_CHANNEL"/>
xml ファイルから。
チャネル構成は、次のような構成ファイルに保存されます。
channel_name output_postfix valid
"androidmarket" "androidmarket" true
これが私が試したものです:
manifest_original_xml_fh = open("../AndroidManifest_original.xml", "r")
manifest_xml_fh = open("../AndroidManifest.xml", "w")
pattern = re.compile('<meta-data\sandroid:value=\"(.*)\"\sandroid:name=\"UMENG_CHANNEL\".*')
for each_config_line in manifest_original_xml_fh:
each_config_line = re.sub(pattern, channel_name, each_config_line)
print each_config_line
それは明らかに私の必要ではない全体<meta-data android:value="CHANNEL_NAME_TO_BE_DETERMINED" android:name="UMENG_CHANNEL"/>
を置き換えます。androidmarket
次に、問題がpattern.match(each_config_line)
一致結果を返すことであり、結果グループの1つが「CHANNEL_NAME_TO_BE_DETERMINED」であることがわかりました。また、いくつかの置換実装機能を提供しようとしましたが、それでも失敗しました。
では、パターンを見つけることに成功したので、一致した結果グループ要素を正しく置き換えるにはどうすればよいでしょうか?