Scripting Layer for Android (SL4A) הוא ערכת כלים לאוטומציה שמאפשרת לקרוא ל-Android API באופן שלא תלוי בפלטפורמה.
הוא תומך באוטומציה מרחוק באמצעות adb
ובהרצת סקריפטים מהמכשיר באמצעות סדרה של שכבות תרגום קלות משקל.
הפרויקט נמצא במיקום platform/external/sl4a.
שימוש
אפשר לפעול לפי ההוראות בקובץ ה-README של SL4A כדי ליצור ולהתקין אותו באופן ידני. כשמריצים את הבדיקות דרך Tradefed, אפשר להשתמש בכמה כלי עזר של Harness כדי להקל על השימוש.
הורדה והתקנה
אפשר להתחיל בבדיקת 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.
מאמרי העזרה של SL4A API
אפשר ליצור את הרשימה המלאה של פונקציות ה-callback שזמינות דרך SL4A. מריצים את הפקודה הבאה מהספרייה של קוד המקור של SL4A, platform/external/sl4a/
:
python Docs/generate_api_reference_md.py
בספרייה Docs יהיה קובץ ApiReference.md
שמכיל את פונקציות ה-RPC שזמינות ב-SL4A, וגם תיעוד של פונקציות ה-RPC.