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

完事儿。

相关推荐
molong9312 小时前
Android 权限模型(前台、后台、特殊权限)
android
怪兽20142 小时前
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
android·面试
奥尔特星云大使2 小时前
mysql高可用架构之MHA部署(二)VIP漂移(保姆级)
android·mysql·架构·mha·ip漂移
深海呐4 小时前
Android 编译速度优化:JVM堆内存扩充
android·jvm·jvm内存扩充·android 加快编译速度
心随雨下4 小时前
Flutter中新手需要掌握的几种Widget
android·flutter·ios
叶辞树4 小时前
查看安卓设备的音视频解码器信息
android
f30517095 小时前
Python实现数据可视化用Matplotlib轻松创建专业级图表
android
2501_915918419 小时前
iOS 26 App 性能测试|性能评测|iOS 26 性能对比:实战策略
android·macos·ios·小程序·uni-app·cocoa·iphone
咋吃都不胖lyh13 小时前
SQL-多对多关系
android·mysql·数据分析