Como visualizar AndroidManifest.xml do arquivo APK?


309

É possível visualizar o Androidmanifest.xmlarquivo?

Acabei de alterar a extensão do apkarquivo para zip. Este ziparquivo contém o Androidmanifest.xmlarquivo Mas não consigo visualizar o conteúdo de Androidmanifest.xml. É totalmente criptografado.

Como posso visualizar o Androidmanifest.xmlarquivo?


Eu tenho um arquivo APK. Eu preciso visualizar o arquivo Androidmanifest.xml. porque eu usei uma estrutura. Esse arquivo APK também usou a mesma estrutura. Então, eu preciso ver como configurar o arquivo manifesto Android desse arquivo APK.
bharath

@ Jason Rogers: AFAIK você pode visualizar essas informações. Veja isto
Vikas Patidar 22/02

Respostas:


220

Sim, você pode visualizar os XMLarquivos de um Android APKarquivo. Existe uma ferramenta para isso:android-apktool

É uma ferramenta para engenharia reversa de aplicativos Android fechados, binários e de terceiros

Como fazer isso no seu sistema Windows:

  1. Faça o download do arquivo apktool-install-windows- *
  2. Faça o download do arquivo apktool- *
  3. Descompacte ambos no diretório do Windows

Agora copie o APKarquivo também nesse diretório e execute o seguinte comando no prompt de comando:

apktool d HelloWorld.apk ./HelloWorld

Isso criará um diretório " HelloWorld" no seu diretório atual. Dentro dele, você pode encontrar o AndroidManifest.xmlarquivo em formato descriptografado e também pode encontrar outros XMLarquivos dentro do "HelloWorld/res/layout"diretório.

Aqui HelloWorld.apkestá o seu arquivo APK do Android.

Veja a captura de tela abaixo para obter mais informações: texto alternativo


15
Isso é legal, mas eu gostaria de saber como ver o AndroidManifest.xml sem precisar fazer o download de tudo isso. É criptografado ou compactado?
precisa saber é o seguinte

1
@JohnnyLambada : Sim, você pode abri-lo e visualizá-lo em uma ferramenta de arquivamento como: WinRar / WinZip / 7Zip, mas não faz sentido, pois está na forma criptografada.
Vikas Patidar 19/02

9
O apktool está obsoleto. Melhor consultar a página inicial do projeto para obter a versão mais recente.
Deqing

1
Eu recebo: Exception in thread "main" brut.androlib.AndrolibException: Vários recursos: a brut.androlib.res.data.ResConfig.addResource (fonte desconhecida)
Windrider

3
Agora comando mudou para a versão mais recenteapktool d your_destination youraApk.apk
Pranoy Sarkar

109

Agora, o Android Studio pode mostrar isso. Vá para Build> Analyze APK...e selecione seu apk. Então você pode ver o conteúdo do arquivo AndroidManifset.


3
Esse recurso foi adicionado recentemente e eu também gostaria de sugerir isso, a menos que você esteja interessado em usar a linha de comando e tenha as ferramentas da plataforma em seu caminho configuradas.
Anthonymonori

8
isso deve ser votado para se tornar a melhor resposta, outros métodos agora são desnecessariamente complicados.
Sébastien

3
Também há uma versão em linha de comando deste built-in: stackoverflow.com/a/54874783/89818
caw

46

aapt d xmltree com.package.apk AndroidManifest.xml

fará o dump do AndroidManifest.xmlAPK especificado. Não está no formato XML, mas você ainda pode lê-lo.

aapt (Ferramenta de empacotamento de ativos do Android) é uma ferramenta integrada que acompanha o Android SDK.


45

Neste tópico , Dianne Hackborn nos diz que podemos obter informações do AndroidManifest usando aapt.

Eu criei este comando unix rápido para pegar as informações da versão:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"

é possível fazer isso mesmo em um aplicativo Android? Além disso, é possível obter todo o arquivo de manifesto e não apenas o nome da versão?
desenvolvedor android

36

O Google acaba de lançar uma ferramenta de código aberto de plataforma cruzada para inspecionar APKs (entre muitos outros formatos binários do Android):

