2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
Trade Federation で Android 用スクリプト レイヤを使用する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android 用スクリプト レイヤ(SL4A)は、プラットフォームに依存しない方法で Android API を呼び出すための自動化ツールセットです。adb
を介したリモート自動化と、一連の軽量変換レイヤを介したデバイスからのスクリプト実行の両方をサポートします。
プロジェクトは platform/external/sl4a にあります。
使用方法
SL4A の README に沿って、手動で SL4A をビルドおよびインストールできます。また、Tradefed を通じて実行する場合、いくつかのハーネス ユーティリティを利用することにより、簡単に使用できます。
ダウンロードとインストール
最初に、BT-discovery-sl4a.xml を確認してください。これは、2 つのデバイスを使用する Tradefed 構成のサンプルです。SL4A.apk
は、tests
フォルダ内のほとんどのデバイスビルドで使用できます。
上記の Tradefed サンプルは、ビルドを自動的に取得し、両方のデバイスをフラッシュして、両方のデバイスに SL4A.apk
をインストールします。次のようにして実行できます。
source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a
ビルド後は次のように実行します。
./tradefed.sh run google/example/BT-discovery-sl4a
SL4A を使用した Tradefed でのテスト作成
上記のテストサンプル(Sl4aBluetoothDiscovery.java)をご確認ください。このサンプルは、Tradefed テストで SL4A を使用するフローの良い例です。
SL4A API ドキュメント
SL4A で使用可能なコールバックの完全なリストを生成できます。SL4A ソース ディレクトリ(platform/external/sl4a/
)から、次のコマンドを実行します。
python Docs/generate_api_reference_md.py
Docs ディレクトリには、SL4A で使用できる RPC 関数を含む ApiReference.md
ファイルと、RPC 関数のドキュメントがあります。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Use Trade Federation with Scripting Layer for Android\n\nScripting Layer for Android, SL4A, is an\nautomation toolset for calling Android APIs in a platform-independent manner.\nIt supports both remote automation via `adb` and execution of scripts\nfrom on-device via a series of lightweight translation layers.\n\nThe project is located at [platform/external/sl4a](https://android.googlesource.com/platform/external/sl4a/).\n\nUse\n---\n\nYou can follow the [SL4A README](https://android.googlesource.com/platform/external/sl4a/+/refs/heads/android16-release/README.md)\nto build and install it manually. And when running through Tradefed, you\ncan take advantage of some of the harness utilities to make use easier.\n\n### Download and install\n\nYou can start by reviewing\n[BT-discovery-sl4a.xml](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/res/config/google/example/BT-discovery-sl4a.xml),\nan example Tradefed configuration that uses two devices. The `SL4A.apk` is\navailable in most device builds within their `tests` folder.\n\nThe Tradefed example above automatically fetches the builds, flashes both\ndevices and installs `SL4A.apk` on both devices. You can run it like so: \n\n source build/envsetup.sh\n lunch\n make sl4a\n tradefed.sh run google/example/BT-discovery-sl4a\n\nOr once built: \n\n ./tradefed.sh run google/example/BT-discovery-sl4a\n\n### Write a test in Tradefed using SL4A\n\nYou can follow the test sample describe above:\n[Sl4aBluetoothDiscovery.java](https://android.googlesource.com/platform/tools/tradefederation/contrib/+/refs/heads/android16-release/src/com/android/tradefed/Sl4aBluetoothDiscovery.java).\nThis gives a good example of the flow to use SL4A within a Tradefed test.\n\n### SL4A API documentation\n\nThe complete list of callbacks available through SL4A can be generated. From the\nSL4A source directory, `platform/external/sl4a/`, run this command: \n\n python Docs/generate_api_reference_md.py\n\nIn the Docs directory there will be an `ApiReference.md` file that contains\nthe RPC functions available in SL4A, as well as documentation for the RPC\nfunctions."]]