Android용 스크립팅 레이어에 Trade Federation 사용

Android용 스크립팅 레이어인 SL4A는 플랫폼과 상관없는 방식으로 Android API를 호출하기 위한 자동화 도구 모음입니다. adb를 통한 원격 자동화와 일련의 가벼운 변환 레이어를 통한 기기에서의 스크립트 실행을 모두 지원합니다.

프로젝트는 platform/external/sl4a에서 찾을 수 있습니다.

사용

SL4A README에 따라 이를 수동으로 빌드하고 설치할 수 있습니다. 또한 Tradefed를 통해 실행 중인 경우에는 몇몇 하네스 유틸리티를 활용하여 좀 더 쉽게 사용할 수 있습니다.

다운로드 및 설치

우선 두 기기를 사용하는 Tradefed 구성의 예인 BT-discovery-sl4a.xml을 검토할 수 있습니다. SL4A.apktests 폴더 내의 대부분의 기기 빌드에서 사용할 수 있습니다.

위의 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

문서 디렉터리에는 SL4A에서 제공되는 RPC 함수와 RPC 함수에 관한 문서가 포함된 ApiReference.md 파일이 있습니다.