我正在尝试解析AndroiManifest.xml文件以获取信息,并且在给文件充电时出现此错误
xml.etree.ElementTree.ParseError:格式不正确(无效的令牌): 第1行,第0列
这是我的代码:
import xml.etree.cElementTree as ET
tree = ET.ElementTree(file='AndroidManifest.xml')
root = tree.getroot()
我的XML文件看起来格式正确:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="132074037"
android:versionName="193.0.0.21.98"
android:installLocation="0"
package="com.facebook.orca">
如何解决该问题并解析XML以获取'android:versionName'标签?
答案 0 :(得分:1)
已解决
解压缩apk后,我试图解析AndroidManifest.xml,但是使用此方法,由于对AndroidManifest.xml进行了编码,因此无法打开,读取或解析它。我只能使用自动解码AndroidManifest文件的Android Studio来读取它。
要在解压缩apk之后解析AndroidManifest.xml,最好的方法是使用aapt命令行:
/Users/{Path_to_your_sdk}/sdk/build-tools/28.0.3/aapt dump
badging com.squareup.cash.apk | sed -n
"s/.*versionName='\([^']*\).*/\1/p"
您将获得应用程序的versionName。希望对您有所帮助。