1. ホーム
  2. android

[解決済み] APKファイルからソースコードを取得する方法はありますか?

2022-03-17 14:21:31

質問

ノートパソコンのハードディスクがクラッシュしてしまい、過去2ヶ月間取り組んできたアプリのソースコードをすべて失ってしまいました。 私が持っているのは、友人に送ったときのメールに保存されているAPKファイルだけです。

このAPKファイルからソースコードを抽出する方法はありますか?

解決方法は?

簡単な方法:オンラインツールを使用する https://www.decompiler.com/ apkをアップロードしてソースコードを取得します。


.apkファイルをデコードする手順、ステップバイステップの方法。

ステップ1:

  1. 新しいフォルダを作成し、デコードしたい.apkファイルをコピーしてください。

  2. ここで、この.apkファイルの拡張子を.zipに変更し(例: filename.apk から filename.zip にリネーム)、保存してください。これで、classes.dexファイルなどにアクセスできるようになりました。この段階では、drawableは見ることができますが、xmlやjavaファイルは見ることができませんので、続けてください。

ステップ2:

  1. 次に、この.zipファイルを同じフォルダ(または新しいフォルダ)に解凍します。

  2. dex2jarのダウンロード をクリックし、同じフォルダ(またはNEW FOLDER)に解凍してください。

  3. classes.dexファイルをdex2jarフォルダに移動します。

  4. 次にコマンドプロンプトを開き、そのフォルダにディレクトリを変更します(またはNEW FOLDER)。そして、次のように書きます。 d2j-dex2jar classes.dex (Macのターミナルやubuntuの場合は ./d2j-dex2jar.sh classes.dex ) を入力し、Enterキーを押します。これで、同じフォルダにclasses.dex.dex2jarファイルができました。

  5. javaデコンパイラのダウンロード jd-guiをダブルクリックし、ファイルを開くをクリックし、そのフォルダーからclasses.dex.dex2jarファイルを開くと、クラスファイルが得られます。

  6. これらのクラスファイルをすべて(jd-guiで、File -> Save All Sourcesをクリック)src名で保存してください。この段階で、javaのソースは得られますが、.xmlファイルはまだ読めませんので、続けます。

ステップ3:

別の新しいフォルダーを開いてください

  1. デコードしたい.apkファイルを入れてください。

  2. の最新版をダウンロードします。 アプツール AND apktoolインストール画面 (どちらも同じリンクからダウンロードできます)そして、同じフォルダーに配置します。

  3. コマンドウィンドウを開く

  4. 次のようなコマンドを実行します。 apktool if framework-res.apk (ない場合は ここで手に入れる )そして次は

  5. apktool d myApp.apk (ここで myApp.apk はデコードしたいファイル名を表します)

で、その中にファイルフォルダができ、apkのxmlファイルを簡単に読み込むことができます。

ステップ4:

両方のフォルダの内容をコピーして、1つのフォルダを作成するだけです。

そして、ソースコードを楽しむ...