我的DIY Android之旅--Android应用层APP调用底层驱动实例(辛酸历程实记)

本文记录了一位开发者在Android应用层调用底层驱动的过程,从学习基础知识,到遇到模拟器无法启动的难题,再到解决权限问题,最终成功实现调用。过程中涉及Android驱动开发、模拟器调试、logcat日志分析等关键步骤。
摘要由CSDN通过智能技术生成

   现在在这个智能手机的时代, 我相信一个具有自己个性的手机才可以吸引到自己的用户,而iphone在具有创新和个性的硬件基础上建立了自己的iOS手机操作系统,给了用户一个非常特别的用户体验,从而赢得了市场,Android的迅猛发展,各种各种的Android手机不断推出,市场占有率不断上升,而且Android手机出货量也是在极大的增长,已经形成了手机操作系统三分天下的局面,并且在不断的增加着Android市场的天下。nokia主导的windows phone 8以其特有的metro风格,苹果主打的iphone以其优秀的用户体验都赢得了市场,Android以其开放性,个性化,以及越来越好的用户体验将会赢得更多的用户亲睐,而在这个过程中,我们做Android驱动开发的工程师将可以让更多更好玩的的优秀硬件集成到Android系统中,做出更个性更好的Android手机。

     刚开始学习Android开发的程序猿,我建议大家一起来学习老罗的编写linux内核驱动的教程,积累一些Android驱动开发基本的知识。

       一.在学习Android驱动开发的程序猿,我建议先看基本Android驱动开发的参考书籍:Linux Device Drivers(强烈五星级推荐),另几本好的参考书籍:android驱动开发与移植实战详解。

       二. 参考老罗的驱动编写教程,编写驱动并且在框架层实现Service框架,在eclipse中创建一个Hello的Android工程,并且把eclipse生成的R.java拷贝放在out/target/common/R目录下,从Eclipse拷贝工程过来的时候,要把gen目录删掉,不然R类的定义就会重复了。从Eclipse拷贝工程到Android源代码目录时,只留下AndroidManifest.xml文件以及res和src文件夹就可以了,其它的文件都可以删掉,然后再往里面添加一个Android.mk文件。

具体教程参考老罗的博客:http://blog.csdn.net/luoshengyang/article/details/6567257

 编译进行的比较顺利,没发现什么错误!

接着就是运行模拟器,查看应用层APP是否调用底层成功,emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img

发现很长时间模拟器都无法进入系统,一直停留在Android字符界面上,还可以看出模拟器出现反复的重启现象,我以为是编写的驱动程序和框架层的代码出现错误,我又仔细的从头检查了一遍,怀疑是编译没有正常的运行,我决定重新编译整个Android源码,哎,华丽丽的几个小时编译过去了,一切正常,并没有解决这个一直停在Andro

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值