在创建 selinux 和 .aidl 后,我有 1 个使用 aidl 进行 hal 的项目。文件
我构建了一个service.cpp代码并将其加载到系统中
我想部署我的应用程序以便能够测试我的服务,但是当我下载 android studio 时我真的不知道如何与 aosp 链接
谁能给我答案吗?
你的HAL会生成一个可以在上层使用的服务。您可以通过运行命令 adb shell service list | 检查它。 grep 'SERVICE_NAME'。
您需要创建一个 HAL 管理器来促进服务和您的应用程序之间的通信。这是我为计时器 HAL 创建的示例:
https://github.com/alvenan/AOSPbenchmark/tree/main/timer_manager
在Java文件中,您可以看到如何创建服务实例并进行函数调用:
管理器编译完成后,会在“out”文件夹中创建一个.jar库。例如: /your/path/aosp/out/target/common/obj/JAVA_LIBRARIES/your.package.yourservicemanager_intermediates/classes.jar
然后,您可以通过转到“构建”>“编辑库和依赖项”>“依赖项”在 Android Studio 中添加此路径。在“声明的依赖项”下,单击“+”并选择“JAR/AAR 依赖项”。输入步骤 1 中 .jar 文件的路径并应用更改。
此后,您将能够实例化管理器并在应用程序中访问该服务:
最后,将您的经理添加到应用程序的清单中:
这是我在 HAL 项目中通常使用的方法。要获得更全面的概述,您可以查看我的存储库:
https://github.com/alvenan/AOSPbenchmark/tree/main
我希望这有帮助。