1Scripting Layer For Native 2============================= 3 4### Introduction 5Scripting Layer for Native, SL4N, is an automation toolset for calling Android native Binder 6APIs and accessing the HAL layer in an platform-independent manner. This tool enables remote 7automation of these layers via ADB. 8 9### Build Instructions 10Building SL4N requires a system build. 11 12For the initial build of Android: 13 14 cd <ANDROID_SOURCE_ROOT> 15 source build/envsetup.sh 16 lunch aosp_<TARGET> 17 make [-j15] 18 19*where `<ANDROID_SOURCE_ROOT>` is the root directory of the android tree and `<TARGET>` is the lunch 20target name* 21 22Then Build SL4N: 23 24 cd <ANDROID_SOURCE_ROOT>/packages/apps/Test/connectivity/sl4n 25 mm [-j15] 26 27### Install Instructions 28Run the following command: 29 30 adb push <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/system/bin/sl4n /system/bin 31 32Library dependencies required: 33 34 adb push <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/system/lib/libbinder.so /system/lib 35 adb push <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/system/lib/libchrome.so /system/lib 36 adb push <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/system/lib/libevent.so /system/lib 37 38Optional library dependency for running tests that exercise the Bluetoothtbd service: 39 40 cd <ANDROID_SOURCE_ROOT>/system/bt/service 41 mm [-j15] 42 adb push <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/system/bin/bluetoothtbd /system/bin 43 44### Run Instructions 45a) SL4N is launched from ADB shell; or 46b) To enable RPC access from the command prompt: 47 48 adb forward tcp:<HOST_PORT_NUM> tcp:<DEVICE_PORT_NUM> 49 adb shell -c "/system/bin/sl4n" & 50*where `<HOST_PORT_NUM>` and `<DEVICE_PORT_NUM>` are the tcp ports on the host computer and device.* 51