2010-11-16 213 views
233

可以查看Androidmanifest.xml文件嗎?如何從APK文件查看AndroidManifest.xml?

我只是將apk文件的擴展名更改爲zip。此zip文件包含Androidmanifest.xml文件。但我無法查看Androidmanifest.xml的內容。它是完全加密的。

如何查看Androidmanifest.xml文件?

+0

嗨 據我所知這是不可能的, 你試圖得到什麼信息? – 2010-11-16 06:43:54

+0

我有一個APK文件。我需要查看Androidmanifest.xml文件。因爲我使用了一個框架。該APK文件也使用了相同的框架。所以我需要看看如何從APK文件中配置Androidmanifest文件。 – bharath 2010-11-16 06:48:09

+0

@Jason Rogers:AFAIK你可以查看這些信息。請參閱[this](http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/4191807#4191807) – 2011-02-22 12:54:17

回答

199

是的,你可以查看Android APK文件的XML文件。有這個工具:android-apktool

這是逆向工程3 黨的工具,封閉的,二進制Android應用

如何做到這一點在你的Windows系統:

  1. Download apktool-install-windows-* file
  2. Download apktool-* file
  3. 解包到您的Windows目錄ectory

現在還複製APK文件在該目錄中,並在命令提示符下運行以下命令:

apktool d HelloWorld.apk ./HelloWorld 

這將創建在當前目錄的目錄「HelloWorld」。在裏面你可以找到解密格式的AndroidManifest.xml文件,你也可以在"HelloWorld/res/layout"目錄中找到其他XML文件。

這裏HelloWorld.apk是你的Android APK文件。

更多信息請參見下面的屏幕截圖: alt text

+12

這很好,但我想知道如何只需查看AndroidManifest.xml而不必下載所有這些內容。它是加密還是壓縮? – JohnnyLambada 2011-01-15 00:59:15

+1

** @ JohnnyLambada **:是的,您可以打開並查看它的存檔工具,如:** WinRar/WinZip/7Zip **,但沒有任何意義,因爲它是加密形式。 – 2011-02-19 09:24:46

+0

是否可以解密,稍微改變一下(例如minSdkVersion),然後將它放回到apk中? – 2012-07-13 08:25:35

40

在這種thread,戴安娜Hackborn告訴我們,我們可以得到的信息出AndroidManifest使用AAPT的。

我颳起了這個快速unix命令來獲取版本信息:

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

即使在Android應用程序中也可以做到這一點嗎?另外,是否有可能獲得所有的清單文件而不僅僅是版本名稱? – 2014-02-23 18:17:57

237

您可以直接使用aapt l -a name.apk命令來查看manifest.xml中。

此鏈接可能會幫助http://elinux.org/Android_aapt

(這也將轉儲資源表。)

+5

aapt包含在Android SDK中,您也可以使用'--target-sdk-version'來插入清單。 – 2013-06-25 16:43:15

+0

如何解密XML只? – aelam 2013-11-28 14:47:07

+11

這是最簡單的方法。我總是使用它。位於$ {ANDROID_HOME}/build-tools/[version]'forlder中的'aapt'。要打印應用程序想要使用的所有權限,請運行:'$ aapt l -a app.apk | grep android.permission' – ddmytrenko 2015-09-04 12:45:00

8

AXMLParserAPKParser.jar也可以做的工作,你可以看到該鏈接。 AXMLParser

+1

該工具在幾年內還沒有更新。 Google剛剛在2016年11月發佈了一個[Android二進制檢測工具](http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/40686067#40686067)。 – 2016-11-18 21:19:43

1

這是一個古老的線程,但我想我會提到,您的手機有root用戶,您可以使用root explorer應用程序直接在手機上查看它。你甚至不必提取它看。

+0

Where你能準確地看到清單嗎? – barq 2016-02-08 09:28:55

30

aapt d xmltree com.package.apk AndroidManifest.xml

將轉儲從指定的APK的AndroidManifest.xml。它不是XML格式,但您仍然可以閱讀它。

aapt(Android資產打包工具)是一款內置於Android SDK的工具。

6

有一個在線工具,可以讓你上傳一個APK它反編譯它,最後讓你下載一個包含所有源代碼的zip文件,清除反編譯的XML文件等,所有這些都不需要在你的計算機上安裝任何程序: http://www.javadecompilers.com/apk

此外,如果你想只是去檢查一些PARAMS就可以了,通過他們的UI

+0

八月份在APK上工作,在11月沒有在另一個工作。 – 2016-11-18 21:07:57

9

你可以使用這個命令:保存到文件AndroidManifest.txt

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

'd'是'dump'的縮寫,它使得這個答案與[this one]相同(http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file/28464940#28464940),這是超過一年前發佈的。 – 2016-08-09 22:53:58

+4

是的,但是這個代碼保存在文件'> AndroidManifest.txt'中。 – 2016-08-10 08:01:28

+5

差別很大!!! 111 – 2016-08-10 18:39:50

30

Android Studio現在可以顯示此內容。請轉至Build>Analyze APK...並選擇您的apk。然後你可以看到AndroidManifset文件的內容。

+1

最近增加了這個功能,我也想提出這個建議,除非你非常喜歡使用命令行,而且你有平臺工具在您的路徑設置。 – anthonymonori 2016-11-18 21:31:04

18

谷歌剛剛進行檢查的APK(許多其他二進制的Android格式中)釋放出跨平臺的開源工具:

ClassyShark是Android開發一個獨立的二進制檢查工具。它可以可靠地瀏覽任何Android可執行文件並顯示重要信息,例如類接口和成員,dex數量和依賴關係。 ClassyShark支持多種格式,包括庫(.DEX,.aar,。所以),可執行文件(的apk,的.jar,的.class)和所有的Android二進制個XML:AndroidManifest,資源,佈局等

ClassyShark screenshot

0

您還可以使用我的應用程序App Detective查看您設備上安裝的任何應用程序的清單文件。