kwandroid

kwandroid コマンドにより、Android プロジェクト (バージョン 10、11、12、13、14) 用のビルドスペックファイルを取得できるようになります。

Android 9 以前のバージョンに関するビルドスペックを生成するには、次の bash スクリプトを実行します。

#!/bin/bash
source build/envsetup.sh
lunch aosp_arm-eng
kwinject -o kwinject.out make

使用方法

kwandroid --android-version <version> --output <output_file> --android <dir> --script <script_file> [optional arguments]
フィールド
  • <version> は、Android のバージョン (例: 10、11、12、13、または 14) を指定します。
  • <output_file> は、作成されるビルドスペックファイルの名前を指定します。
  • <dir> は、Android 作業ディレクトリの場所です。
  • <script_file> は、Android ビルドの実行に使用される bash スクリプトです。例:
    #!/bin/bash
    source build/envsetup.sh
    lunch aosp_arm-eng
    m
    
  • [optional arguments] は、指定する任意の追加オプションです。詳細については、下記の「オプションの引数」を参照してください。

kwandroid は、指定された <script_file> に定義されているとおりに Android ビルドを実行します。kwandroid は、Java のビルドスペックをキャプチャし、指定された <output_file> に格納します。たとえば、次のコマンドを使用して Android 11 プロジェクトのビルドスペックをキャプチャできます。

$<kw-intallation-dir>/bin/kwandroid --android-version 11 --output /tmp/kwinject.out --android /space/android-r --script /space/android-r-build.sh

上記のコマンドは、Android-R プロジェクトのコンパイルを実行します (Android の作業ディレクトリは /space/android-r)。このコンパイルコマンドは /space/android-r-build.sh スクリプトファイルに定義されており、生成されるビルドスペックは /tmp/kwinject.out ファイルに格納されます。

オプション

名前 (および短い名前) 説明
--android-version <version> Android のバージョンを指定する
--android <dir> Android 作業ディレクトリの場所
--bazel Android Bazel ビルドの分析をサポート
--output <file> 作成するビルドスペック <file>
--script <file> Android ビルドを実行する bash スクリプト

オプションの引数

名前 (および短い名前) 説明
--trace-out <file> 作成するトレースファイルを指定する (デフォルトは 'trace.out')
--config <file> (-c) ファイルからフィルター構成を読み取る (デフォルトは KW-HOME/config/kwfilter.conf)
--no-config 構成ファイルからフィルター構成を読み取らない
--no-resolve シンボリックリンクを解決しない
--prog PROG[=FILTER][,PROG[=FILTER]...](-P) コマンド PROG の実行をインターセプトする、FILTER を使用してオプション/引数を処理する
--ignore-files PATTERN[,PATTERN...]

指定されたパターンのいずれかに一致する C/C++ または Java ソースファイルを無視する。パターンの例:

*/srcjars/android/Manifest.java,*/srcjars/android/R.java
*LockscreenShadeScrimTransitionController_Factory.java
/space/android/packages/apps/Gallery2/**/*.java
/space/android/packages/apps/Gallery2/**/LightCycleHelper.java
/space/android/packages/apps/Gallery2/src_pd/com/android/gallery3d/util/LightCycleHelper.java
*packages/apps/Gallery2/*/*.java
--white-dir <directory> 一時ファイルの場合でも、指定されたディレクトリから入力ファイルを許可する
--exclude-prog PATTERN[,PATTERN...] 指定されたパターンのいずれかに一致するプログラムを処理しない
--exclude-description PATTERN[,PATTERN...] 指定されたパターンのいずれかに記述が一致する場合にプログラムを処理しない
--cache-files PATTERN[,PATTERN...](-C) 指定されたパターンのいずれかに一致するソースファイルを保存する、ビルド時にこれらのファイルのいずれかが削除されていた場合は復元される
--cache-dir <directory> 指定されたキャッシュディレクトリを使用して、ソースファイルを保存する (デフォルトは現在の作業ディレクトリ)
--variable VARIABLE=STRING (-V) 出力ファイル内のすべての STRING の出現を、VARIABLE への参照に置き換える
--filter <file> (-F) 指定されたファイルから変数を読み取る
--lang LANGUAGE C/C++ (cxx) と Java (java) で別々の build specification (ビルドスペック) を生成するための言語オプションを指定します。--lang を宣言しない場合は、デフォルトの動作が適用され、C/C++ と Java の両方がトレースされます。