.apk
ソースコードからファイルがどのように構築されるかを理解しようとします。Android Studio またはコマンドgradlew
を使用すると、ビルドを簡単に行うことができます。Android Sdk は、.apk をビルドするために使用される複数のツールを提供します。それらのほとんどは、私が何をするかを知っています。
d8
: Javaバイトコードからdalvikバイトコードへ
aapt2
: リソースをコンパイルしてリンクします。このツールは、.apk
コンパイルされたリソースのファイルを作成します。R.java
(コード内のリソースを参照するためにも作成します。)
apksigner
: を受け取って.apk
署名します。そうしないと、Android デバイスにインストールできません。
zipalign
: の非圧縮データを整列します.apk
最後の 2 つのツールはapk
、すでにすべてのファイルが含まれている で使用されます。私が理解していないのは、コンパイルされたコードとコンパイルされたリソースがどのように組み合わされるかです? 以前aapt2
はパッケージ化が行われたものでしたが、Androids Documentationaapt
にも記載されていません。ただし、まだ Android Sdk build-tools にあります。新品にはパッケージングのオプションはありません。aapt
aapt2
では、問題は、.apk
ソース コードから完全なコードを作成するために、どのコマンド ライン ツールをどの順序で使用するかということです。ありがとうございました!
編集:私が探しているのは、コマンドラインで段階的に aが作成されるthisに似ています。.apk
答えだけが古いaapt
を使用していますが、これはもう使用されていないと思います。
編集 2:不足している情報を提供してくれたAllen Shawに
感謝します。でアプリをコンパイルできるようになりましたaapt2
。私の質問に対する答えは、単純にaapt2
出力と .zip を圧縮することでしたclasses.dex
。