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

完事儿。

相关推荐
JMchen1232 小时前
【Android 性能优化实战 60 讲】06 GPU 呈现模式与卡顿视觉验证:拆解柱状图分层,秒辨渲染慢与等待慢
android·性能优化·实战·源码分析·渲染优化·gpu呈现模式·卡顿优化
91刘仁德9 小时前
MYSQL 事务原理及使用
android·mysql·adb
一笑的小酒馆11 小时前
AndroidKMP之瀑布流实现
android
RainyJiang11 小时前
AI时代下,Android的边界正在消失
android·openai·ai编程
Android-Flutter12 小时前
android 内存抖动详解
android
方白羽13 小时前
为什么 Android 非要用 Intent 传值?
android·ios·harmonyos
方白羽16 小时前
Android17 重写 MessageQueue,解决 Handler 隐性卡顿
android·app
蜡台16 小时前
Kotlin 零基础完整版实战教程|从语法入门到Android工程实战
android·开发语言·kotlin
律宏阔17 小时前
Android 车载 USB 开发笔记:USB Host、USB 串口、USB-CAN、HID 与系统 API
android
律宏阔17 小时前
Android 车载串口开发笔记:UART、RS232、RS485、串口配置与数据通信
android