commit | ca96feb025f4c06083dc69f797e94cc72e53d4f7 | [log] [tgz] |
---|---|---|
author | Remi NGUYEN VAN <reminv@google.com> | Mon Mar 08 14:21:45 2021 +0900 |
committer | Remi NGUYEN VAN <reminv@google.com> | Wed Mar 10 09:09:02 2021 +0900 |
tree | 25874d54cc44e1266476b9af075733537ed811f3 | |
parent | 1cac4c247942156e115b51554d16c031d37dd7d6 [diff] |
Remove usage of StringNetworkSpecifier StringNetworkSpecifier is a hidden API class that is removed in R, and replaced by EthernetNetworkSpecifier and TestNetworkSpecifier. Remove its usage in ConnectivityManagerFacade. It was misused to hold JSON data to be later parsed and converted to a wifi NetworkSpecifier. The current NetworkRequest builder from JSON is only used in connectivityRegisterNetworkCallback which is unused, in connectivityRequestNetwork which is never used with a NetworkSpecifier, and in connectivityRequestWifiAwareNetwork. Only keep NetworkSpecifier support in connectivityRequestWifiAwareNetwork, as the JSON format only allows specifiers for that kind of network (generic string specifiers should not be used as they are considered as EthernetNetworkSpecifier, and the JSON format does not define a NetworkSpecifier type). Bug: 179329291 Test: m sl4a Merged-In: Iaa7a5395cd6f2af7f788b25276d8ba6c4c0eb2a2 Change-Id: Iaa7a5395cd6f2af7f788b25276d8ba6c4c0eb2a2
Originally authored by Damon Kohler, Scripting Layer for Android, SL4A, is an automation toolset for calling Android APIs in a platform-independent manner. It supports both remote automation via ADB as well as execution of scripts from on-device via a series of lightweight translation layers.
Due to its inclusion in AOSP as a privileged app, building SL4A requires a system build.
For the initial build of Android:
cd <ANDROID_SOURCE_ROOT> source build/envsetup.sh lunch aosp_<TARGET> make [-j15]
where <ANDROID_SOURCE_ROOT>
is the root directory of the android tree and <TARGET>
is the lunch target name
Then Build SL4A:
cd <ANDROID_SOURCE_ROOT>/external/sl4a mm [-j15]
If you are not using a custom buildspec, create one as follows:
cp <ANDROID_SOURCE_ROOT>/build/buildspec.mk.default <ANDROID_SOURCE_ROOT>/buildspec.mk
Modify the buildspec to build SL4A as a custom module by editing the line '#CUSTOM_MODULES:=' to 'CUSTOM_MODULES:=sl4a':
sed -i 's/#CUSTOM_MODULES:=/CUSTOM_MODULES:=sl4a/' <ANDROID_SOURCE_ROOT>/buildspec.mk
Run the following command:
adb install -r <ANDROID_SOURCE_ROOT>/out/target/product/<TARGET>/data/app/sl4a/sl4a.apk
a) SL4A may be launched from Android as a normal App; or
b) To enable RPC access from the command prompt:
adb forward tcp:<HOST_PORT_NUM> tcp:<DEVICE_PORT_NUM> adb shell "am start -a com.googlecode.android_scripting.action.LAUNCH_SERVER \ --ei com.googlecode.android_scripting.extra.USE_SERVICE_PORT <DEVICE_PORT_NUM> \ com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher"
where <HOST_PORT_NUM>
and <DEVICE_PORT_NUM>
are the tcp ports on the host computer and device.
From SL4A source directory run this command:
python Docs/generate_api_reference_md.py
In the Docs directory there should now be an ApiReference.md file that contains which RPC functions are available in SL4A as well as documentation for the RPC functions.