Create minimal ScriptExecutor java class to invoke script.

Amends IScriptExecutor invokeScript API to accept publishedData as a
bundle instead of byte[].
We do not parse the published input yet. It will be implemented
separately (see b/189241508).
Also adds necessary JNI layer.

Adds a unit test ScriptExecutorTest which starts ScriptExecutor
as an isolated process and binds to it.

Test cases push a simple Hello world script and test that it can be
loaded and run without exceptions. We don't test for output at this
point because it will be pushed asyncronously to CarTelemetryService
using IScriptExecutorListener callback. This functionality will be
implemented in the follow up CLs.

Bug: 187517413
Test: atest ScriptExecutorTest
Change-Id: Ida7c6ba9332532f3704a83a4ebfaf12dbec83bcb
12 files changed
tree: 6f18422c0ccfc31ade999691ebe486ac7f30166d
  1. car-admin-ui-lib/
  2. car-internal-lib/
  3. car-lib/
  4. car-maps-placeholder/
  5. car-systemtest-lib/
  6. car-test-lib/
  7. car-usb-handler/
  8. car_product/
  9. cpp/
  10. data/
  11. experimental/
  12. FrameworkPackageStubs/
  13. obd2-lib/
  14. packages/
  15. procfs-inspector/
  16. service/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. .clang-format
  22. .gitignore
  23. Android.mk
  24. CleanSpec.mk
  25. CPPLINT.cfg
  26. OWNERS
  27. PREUPLOAD.cfg
  28. README.md
  29. TEST_MAPPING
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.