128

.apkファイルのコンテンツを抽出して表示する方法はありますか?

4

13 に答える 13

147

実際、apkファイルは単なるzipアーカイブであるため、ファイルの名前をに変更しtheappname.apk.zipて、任意のzipユーティリティ(7zipなど)で抽出することができます。

ファイルとリソースが抽出されandroidmanifest.xmlて表示できますが、ソースコードはパッケージに含まれていません。コンパイルされた.dexファイル( "Dalvik Executable")のみです。

于 2010-08-30T09:29:28.580 に答える
44

現在、AndroidStudioに同梱されています。APKのビルド/分析に移動します...次にAPKを選択します:)

ここに画像の説明を入力してください

于 2017-06-11T18:40:36.140 に答える
17

解凍するとリソースが表示されますが、AndroidManifest.xmlはエンコードされます。apktoolとりわけ、このファイルをデコードすることもできます。

App.apkアプリケーションをフォルダにデコードするには、次Appを実行します

apktool decode App.apk App

apktool公式のAndroidSDKには含まれていませんが、ほとんどのパケットリポジトリを使用して利用できます。

于 2014-06-15T12:27:34.177 に答える
11

zzosもあります。(完全開示:私はそれを書きました)。dex部分ではなく、実際のリソースを逆コンパイルするだけです(私が作成しなかったbaksmaliは、その部分を処理する優れた仕事をします)。

Zzosはapktoolほど知られていませんが、それによってより適切に処理されるAPKがいくつかあります(逆もまた同様です。これについては後で詳しく説明します)。ほとんどの場合、カスタムリソースタイプ(修飾子ではない)を含むAPKは、前回チェックしたときにapktoolによって処理されず、zzosによって処理されました。zzosがより適切に処理できるようにエスケープする場合もあります。

マイナス面として、zzos(現在のバージョン)をインストールするには、いくつかのサポートツールが必要です。これはperlで書かれており(Javaで書かれているAPKToolとは対照的に)、実際の逆コンパイルにはaaptを使用します。また、属性リソースはまだ逆コンパイルされていません(APKToolは逆コンパイルします)。

名前の意味は、Androidのリソースコンパイラである「aapt」を1文字下にシフトしたものです。

于 2012-07-08T15:31:08.220 に答える
8

利用可能なツールがいくつかあります。

  • Aapt(Android SDKの一部です)

    $ aapt dump badging MyApk.apk
    $ aapt dump permissions MyApk.apk
    $ aapt dump xmltree MyApk.apk
    
  • Apktool

    $ java -jar apktool.jar -q decode -f MyApk.apk -o myOutputDir
    
  • Androidマルチツール

  • APKビューア

  • ApkShellext

  • Dex2Jar

    $ dex2jar/d2j-dex2jar.sh -f MyApk.apk -o myOutputDir/MyApk.jar
    
  • NinjaDroid

    $ ninjadroid MyApk.apk
    $ ninjadroid MyApk.apk --all --extract myOutputDir/
    
  • AXMLParser

    $ apkinfo MyApk.apk
    
于 2014-01-25T01:43:28.140 に答える
8

apkファイルを開くための4つの提案された方法:

1.AndroidStudioでapkファイルを開く(写真、Javaコード、サイズ分析用)最良の方法

ここに画像の説明を入力してください

2.アプリケーションで開くwinRar、7zipなど(写真を見るだけで...)

3.ウェブサイトのjavadecompilersを使用します(写真およびJavaコード用)

4.APKツールを使用する(写真およびJavaコード用)

于 2018-06-23T12:20:59.963 に答える
7

unzip my.apk

APK形式は上部のZIPファイルにすぎないため、これはLinuxコマンドラインからのトリックを実行します。

于 2017-10-31T08:26:01.763 に答える
3

アンドロイドapk用のオンライン逆コンパイラがあります

http://www.decompileandroid.com/

ローカルマシンからapkをアップロードする

しばらくお待ちください

ソースコードをzip形式でダウンロードします。

解凍すると、すべてのリソースを正しく表示できますが、すべてのJavaファイルが正しく逆コンパイルされません。

詳細については、この回答をご覧ください

于 2014-12-03T06:23:30.990 に答える
2

APKを抽出する理由によっては、APKアナライザーで十分な場合があります。ディレクトリとファイルサイズが表示されます。また、ドリルダウンできるパッケージごとにグループ化されたメソッド数も表示されます。

APKアナライザーはAndroidStudioに組み込まれています。トップメニューの[ビルド]->[APKの分析]からアクセスできます。

于 2017-01-19T08:55:59.283 に答える
2

cordovaとangularjsを使用して開発されたハイブリッドアプリの場合、次のことができます。

1) .apkファイルの名前を.zipに変更します
。2)コンテンツを抽出/解凍します
。3)アセットフォルダーにwwwフォルダーがあります。

于 2018-06-29T04:37:26.610 に答える
1

Jadx(https://github.com/skylot/jadx)を使用することもできます。このページに記載されているすべてのツールを使用しましたが、Jadxが最適であることがわかりました。マニフェストファイルおよびその他のクラスファイルは、このツールによって可能な限り読み取り可能な形式に変換されます。

PS- http: //www.javadecompilers.com/apkもjadxデコンパイラーを使用して同じ作業をオンラインで実行します。単一のapkをアーカイブ解除したい場合はもっと簡単です。

乾杯!

于 2016-08-11T11:30:12.410 に答える
0

また、Androidデバイス自体の中にAPKファイルの内容を表示することもできます。これは、デバッグに大いに役立ちます。

アプリのマニフェストを含むすべてのファイルは、メールやクラウドなどを使用して表示および共有できます。ルート化は必要ありません。アプリは以下から入手できます:

https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek

免責事項:私はこのアプリの作者です。

于 2018-05-20T16:42:58.413 に答える
0

APKスキャナーはPC上のAPKファイルの情報を表示することができます。
また、Androidデバイスからapkファイルをプルすることができます。
また、他のツールにリンクすることもできます(JADX-GUI、JD-GUI ...)

ここに画像の説明を入力してください

于 2019-02-28T07:34:46.650 に答える