Как получить информацию о приложении или пакете из файла apk в приложении Android в среде Android

Можно ли получить какую-либо информацию о пакете или приложении из apk-файла, не устанавливая его в среде Android?


person Alex    schedule 17.12.2010    source источник


Ответы (4)


Файл apk — это просто zip-архив с другим именем. Переименуйте x.apk в x.zip, где x — это имя файла, и вы сможете открыть его любым архиватором. Это действительно зависит от того, какую информацию вы ищете, сможете ли вы найти ее в файле apk. Я могу сказать, что вы можете получить доступ к файлу AndroidManifest.xml, в котором ключевая информация о правах доступа к приложению и т. д. хранится в довольно удобочитаемой форме, если вы знаете, что ищете. Что вы хотите найти? Если вы ищете ридми или что-то в этом роде, вы почти наверняка не найдете его там.

person Sam Svenbjorgchristiensensen    schedule 17.12.2010
comment
Я ищу что-то похожее на PackageManager.getPackageInfo (developer.android.com/reference/android/content/pm/), но для файла apk. Мне это нужно для моего приложения для Android, поэтому распаковка и преобразование AndroidManifest.xml из двоичной формы - не лучший способ (ИМХО). - person Alex; 17.12.2010
comment
каждый файл xml находится в двоичном виде или выглядит примерно так: 0300 0800 e808 0000 0100 1c00 b401 0000 1800 0000 0000 0000 0001 0000 7c00 0000 - person daddycardona; 11.09.2015


распаковка и преобразование AndroidManifest.xml из двоичной формы - не лучший способ (ИМХО)

Ты ведешь себя так, как будто у тебя есть выбор. Вы этого не сделаете, если все, что у вас есть, это APK. Единственное решение, если у вас есть только файл APK, основано на том, что указал Сэм.

Конечно, вы можете опубликовать свои метаданные в отдельном файле вместе с APK, откуда бы вы ни получали APK (например, с веб-сервера).

person CommonsWare    schedule 17.12.2010
comment
Сэм, CommonsWare - спасибо за ответы. Последние четыре часа убедили меня, что у меня нет других вариантов, поэтому у меня есть еще два вопроса: 1. Как проще всего распаковать файл в Android? 2. Как преобразовать AndroidManifest.xml из axml в xml? - person Alex; 17.12.2010
comment
stackoverflow.com/questions/2097813/ - person CommonsWare; 17.12.2010
comment
Также android.modaco. com/content/t-mobile-pulse-pulse-modaco-com/ - person CommonsWare; 17.12.2010
comment
Что ж, я сделал это)) Я закончил с AXMLPrinter2 для разбора AndroidManifest.xml (code.google.com/p/android4me/downloads/), извлеченный из apk. - person Alex; 17.12.2010

person    schedule
comment
Это прекрасно отвечает на вопрос. - person Tigger; 24.01.2014
comment
Не знал этого. Спасибо. - person Alex; 16.04.2014
comment
Как вы это обнаружили? - person Hola Soy Edu Feliz Navidad; 23.01.2020
comment
Если у вас нет этой команды в вашем пути, добавьте это в ~/.bash_profile: export PATH=${PATH}:$ANDROID_HOME/build-tools/<X.X.X> (X.X.X — ваша версия инструментов сборки) - person Andy M; 10.06.2020