HIDL Hal 开发指南10 —— 开发一个 App 访问硬件服务

简单起见,我们在玩转 AOSP 之系统 App 源码添加中添加的系统 App 的基础上做修改。

接着将 MainActivity.java 源码修改如下:

java 复制代码
package com.yuandaima.firstsystemapp;

import android.app.Activity;
import android.os.Bundle;
import android.os.HelloHal;
import android.content.Context;
import android.util.Log;
import android.os.RemoteException;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        HelloHal helloHal = (HelloHal)getSystemService(Context.HELLO_SERVICE);
        try {
            helloHal.write("nihao");
            Log.d("yuandaima_log",helloHal.read());
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }
}

最后编译运行模拟器:

bash 复制代码
source build/envsetup.sh
lunch rice14-eng
emulator -kernel ~/Project/kernel/goldfish/arch/x86_64/boot/bzImage

然后运行 App,查看 log:

bash 复制代码
adb shell logcat | grep yuandaima_log

完事儿。

相关推荐
独隅3 小时前
Android Studio 接入 CodeX 的全面指南
android·ide·android studio
plainGeekDev7 小时前
Glide 该换了?Coil:Kotlin 时代的图片加载库
android·开源·kotlin
小a杰.7 小时前
Ascend C编程语言进阶:高性能算子开发技巧
android·c语言·开发语言
plainGeekDev7 小时前
Android内存面试题:OOM都解决不了,性能优化从何谈起?
android·面试·kotlin
JustNow_Man9 小时前
【opencode】安装使用daytona沙箱插件
android·java·javascript
YIN_尹11 小时前
【Linux 系统编程】手撕一个简易版的shell命令行解释器
android·linux·运维
黄林晴11 小时前
Android CLI 1.0 稳定版发布!官方为 AI Agent 打造专属验证工具,改完自动校验
android
氦客12 小时前
Android Compose 图层的合成 : BlendMode
android·compose·jetpack·layer·blendmode·graphics·图层的合成
Sahadev_12 小时前
GitMemo 安卓版发布了:现在可以随时随地查看和记录自己的笔记
android·笔记·创业创新
龙之叶13 小时前
Android 12:在 ActivityStarter 层拦截分享、搜索与 HTTP 外链
android·chrome·http