ClassyShark é uma ferramenta de inspeção binária autônoma para desenvolvedores do Android. Ele pode navegar com segurança em qualquer executável do Android e mostrar informações importantes, como interfaces e membros de classes, contagens de dex e dependências. O ClassyShark suporta vários formatos, incluindo bibliotecas (.dex, .aar, .so), executáveis ​​(.apk, .jar, .class) e todos os XMLs binários do Android: AndroidManifest, recursos, layouts etc.

Screenshot de ClassyShark


3
Isso é 10000 vezes mais fácil que o Apktool!
Guilherme Campos Hazan

18

Você pode usar apkanalyzera versão de linha de comando do APK Analyzer incluída no Android SDK. Basta executar o seguinte comando na CLI:

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

Você só precisa substituir /path/to/android-sdko caminho correto para sua versão do Android SDK e /path/to/app.apko caminho para seu arquivo APK.


8
Essa deve ser a resposta aceita, pois não é necessário instalar nada de fontes não verificadas.
C4k 23/04/19

observe que isso não parece funcionar no Windows :( stackoverflow.com/a/54593118/997940
Yoav Feuerstein

Eu recebo o erro: Exceção no segmento "main" java.lang.IllegalStateException: A propriedade do diretório tools não está definida, verifique se você está executando o apkanalyzer, não sabia como resolvê-lo
jk2K

Este é provavelmente o caminho que você precisa se estiver no macOS:~/Library/Android/sdk/tools/bin/apkanalyzer manifest print <apk>
Frederik

15

Você pode usar este comando: salvar no arquivo AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt

2
dé uma abreviação de dump, que torna essa resposta idêntica a essa , publicada mais de um ano antes.
Dan Dascalescu 9/08/16

4
Sim, mas esse código é salvo no arquivo > AndroidManifest.txt.
Ahmad Aghazadeh

lol, que é a mesma resposta, despejar o arquivo não está fazendo a diferença
Leonardo Sapuy


7

Existe uma ferramenta on-line que permite fazer o upload de um APK. Descompila e, finalmente, permite baixar um zip com todas as fontes, arquivo XML manifesto e assim por diante, descompilado, tudo isso sem a necessidade de instalar nenhum programa no seu computador: http: / /www.javadecompilers.com/apk

Além disso, se você deseja apenas verificar alguns parâmetros, pode, pela interface do usuário


Trabalhei em um APK em agosto, não funcionou em outro em novembro
Dan Dascalescu 18/11/16

O apktools não pareceu criar um diretório para mim com a saída e o aapt não mostrou o resultado no formato XML. Este site funcionou como um encanto.
Kregus 15/0518

6

Para decodificar o AndroidManifest.xmlarquivo usando axmldec :

axmldec -o output.xml AndroidManifest.xml

ou

axmldec -o output.xml AndroidApp.apk

Isso funciona e pode ser facilmente instalado através do Homebrew:brew tap ytsutano/toolbox brew install axmldec
gmoz22

5

O Aapt2, incluído nas ferramentas de compilação do SDK do Android, pode fazer isso - não são necessárias ferramentas de terceiros.

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk

A partir do build-tools v29, você deve adicionar o comando xmltree:

$(ANDROID_SDK)/build-tools/29.0.3/aapt2 d xmltree --file AndroidManifest.xml app-foo-release.apk

Isso não gera o XML original, mas é legal se eu apenas precisar procurar um valor lá sem precisar extrair o APK ou gravar em um arquivo temporário.
Raziel

2

Você também pode usar meu aplicativo, App Detective, para visualizar o arquivo de manifesto de qualquer aplicativo que você instalou no seu dispositivo.


0

Este é um tópico antigo, mas eu pensei em mencionar, do seu telefone tem root, você pode visualizá-lo diretamente no seu telefone usando o aplicativo root explorer. Você nem precisa extrair para ver.


-1

O arquivo precisa ser descompilado (ou deodex'd não tem certeza de qual). Mas aqui está outra maneira de fazer isso:

-Download free Tickle My Android tool on XDA: https://forum.xda-developers.com/showthread.php?t=1633333https://forum.xda-developers.com/showthread.php?t=1633333
-Unzip
-Copy APK into \_WorkArea1\_in\ folder
-Open "Tickle My Android.exe"
-Theming Menu
-Decompile Files->Any key to continue (ignore warning)
-Decompile Files->1->[Enter]->y[Enter]
-Wait for it to decompile in new window... Done when new window closes
-Decompiled/viewable files will be here: \_WorkArea3\_working\[App]\

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.