这里主要是遇到两个问题:第一个是,自己编写的hal层源码怎么添加进Android的默认编译中去,也就是说在根目录执行make时,自己编写hal源码也会被编译。第二个问题是,编译完成后还要自动安装在指定的系统目录lib/hw下。

刚开始时不太了解,总是需要使用mmm来进行编译安装,但是打包之后再编译这是不现实的。为此需要添加到默认中去。

一般来说hal层所在的位置在hardware/libhardware/modules目录下。假如我写个led的hal层,那么在modules目录下建立一个led文件夹即可,在led文件夹添加代码和Android.mk。对于第一个问题的解决方法是,修改modules目录下的Android.mk文件,在hardware_modules变量中添加led文件夹的名字即可。这样在默认中就会自动编译这个led的文件了。

这样虽然可以编译了,但是却不会自动安装。那么安装这个要修改哪里呢,找了好久终于找到了,要修改device/samsung/smdkv210/device.mk这个文件中的PRODUCT_PACKAGES变量,在该文件的最后添加PRODUCT_PACKAGES += led.default这行代码即可。

有了以上两个修改,默认就会编译并且安装了,其他的也都类似了。

另外还有一个jni层的东西,这个修改添加的文件都是默认被编译安装的,只需要添加代码即可。

关于Android的硬件抽象层添加进Android系统默认编译的问题相关推荐

  1. 将新的驱动源文件添加进android内核进行编译

    1,同目录下的makefile,如 # # Makefile for industrial I/O Magnetometer sensors # obj-$(CONFIG_SENSORS_AK8975 ...

  2. android 5.0 字体,QC8916 修改系统默认字体(Android 5.0)

    涉及文件 frameworks\base\data\fonts\ 1. fonts.xml 2. fallback_fonts.xm 3. fonts.mk 4. Android.mk 5. ttf字 ...

  3. 安卓代替系统默认电话应用

    一:申请默认电话应用代码 这只是设置你的APP为默认电话应用 A: Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DI ...

  4. Android HAL硬件抽象层与硬件系统架构

    背景     近几年是互联网高速发展的几年,孕育出了如谷歌.阿里巴巴等许多超级互联网公司,随着互联网的发展已经触到了天花板,一个比互联网更大的市场即将打开,那就是物联网(Internet of Thi ...

  5. Android 系统默认参数的修改

    转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置, ...

  6. android模拟点击系统打开apk按钮,Android开发系列: 电脑端Android模拟器安装使用教程...

    如今说到什么智能手机最火,那很多人肯定会说android系统的手机.如果你还没有Android手机,又想买一部试试,可是价格都不便宜,买来不适合自己怎么办?那么可以先在电脑上安装一个Android模拟 ...

  7. Android震动vibrator(马达)--系统到驱动的流程【转】

    本文转载自:https://blog.csdn.net/tianshiyalin/article/details/17136723 一.前言 本人刚学习安卓驱动开发,水平不能说菜,是根本没有水平,在这 ...

  8. android多个摄像头,一种基于Android多应用共享摄像头的系统及方法与流程

    本发明涉及一种基于Android多应用共享摄像头的系统及方法,属于计算机领域. 背景技术: 在一些特殊的应用场景.例如后台一直在录像,这时摄像头会被录像应用一直占有,其他的应用无法再打开摄像头.如果其 ...

  9. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

最新文章

  1. asp.net mvc 身份验证中返回绝对路径的ReturnUrl
  2. C++编译 C # 调用方法
  3. 迅雷的user-agent
  4. DRAGAN + SRCNN 的简单理解
  5. 关于flock文件锁的阻塞与非阻塞
  6. C++学习之路 | PTA乙级—— 1093 字符串A+B (20 分)(精简)
  7. python中4j什么意思_Python学习:4.数据类型以及运算符详解
  8. Python 多进程本机共享内存(二)
  9. 蓝桥杯 ADV-21 算法提高 多项式输出
  10. 关于MARATHON和容器的端口映射
  11. 360随身wifi搭建无线热点
  12. 维护计算机需要做哪些,电脑的日常维护有哪些?
  13. 搞懂朴素贝叶斯分类算法
  14. 小说里的编程 【连载之二十九】元宇宙里月亮弯弯
  15. scratch编程石头剪刀布
  16. 率土之滨服务器进备战区维护多久,备战区完全解读
  17. android paging的使用
  18. linux中Iscpi命令详解(四)
  19. 怎么把pdf文件转换成jpg格式
  20. H5微信内置浏览器携带参数跳转APP和监听是否安装APP(wx-open-launch-app)

热门文章

  1. java el表达式 导航规则_诺禾:在jsp里面如何不写java代码展示数据(EL表达式的使用)...
  2. python3安装常见问题_python3中pip的安装、常见问题及万能解决方案。
  3. matlab 边界连续,matlab的边界问题
  4. python数学函数_「分享」关于Python整理的常用数学函数整理
  5. java高并发(一)导学
  6. INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...
  7. 大写牛逼,用 Python 登录主流 24 个网站
  8. 一代不如一代?别轻易给年轻人贴标签
  9. 利率计算中的套路!用 Python 告诉你究竟亏了多少!
  10. joomla 标准激活的php mail 功能,php 通过joomla jmail 类使用 gmail smtp 账号发送邮件的简单示例...