2010-11-16 11 views
233

È possibile visualizzare il file Androidmanifest.xml?Come visualizzare AndroidManifest.xml dal file APK?

Ho appena modificato l'estensione del file apk in zip. Questo file zip contiene il file Androidmanifest.xml. Ma non riesco a visualizzare il contenuto di Androidmanifest.xml. È completamente crittografato.

Come visualizzare il file Androidmanifest.xml?

+0

Ciao a mia conoscenza non è possibile, quali informazioni stai cercando di ottenere? –

+0

Ho un file APK. Devo visualizzare il file Androidmanifest.xml. perché ho usato un framework. Anche quel file APK utilizzava lo stesso framework. Quindi ho bisogno di vedere come configurare il file Androidmanifest da quel file APK. – bharath

+0

@Jason Rogers: AFAIK è possibile visualizzare tali informazioni. Vedi [this] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/4191807#4191807) –

risposta

199

Sì, è possibile visualizzare i file XML di un file Android APK. C'è uno strumento per questo: android-apktool

E 'uno strumento per il reverse engineering 3rd partito, chiuso, le applicazioni Android binari

Come fare questo sul vostro sistema di Windows:

  1. Download apktool-install-windows-* file
  2. Download apktool-* file
  3. Scompattare entrambi nella directory di Windows ectory

Ora copiare il file APK anche in quella directory ed eseguire il seguente comando nel prompt dei comandi:

apktool d HelloWorld.apk ./HelloWorld 

Questo creerà una directory "HelloWorld" nella directory corrente. Al suo interno è possibile trovare il file AndroidManifest.xml in formato decrittografato e inoltre è possibile trovare altri file XML all'interno della directory "HelloWorld/res/layout".

Qui HelloWorld.apk è il tuo file APK per Android.

Vedere la schermata di seguito per ulteriori informazioni: alt text

+12

Questo è bello, ma mi piacerebbe sapere come per guardare semplicemente AndroidManifest.xml senza dover scaricare tutto questo. È crittografato o compresso? – JohnnyLambada

+1

** @ JohnnyLambada **: Sì, è possibile aprirlo e visualizzarlo in uno strumento di archiviazione come: ** WinRar/WinZip/7Zip ** ma non ha senso perché è in forma crittografata. –

+0

è possibile decrittografarlo, cambiarlo un po '(ad esempio la minSdkVersion), e quindi rimetterlo nell'apk? –

40

In questo thread, Dianne Hackborn ci dice che possiamo ottenere informazioni fuori dal AndroidManifest utilizzando AAPT.

ho incitato questo comando rapido UNIX per afferrare le informazioni sulla versione:

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

è possibile farlo anche all'interno di un'app per Android? inoltre, è possibile ottenere tutto il file manifest e non solo il nome della versione? –

237

È possibile utilizzare direttamente aapt l -a name.apk comando per vedere il manifest.xml.

Questo collegamento potrebbe aiutare http://elinux.org/Android_aapt

(Questo sarà anche il dump della tabella delle risorse.)

+5

aapt è incluso nell'SDK di Android, inoltre è possibile utilizzare '--target-sdk-version' da inserire in manifest. –

+0

come decifrare solo xml? – aelam

+11

Questo è il modo più semplice. Lo uso sempre. 'aapt' si trova in' $ {ANDROID_HOME}/build-tools/[versione] 'forlder. Per stampare tutte le autorizzazioni, che l'app desidera utilizzare, esegui semplicemente: '$ aapt l -a app.apk | grep android.permission' – ddmytrenko

8

Il AXMLParser e APKParser.jar può anche fare il lavoro, si può vedere il link. AXMLParser

+1

Questo strumento non è stato aggiornato in anni. Google ha appena rilasciato uno [strumento di ispezione binaria Android] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/40686067#40686067) a novembre 2016. –

1

Questa è una vecchia discussione, ma ho pensato di menzionare che il telefono è root, è possibile visualizzarlo direttamente sul telefono tramite l'app di root explorer. Non devi nemmeno estrarlo per vedere.

+0

Dove puoi vedere esattamente il manifest? – barq

30

aapt d xmltree com.package.apk AndroidManifest.xml

permette di scaricare le AndroidManifest.xml dal APK specificato. Non è in formato XML, ma puoi ancora leggerlo.

aapt (Android Asset Packaging Tool) è uno strumento integrato fornito con l'SDK di Android.

6

V'è uno strumento online che consente di caricare un APK E decompila esso e, infine, consente di scaricare uno zip con tutte le sorgenti, file XML manifesto e così via decompilato, tutto questo senza dover installare alcun programma sul computer : http://www.javadecompilers.com/apk

Inoltre, se si desidera solo controllare su alcuni params è possibile, con la loro interfaccia utente

+0

Ha lavorato su un APK in agosto, non ha funzionato su un altro nel novembre –

9

È possibile utilizzare questo comando: salvare su fileAndroidManifest.txt

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

'd' è un'abbreviazione di' dump', che rende questa risposta identica a [questo] (http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/28464940 # 28464940), pubblicato più di un anno prima. –

+4

Sì, ma questo codice viene salvato nel file '> AndroidManifest.txt'. –

+5

Grande differenza !!! 111 –

30

Android Studio ora può mostrare questo. Vai a Build>Analyze APK... e seleziona il tuo apk. Quindi puoi vedere il contenuto del file AndroidManifset.

+1

Questa funzione è stata aggiunta di recente e vorrei anche suggerire questo a meno che tu non voglia usare la riga di comando e tu abbia il strumenti di piattaforma nel percorso creato. – anthonymonori

18

Google ha appena rilasciato uno strumento open source cross-platform per l'ispezione APK (tra molti altri formati binari Android):

ClassyShark è uno strumento di ispezione binario autonomo per gli sviluppatori di Android. Può navigare in modo affidabile su qualsiasi eseguibile Android e mostrare informazioni importanti come interfacce e membri di classe, conteggi dex e dipendenze. ClassyShark supporta diversi formati tra cui librerie (.dex, .aar, .so), eseguibili (.apk, .jar, .class) e tutti i Android XMLs binari: AndroidManifest, risorse, layout ecc

ClassyShark screenshot

0

È inoltre possibile utilizzare la mia app, App Detective per visualizzare il file manifest di qualsiasi app installata sul dispositivo.