APKファイルからAndroidManifest.xmlを表示する方法


309

Androidmanifest.xmlファイルを表示することは可能ですか?

apkファイルの拡張子をに変更しましたzip。このzipファイルにはファイルが含まれていAndroidmanifest.xmlます。しかし、の内容を表示できませんAndroidmanifest.xml。完全に暗号化されています。

Androidmanifest.xmlファイルを表示するにはどうすればよいですか?


APKファイルが1つあります。Androidmanifest.xmlファイルを表示する必要があります。1つのフレームワークを使用したため。そのAPKファイルも同じフレームワークを使用しました。したがって、そのAPKファイルからAndroidmanifestファイルを構成する方法を確認する必要があります。
10

@Jason Rogers:その情報を見ることができる私の知る限り。これを
Vikas Patidar

回答:


220

はいXMLAndroid APKファイルのファイルを表示できます。これのためのツールがあります:android-apktool

これは、サードパーティのクローズドバイナリAndroidアプリをリバースエンジニアリングするためのツールです。

Windowsシステムでこれを行う方法:

  1. apktool-install-windows- *ファイルをダウンロード
  2. apktool- *ファイルをダウンロード
  3. 両方をWindowsディレクトリに解凍します

次にAPK、そのディレクトリにもファイルをコピーし、コマンドプロンプトで次のコマンドを実行します。

apktool d HelloWorld.apk ./HelloWorld

これHelloWorldにより、現在のディレクトリにディレクトリ「」が作成されます。その中にAndroidManifest.xml、復号化された形式でファイルを見つけることができXML"HelloWorld/res/layout"ディレクトリ内の他のファイルを見つけることもできます。

ここHelloWorld.apkにあなたのAndroid APKファイルがあります。

詳細については、以下のスクリーンショットを参照してください。 代替テキスト


15
これはいいですが、AndroidManifest.xmlをダウンロードせずにAndroidManifest.xmlを確認する方法を知りたいです。暗号化または圧縮されていますか?
JohnnyLambada 2011年

1
@JohnnyLambada:はい、WinRar / WinZip / 7Zipのようなアーカイブツールで開いて表示できますが、暗号化されているため意味がありません。
Vikas Patidar、2011

9
apktoolは非推奨です。最新バージョンについては、プロジェクトのホームページを参照してください。
Deqing

1
スレッド「メイン」の例外brut.androlib.AndrolibException:複数のリソース:brut.androlib.res.data.ResConfig.addResource(Unknown Source)
WindRider

3
現在、コマンドは最新バージョンに変更されていますapktool d your_destination youraApk.apk
Pranoy Sarkar 2017年

109

Android Studioでこれを表示できるようになりました。Build>に移動しAnalyze APK...てAPKを選択します。次に、AndroidManifsetファイルの内容を確認できます。


3
この機能は最近追加されました。コマンドラインの使用に熱心で、パスにplatform-toolsが設定されていない限り、これもお勧めします。
anthonymonori 2016年

8
これがベストアンサーになるために賛成されるべきです、他の方法は不必要に複雑になりました。
セバスチャン2018年

3
この組み込みのコマンドラインバージョンもあります:stackoverflow.com/a/54874783/89818
caw

46

aapt d xmltree com.package.apk AndroidManifest.xml

をダンプします AndroidManifest.xml指定されたAPKからます。XML形式ではありませんが、引き続き読むことができます。

aapt (Android Asset Packaging Tool)は、Android SDKに付属の組み込みツールです。


45

このスレッドでは、Dianne Hackbornがaaptを使用してAndroidManifestから情報を取得できることを伝えています。

バージョン情報を取得するために、この簡単なUNIXコマンドをホイップしました。

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

Androidアプリ内でも可能ですか?また、バージョン名だけでなく、すべてのマニフェストファイルを取得することは可能ですか?
Android開発者、

36

Googleは、APKを検査するためのクロスプラットフォームオープンソースツールをリリースしました(他の多くのバイナリAndroid形式の中でも):

