[解決済み] APKファイルからソースコードを取得する方法はありますか?
質問
ノートパソコンのハードディスクがクラッシュしてしまい、過去2ヶ月間取り組んできたアプリのソースコードをすべて失ってしまいました。 私が持っているのは、友人に送ったときのメールに保存されているAPKファイルだけです。
このAPKファイルからソースコードを抽出する方法はありますか?
解決方法は?
簡単な方法:オンラインツールを使用する https://www.decompiler.com/ apkをアップロードしてソースコードを取得します。
.apkファイルをデコードする手順、ステップバイステップの方法。
ステップ1:
-
新しいフォルダを作成し、デコードしたい.apkファイルをコピーしてください。
-
ここで、この.apkファイルの拡張子を.zipに変更し(例: filename.apk から filename.zip にリネーム)、保存してください。これで、classes.dexファイルなどにアクセスできるようになりました。この段階では、drawableは見ることができますが、xmlやjavaファイルは見ることができませんので、続けてください。
ステップ2:
-
次に、この.zipファイルを同じフォルダ(または新しいフォルダ)に解凍します。
-
dex2jarのダウンロード をクリックし、同じフォルダ(またはNEW FOLDER)に解凍してください。
-
classes.dexファイルをdex2jarフォルダに移動します。
-
次にコマンドプロンプトを開き、そのフォルダにディレクトリを変更します(またはNEW FOLDER)。そして、次のように書きます。
d2j-dex2jar classes.dex
(Macのターミナルやubuntuの場合は./d2j-dex2jar.sh classes.dex
) を入力し、Enterキーを押します。これで、同じフォルダにclasses.dex.dex2jarファイルができました。 -
javaデコンパイラのダウンロード jd-guiをダブルクリックし、ファイルを開くをクリックし、そのフォルダーからclasses.dex.dex2jarファイルを開くと、クラスファイルが得られます。
-
これらのクラスファイルをすべて(jd-guiで、File -> Save All Sourcesをクリック)src名で保存してください。この段階で、javaのソースは得られますが、.xmlファイルはまだ読めませんので、続けます。
ステップ3:
別の新しいフォルダーを開いてください
-
デコードしたい.apkファイルを入れてください。
-
の最新版をダウンロードします。 アプツール AND apktoolインストール画面 (どちらも同じリンクからダウンロードできます)そして、同じフォルダーに配置します。
-
コマンドウィンドウを開く
-
次のようなコマンドを実行します。
apktool if framework-res.apk
(ない場合は ここで手に入れる )そして次は -
apktool d myApp.apk
(ここで myApp.apk はデコードしたいファイル名を表します)
で、その中にファイルフォルダができ、apkのxmlファイルを簡単に読み込むことができます。
ステップ4:
両方のフォルダの内容をコピーして、1つのフォルダを作成するだけです。
そして、ソースコードを楽しむ...
関連
-
Android TextViewにandroid:ellipsize=endのバグがある。
-
アンドロイドリストビュー
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] APKファイルのリバースエンジニアリングを回避する方法
-
[解決済み] AndroidエミュレーターにAPKファイルをインストールする方法を教えてください。
-
[解決済み] Androidのエラーです。デバイス*に*.apkをインストールできませんでした: タイムアウト
-
[解決済み] Android端末からapkファイルを取得する方法を教えてください。
-
[解決済み] ソースコードからres/values/dimension.xmlからディメンション値を読み込む。
-
[解決済み】root権限なしでインストールしたアプリのAPKを取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NetworkOnMainThreadException
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
repo: コマンドが見つかりません
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Android ProgressBarの色を変更する
-
Android Bluetooth 開発の基本プロセス
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated