tree: 934fc1f03c5e272a80ed9ee7dfba9f6fdfc5072c [path history] [tgz]
  1. binder/
  2. tests/
  3. Android.bp
  4. art_standalone_artd_tests.xml
  5. artd.cc
  6. artd.h
  7. artd_fuzzer.cc
  8. artd_main.cc
  9. artd_test.cc
  10. file_utils.cc
  11. file_utils.h
  12. file_utils_test.cc
  13. path_utils.cc
  14. path_utils.h
  15. path_utils_test.cc
  16. README.md
  17. testing.h
artd/README.md

artd

artd is a component of ART Service. It is a shim service to do tasks that require elevated permissions that are not available to system_server, such as manipulation of the file system and invoking dex2oat. It publishes a binder interface that is internal to ART service's Java code. When it invokes other binaries, it passes input and output files as FDs and drops capability before exec.

System properties

artd can be controlled by the system properties listed below. Note that the list doesn't include options passed to dex2oat and other processes.

  • dalvik.vm.artd-verbose: Log verbosity of the artd process. The syntax is the same as the runtime's -verbose flag.

The --pre-reboot flag

artd can be run in Pre-reboot mode through the --pre-reboot flag. The Pre-reboot mode is for generating outputs for Pre-reboot Dexopt. The flag does not change the actual behavior, but only affects the service name, the log tag, a few return checks, etc. Note that how artd addresses input files and output files is solely determined by AIDL arguments and is not affected by the --pre-reboot flag.