ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ใช้ Trade Federation กับเลเยอร์สคริปต์สําหรับ Android
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Scripting Layer for Android หรือ SL4A เป็นชุดเครื่องมืออัตโนมัติสำหรับการเรียกใช้ Android API ในลักษณะที่ไม่ขึ้นอยู่กับแพลตฟอร์ม
โดยรองรับทั้งการทำงานอัตโนมัติจากระยะไกลผ่าน adb
และการดำเนินการสคริปต์จากในอุปกรณ์ผ่านชุดเลเยอร์การแปลแบบเบา
โปรเจ็กต์อยู่ที่ platform/external/sl4a
ใช้
คุณสามารถทำตามREADME ของ SL4A เพื่อสร้างและติดตั้งด้วยตนเอง และเมื่อเรียกใช้ผ่าน Tradefed คุณก็ใช้ประโยชน์จากยูทิลิตีบางอย่างของ Harness เพื่อช่วยให้การใช้งานได้สะดวกขึ้น
ดาวน์โหลดและติดตั้ง
คุณอาจเริ่มต้นด้วยการตรวจสอบไฟล์ BT-discovery-sl4a.xml ซึ่งเป็นตัวอย่างการกำหนดค่า Tradefed ที่ใช้อุปกรณ์ 2 เครื่อง SL4A.apk
พร้อมใช้งานในบิลด์อุปกรณ์ส่วนใหญ่ภายในโฟลเดอร์ tests
ตัวอย่าง Tradefed ด้านบนจะดึงข้อมูลบิลด์ แฟลชทั้ง 2 อุปกรณ์ และติดตั้ง SL4A.apk
ในทั้ง 2 อุปกรณ์โดยอัตโนมัติ คุณเรียกใช้ได้โดยทำดังนี้
source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a
หรือเมื่อสร้างแล้ว ให้ทำดังนี้
./tradefed.sh run google/example/BT-discovery-sl4a
เขียนการทดสอบใน Tradefed โดยใช้ SL4A
คุณสามารถทำตามตัวอย่างการทดสอบที่อธิบายไว้ด้านบน นั่นคือ Sl4aBluetoothDiscovery.java
ตัวอย่างนี้แสดงขั้นตอนการใช้ SL4A ในการทดสอบ Tradefed
เอกสารประกอบของ SL4A API
คุณสามารถสร้างรายการการเรียกกลับทั้งหมดที่ใช้ได้ผ่าน SL4A จากไดเรกทอรีแหล่งที่มาของ platform/external/sl4a/
ใน SL4A ให้เรียกใช้คําสั่งนี้
python Docs/generate_api_reference_md.py
ในไดเรกทอรีเอกสารจะมีไฟล์ ApiReference.md
ที่มีฟังก์ชัน RPC ที่พร้อมใช้งานใน SL4A รวมถึงเอกสารประกอบสำหรับฟังก์ชัน RPC
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 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-07-27 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."]]