0

私はすでにAndroidアプリケーション(.apkファイル)をコンパイルしています。開始前にスプラッシュ画面を表示するように変更したい。ソースコードなしでこれを行うことはできますか?

4

2 に答える 2

4

あまり。

逆コンパイルは直接的なプロセスではありません。コンパイルプロセスで大量の情報が失われます(変数名が破棄されたり、コメントが破棄されたりします...)。アンドロイド用:

  • APKは、一連のクラスとリソースを含む単なるzipファイルです。
  • これらのクラスは.dexファイルにコンパイルされます。
  • その.dexファイルには、Java仮想マシンのコードにいくぶん似ているコードが含まれています。
  • ツールを使用して、dexをjarに変換できますdex2jar
  • これを行った後、Javaデコンパイラーを使用するだけです。

ただし、元の質問で尋ねられているように、この方法でコードを変更することは基本的に不可能であり、保守不可能な恐ろしいコードの山が生成されます。逆コンパイルされたコードがどのように機能するかを部分的に理解し(コメントや中間変数名がないため)、これを実行してから変更するのにも長い時間がかかります...

于 2012-06-11T12:40:44.197 に答える
0

この質問を参照してください。

まず、apkファイルは単なる変更されたjarファイルです。したがって、本当の問題は、内部のdexファイルを逆コンパイルできるかどうかです。答えは一種です。

したがって、.APKのコンパイルに使用したソースコードを変更しただけの場合が最も簡単です。

于 2012-06-11T12:21:11.363 に答える