Coeus
Coeus copied to clipboard
对于AndroidManifest.xml每行读取的问题
读行的话, 针对于AndroidManifest.xml的 换行配置读取错误:如
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
permission = re_per.findall(line)[0] IndexError: list index out of range
with open(config.xml_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
for line in lines:
if line.find('package=') > -1:
re_name = re.compile(r"package=\"(.*?)\"\s")
sdkinfo.package_name = re_name.findall(line)[0]
if line.find('versionName') > -1:
re_version = re.compile(r"versionName=\"(.*?)\"\s")
sdkinfo.version_name = re_version.findall(line)[0]
if line.find('uses-permission') > -1:
re_per = re.compile(r"android:name=\"(.*?)\"\s")
permission = re_per.findall(line)[0]
sdkinfo.permissions.append(permission)
if line.find('minSdkVersion') > -1:
re_min = re.compile(r"android:minSdkVersion=\"(.*?)\"\s")
sdkinfo.min_sdk_version = re_min.findall(line)[0]
if line.find('targetSdkVersion') > -1:
re_target = re.compile(r"android:targetSdkVersion=\"(.*?)\"\s")
sdkinfo.target_sdk_version = re_target.findall(line)[0]
if line.find("android:allowBackup") > -1:
re_allow = re.compile(r"android:allowBackup=\"(.*?)\"\s")
sdkinfo.allow_back_up = re_allow.findall(line)[0].lower() == "true"
if line.find("android:debuggable") > -1:
re_debug = re.compile(r"android:debuggable=\"(.*?)\"\s")
sdkinfo.debuggable = re_debug.findall(line)[0].lower() == "true"
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
android:maxSdkVersion="29" />
类似这种换行的读取就报错了