החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
שימוש ב-Trade Federation עם שכבת סקריפטים ל-Android
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Scripting Layer for Android (SL4A) הוא ערכת כלים לאוטומציה שמאפשרת לבצע קריאות לממשקי API של Android באופן בלתי תלוי בפלטפורמה.
הוא תומך גם באוטומציה מרחוק באמצעות adb
וגם בהפעלת סקריפטים מהמכשיר באמצעות סדרה של שכבות תרגום קלילות.
הפרויקט נמצא בכתובת platform/external/sl4a.
שימוש
אפשר לבצע את ההוראות שמפורטות בקובץ README של SL4A כדי ליצור ולהתקין אותו באופן ידני. בנוסף, כשמריצים את הבדיקה דרך Tradefed, אפשר להשתמש בחלק מהשירותים של ערכת הכלים כדי להקל על השימוש.
הורדה והתקנה
אפשר להתחיל בבדיקה של BT-discovery-sl4a.xml, דוגמה להגדרה של Tradefed שמשתמשת בשני מכשירים. קובץ SL4A.apk
זמין ברוב גרסאות ה-build של המכשיר בתיקייה tests
.
בדוגמה של Tradefed שלמעלה, הגרסאות ה-build אוחזר באופן אוטומטי, מתבצע פלאש בשני המכשירים ומתקינים את 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
כתיבת בדיקה ב-Tradefed באמצעות SL4A
אפשר לפעול לפי דוגמת הבדיקה שמתוארת למעלה: Sl4aBluetoothDiscovery.java.
זוהי דוגמה טובה לתהליך השימוש ב-SL4A בבדיקה של Tradefed.
תיעוד API של SL4A
אפשר ליצור את הרשימה המלאה של קריאות החזרה (callbacks) שזמינות דרך SL4A. בספריית המקור של SL4A, platform/external/sl4a/
, מריצים את הפקודה הבאה:
python Docs/generate_api_reference_md.py
בתיקיית Docs יופיע קובץ 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."]]