ParseError при разборе AndroidManifest.xml в python - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь проанализировать файл 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'?

1 Ответ

0 голосов
/ 18 декабря 2018

Решено

Я пытался проанализировать AndroidManifest.xml после того, как разархивировал apk, но с помощью этого метода AndroidManifest.xml кодируется, поэтому его невозможно открыть, прочитать или проанализировать.Я смог прочитать его только с помощью Android Studio, которая автоматически декодирует файл AndroidManifest.

Чтобы проанализировать AndroidManifest.xml после разархивирования apk, лучшим способом является использование командной строки 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 вашего приложения.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...