You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jianglk.darker
7ee447c011
|
4 months ago | |
---|---|---|
.. | ||
Android.bp | 4 months ago | |
ILazyTestService.aidl | 4 months ago | |
LazyTestService.cpp | 4 months ago | |
LazyTestService.h | 4 months ago | |
README | 4 months ago | |
aidl_lazy_test_server.rc | 4 months ago | |
main.cpp | 4 months ago | |
server.cpp | 4 months ago |
README
================================================================================================== aidl_lazy_test ================================================================================================== This test can be run in one of two ways: -------------------------------------------- Without arguments: aidl_lazy_test -------------------------------------------- This will run tests on the test service (described below), the goal being to test the dynamic service infrastructure. -------------------------------------------- With a service: aidl_lazy_test serviceName... -------------------------------------------- This will run tests on the input service, verifying whether it successfully displays lazy behavior. If the service has multiple interfaces, each can be entered as a separate argument to be tested simultaneously. Infrastructure tests that rely on specific features of the dedicated test service will be skipped. ================================================================================================== aidl_lazy_test_server ================================================================================================== aidl_lazy_test_server is a simple test service. Because it represents the bare minimum requirements for implementing a service, it also serves as an example of how to add a new service. The required files are as follows: ============================================ In this directory ============================================ -------------------------------------------- server.cpp -------------------------------------------- The implementation of the server. The only required function is main(), wherein the service must be instantiated and added (either to servicemanager as a standard service or to LazyServiceRegistrar to be a dynamic service). The server then joins the thread pool. -------------------------------------------- aidl_lazy_test_server.rc -------------------------------------------- This file is read by init, which later starts the service. The interface, oneshot, and disabled lines are only required for dynamic services. -------------------------------------------- LazyTestService.h/.cpp -------------------------------------------- The implementation of the service's functionality. -------------------------------------------- ILazyTestService.aidl -------------------------------------------- The AIDL interface for the service, this will generate code that clients can use to interact with the service via IPC. -------------------------------------------- Android.bp -------------------------------------------- An aidl_interface entry will need to be added for the .aidl file. A cc_binary entry will need to be added for the service with: name srcs - The source file(s) init_rc - The .rc file shared_libs - Any shared libraries the source file depends on static_libs - The AIDL interface ============================================ In system/sepolicy ============================================ -------------------------------------------- private/aidl_lazy_test_server.te -------------------------------------------- Only two lines are required in this file. -------------------------------------------- public/aidl_lazy_test_server.te -------------------------------------------- The first two lines establish types for aidl_lazy_test_server and aidl_lazy_test_server_exec. binder_use and binder_call allow for basic use of this service. add_service allows the service to be registered. Note that an additional service type is required as the second argument to this function. -------------------------------------------- private/compat/<number>/<number>.ignore.cil -------------------------------------------- aidl_lazy_test_server and aidl_lazy_test_server_exec, and aidl_lazy_test_service need to be added to the new objects list. -------------------------------------------- private/file_contexts -------------------------------------------- A line is required to map aidl_lazy_test_server to aidl_lazy_test_server_exec. -------------------------------------------- private/service_contexts -------------------------------------------- Each interface for the service must be mapped to aidl_lazy_test_service here. -------------------------------------------- public/service.te -------------------------------------------- A line is required to define aidl_lazy_test_service.