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

完事儿。

相关推荐
QuantumLeap丶几秒前
《Flutter全栈开发实战指南:从零到高级》- 13 -状态管理GetX
android·flutter·ios·前端框架
百锦再11 分钟前
第15章 并发编程
android·java·开发语言·python·rust·django·go
Propeller1 小时前
【Android】模板化解决复杂场景的滑动冲突问题
android·java
byte轻骑兵2 小时前
Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路
android·c++·rust
從南走到北4 小时前
JAVA国际版二手车交易二手车市场系统源码支持Android+IOS+H5+APP
android·java·ios
江上清风山间明月4 小时前
Android 系统中进程和线程的区别
android·python·线程·进程
2501_940094025 小时前
mig烧录卡资源 Mig-Switch游戏合集 烧录卡 1.75T
android·游戏·安卓·switch
渡我白衣5 小时前
深入理解 OverlayFS:用分层的方式重新组织 Linux 文件系统
android·java·linux·运维·服务器·开发语言·人工智能
2501_915106325 小时前
iOS性能调优的系统化实践,从架构分层到多工具协同的全流程优化指南(开发者深度版)
android·ios·小程序·架构·uni-app·iphone·webview
stevenzqzq6 小时前
android recyclerview缓存_缓存问题解决办法
android·java·缓存