1 つの apk ファイルをデコードしただけですが、問題は R.java ファイルを取得できないことです。
R.java
ファイルはアプリケーション内で自動的に作成されますが、apk ファイルをデコードすると、@string/abc や @color/white などの代わりに作成された 16 進値が返されますR.java
....
アプリケーションで文字列や色、またはその他のリソースを作成すると、Android プラットフォームはR.java
.その文字列または色のためですか?
ファイルを直接抽出することはできませんが、 「aapt」ツールを使用してファイルr.java
の内容を抽出できます。次のコマンドは、ファイルr.java
に存在するすべてのリソースとそれぞれの ID を一覧表示します。r.java
aapt d resources name_of_apk
R
クラスはネストされたクラスで構成され、各クラスは完全にコンパイル時の定数で構成されます。.apk ファイルが ProGuard によって難読化された場合 (これは、ほとんどすべての公開済みアプリに当てはまります)、これらすべてが最適化されています。回復する方法はありません。
android-apktoolをダウンロードし、同じディレクトリにすべて抽出して実行します
apktool d app.apk