android hal 编译,[原创]Android HAL实例学习-Jollen的mokoid工程编译篇

这几天正在看HAL,网络上只有这个案例:分析台湾的Jollen的mokoid

工程代码,本文记录编译过程。

预备环境:

1.有Android的项目源代码,已经交叉编译完成。

2.了解Android JNI,自己最好照着NDK r4版本的sample写一个JNI程序;

参考文档:

《Android硬件驱动开发关键技术和HAL移植要领.pdf》Jollen的培训文档,这个Blog不好上传pdf,有兴趣的tx到eoe下载。

方法和步骤:

1.编译Android系统源代码。

2.把Jollen的mokoid 工程放到android2.1/vendor的目录下(android2.1

是Android的源代码根目录)

下面罗列我遇见的各种遇到的情况说明:

1. make: ***

没有规则可以创建“out/target/product/ut6410/obj/SHARED_LIBRARIES/led.goldfish_intermediates/led.goldfish.o”需要的目标“vendor/mokoid/hardware/mo

看vendor/mokoid/hardware/modules/led/Android.mk

注释掉不要的

--------------------------------------------------------------------------------------------------

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_SRC_FILES := led.c

LOCAL_MODULE := led.default

include $(BUILD_SHARED_LIBRARY)

# Mokoid LED

#include $(CLEAR_VARS)

#

#LOCAL_C_INCLUDES += /

# vendor/mokoid/hardware/modules/include/

#

#LOCAL_PRELINK_MODULE := false

#LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw

#LOCAL_SHARED_LIBRARIES := liblog

#LOCAL_SRC_FILES := led.dma6410xp.c

#LOCAL_MODULE := led.smdk6410

#include $(BUILD_SHARED_LIBRARY)

--------------------------------------------------------------------------------------------------

2.target thumb C++: libmokoid_runtime <=

vendor/mokoid/frameworks/base/service/jni/onload.cpp

arm-eabi-g++: vendor/mokoid/frameworks/base/service/jni/onload.cpp:

No such file or directory

arm-eabi-g++: no input files

看vendor/mokoid/frameworks/base/service/jni/Android.mk文件。

找不到onload.cpp,从google code下载下来就没有,先注释掉。

3.复制com.mokoid.server.xml 到目标系统的system/etc/permissions/目录下。

4.修改LedClient.apk或LedTest.apk的

Makefile.

5.继续编译,编译成功,打包Image,下载到开发板。

6.运行成程序,界面提示异常,用logcat看日志,提示找不到

JNI_OnLoad,把《Android

HAL实例解析 -

刘洪涛的专栏》文中提到的第三点代码copy到com_mokoid_server_LedService.cpp中,重新编译,在开发板上下载libmokoid_runtime.so到/system/lib下。

运行应用程序OK.大功告成!~

未完待续.....对HAL的和JNI的理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值