Можно ли получить какую-либо информацию о пакете или приложении из apk-файла, не устанавливая его в среде Android?
Как получить информацию о приложении или пакете из файла apk в приложении Android в среде Android
Ответы (4)
Файл apk — это просто zip-архив с другим именем. Переименуйте x.apk в x.zip, где x — это имя файла, и вы сможете открыть его любым архиватором. Это действительно зависит от того, какую информацию вы ищете, сможете ли вы найти ее в файле apk. Я могу сказать, что вы можете получить доступ к файлу AndroidManifest.xml, в котором ключевая информация о правах доступа к приложению и т. д. хранится в довольно удобочитаемой форме, если вы знаете, что ищете. Что вы хотите найти? Если вы ищете ридми или что-то в этом роде, вы почти наверняка не найдете его там.
Ознакомьтесь с этим методом в PackageManager а> класс:
public PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags)
Получить общую информацию о пакете приложения, указанном в архивном файле пакета
Может быть полезно для вас ;)
распаковка и преобразование AndroidManifest.xml из двоичной формы - не лучший способ (ИМХО)
Ты ведешь себя так, как будто у тебя есть выбор. Вы этого не сделаете, если все, что у вас есть, это APK. Единственное решение, если у вас есть только файл APK, основано на том, что указал Сэм.
Конечно, вы можете опубликовать свои метаданные в отдельном файле вместе с APK, откуда бы вы ни получали APK (например, с веб-сервера).
export PATH=${PATH}:$ANDROID_HOME/build-tools/<X.X.X>
(X.X.X — ваша версия инструментов сборки)
- person Andy M; 10.06.2020