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?

Bharath
fonte
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

Vikas Patidar
fonte
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.

Jonas Jongejan
fonte
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.

Geobio Boo
fonte
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"
JohnnyLambada
fonte
é 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

Dan Dascalescu
fonte
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.

caw
fonte
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
Ahmad Aghazadeh
fonte
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
8

O AXMLParser e o APKParser.jar também podem fazer o trabalho, você pode ver o link. AXMLParser

twlkyao
fonte
1
Essa ferramenta não foi atualizada em anos. Google acaba de lançar uma ferramenta de inspeção binário Android em novembro de 2016.
Dan Dascalescu
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

user3289695
fonte
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
Amir Rezazadeh
fonte
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
BitByteDog
fonte
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.

zmarties
fonte
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.

richbai90
fonte
-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]\
Kevin
fonte