1

.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 にあります。新品にはパッケージングのオプションはありません。aaptaapt2

では、問題は、.apkソース コードから完全なコードを作成するために、どのコマンド ライン ツールをどの順序で使用するかということです。ありがとうございました!

編集:私が探しているのは、コマンドラインで段階的に aが作成されるthisに似ています。.apk答えだけが古いaaptを使用していますが、これはもう使用されていないと思います。

編集 2:不足している情報を提供してくれたAllen Shawに 感謝します。でアプリをコンパイルできるようになりましたaapt2。私の質問に対する答えは、単純にaapt2出力と .zip を圧縮することでしたclasses.dex

4

1 に答える 1

1

aapt2コマンドを使用することもできます

aapt2 link -o output.apk

ここでGoogleドキュメントを参照してください

apk に .dex ファイルを追加します。

zip -ur app-debug.apk classes.dex
于 2021-10-14T08:38:46.573 に答える