上品なサメは、Android開発者向けのスタンドアロンのバイナリ検査ツールです。Android実行可能ファイルを確実に参照し、クラスのインターフェイスとメンバー、dex数、依存関係などの重要な情報を表示できます。ClassySharkは、ライブラリ(.dex、.aar、.so)、実行可能ファイル(.apk、.jar、.class)、およびすべてのAndroidバイナリXML(AndroidManifest、リソース、レイアウトなど)を含む複数のフォーマットをサポートしています。

ClassySharkスクリーンショット


3
これはApktoolより10000倍簡単です!
ギルヘルメカンポスハザン

18

Android SDKにバンドルされているapkanalyzerコマンドラインバージョンのAPK Analyzerを使用できます。CLIで次のコマンドを実行するだけです。

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

/path/to/android-sdkAndroid SDKのバージョンへの正しいパスと/path/to/app.apkAPKファイルへのパスに置き換えるだけです。


8
未検証のソースから何かをインストールする必要がないため、これは受け入れられる答えになるはずです。
c4k

これはWindowsでは機能しないようです:( stackoverflow.com/a/54593118/997940
Yoav Feuerstein

エラーが表示されます:スレッド「メイン」の例外java.lang.IllegalStateException:ツールディレクトリプロパティが設定されていません。apkanalyzerを実行していることを確認してください。解決方法がわからなかった
jk2K

あなたはMacOSのにしている場合、これは最も可能性の高いあなたが必要とするパスです:~/Library/Android/sdk/tools/bin/apkanalyzer manifest print <apk>
フレデリック

15

このコマンドを使用できます:ファイルに保存 AndroidManifest.txt

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

2
d略称でdump同一のこの答えになり、この1以上前年より投稿されました。
Dan Dascalescu

4
はい。ただし、このコードはファイルに保存されます> AndroidManifest.txt
Ahmad Aghazadeh

笑、それは同じ答えです。ファイルをダンプしても違いはありません
Leonardo Sapuy

8

AXMLParserAPKParser.jarはまた仕事をすることができ、あなたは、リンクを参照してくださいすることができます。AXMLParser


1
そのツールは、何年も更新されていません。Googleは2016
。– Dan Dascalescu

7

APKをアップロードできるオンラインツールがあります。それを逆コンパイルして、最終的にすべてのソース、マニフェストXMLファイルなどを含むzipをダウンロードして、コンピューターにプログラムをインストールすることなくすべてをコンパイルできます: http:/ /www.javadecompilers.com/apk

また、あなたができるいくつかのパラメータをチェックしたい場合は、そのUIによって


8月にAPKで作業し、11月には別のAPKで作業しませんでした
Dan Dascalescu

apktoolsは、出力用のディレクトリを作成していないようで、aaptは結果をXML形式で表示しませんでした。このウェブサイトは魅力のように働きました。
クレグス

6

axmldecAndroidManifest.xmlを使用してファイルをデコードするには:

axmldec -o output.xml AndroidManifest.xml

または

axmldec -o output.xml AndroidApp.apk

この作品と簡単に自作を経由してインストールすることができますbrew tap ytsutano/toolbox brew install axmldec
gmoz22

5

Android SDKビルドツールに含まれているAapt2がこれを実行できます。サードパーティのツールは必要ありません。

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

build-tools v29以降、次のコマンドを追加する必要がありますxmltree

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

これは元のXMLを出力しませんが、APKを抽出したり一時ファイルに書き込んだりすることなく、その中の値を確認するだけでよい場合は問題ありません。
Raziel

2

私のアプリApp Detectiveを使用して、デバイスにインストールしたアプリのマニフェストファイルを表示することもできます。


0

これは古いスレッドですが、あなたの電話にはルートがあるので、ルートエクスプローラーアプリを使用して電話で直接表示できます。見るためにそれを抽出する必要さえありません。


-1

ファイルは逆コンパイルする必要があります(またはdeodexはどちらが正しいかわかりません)。しかし、これを行う別の方法があります:

-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]\

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.