首页 文章 精选 留言 我的

精选列表

搜索[接口调试],共10000篇文章
优秀的个人博客,低调大师

Android驱动程序开发和调试环境配置

本文用《Android深度探索(卷1):HAL与驱动开发》的随书源代码为例详细说明如何配置Android驱动开发和测试环境,并且如何使用源 代码中的build.sh脚本文件在各种平台(Ubuntu Linux、Android模拟器和S3C6410开发板)上编译、安装和测试Linux驱动。建议读者使用Ubuntu Linux12.04或更高版本实验本文的方法。最好用root账号登录Linux。 一、安装交叉编译器 如果只是在Ubuntu Linux上测试Linux驱动就不需要安装交叉编译器了,但要在Android模拟器或S3C6410开发板上进行测试,就必须安装交叉编译器。 首先下载交叉编译器(分卷压缩) 分卷1 分卷2 分卷3 下载后解压,会发现有两个tgz文件,可以将这两个文件放到/root/compilers目录中,在Linux终端进入该目录,执行如下命令安装交叉编译器。 #tarzxvfarm-linux-gcc-4.3.2.tgz-C/#tarjxvfarm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2-C/ 二、编译和测试Linux内核 这里的Linux内核有两个,一个是goldfish,也就是Android模拟器使用的Linux内核、另外一个是S3C6410开发板使用的Linux内核(Linux2.6.36)。读者首先要下载这两个Linux内核。 Android模拟器用的Linux内核源代码(分卷压缩) goldfish(卷1) goldfish(卷2) goldfish(卷3) goldfish(卷4) 用于S3C6410开发板的Linux内核源代码(分卷压缩) 分卷1 分卷2 由于随书代码中的word_count驱动已经在goldfish和linux2.6.36中分别建立了符号链接,以便在编译linux内核时同时也会编 译word_count驱动,所以linux内核与源代码目录应与作者机器上的目录相同。也就是两个linux内核目录与源代码目录如下: linux内核目录 /root/compilers/goldfish /root/compilers/linux_kernel_2.6.36 源代码目录 /root/drivers 注意/root/drivers目录下就直接是每一章的源代码了,例如/root/drivers/ch06、/root/drivers/ch07 现在需要将/usr/local/arm/arm-none-linux-gnueabi/bin路径加到Linux的PATH环境变量中(不会加的上网查,这是Linux的基本功) 最后进入/root/compilers/goldfish目录,执行make命令编译linux内核,如果完全编译,大概20分钟左右。编译完成后,会在/root/kernel/goldfish/arch/arm/boot目录中生成一个zImage文件,代码1.7MB,这就是用于Android模拟器的Linux内核文件。 三、编译Linux驱动 现在来编译随书光盘的驱动程序,这里以word_count驱动为例。在Linux终端进入/root/drivers/ch06/word_count目 录。先别忙着编译。首先要设置打开/root/drivers/common.sh文件,修改第一行UBUNTU_KERNEL_PATH变量值为自己机 器上安装的Ubuntu Linux内核路径,只要执行“ls /usr/src”命令即可查看当前机器可用的linux内核。如可以设置下面的路径。 UBUNTU_KERNEL_PATH=/usr/src/linux-headers-3.2.0-23-generic 剩下的两个(S3C6410_KERNEL_PATH和/root/kernel/goldfish)只要按着前面的路径解压Linux内核源代码,就不用设置了。 在word_count目录中执行“source build.sh”命令,会允许选择在哪个平台上编译驱动,直接按回车会在Ubuntu Linux上编译。如果编译成功,会发现当前目录多一个word_count.ko文件(驱动文件)。 现在来编译S3C6410上运行的word_count驱动。先别忙,在编译之前,需要Android中的adb命令。因为build.sh足够只能,在 编译完后,如果有多个Android设备连接到PC,会允许用户选择上传到哪个设备装载,这里需要选择S3C6410开发板,然后会直接上传到开发板上, 如图1所示。 图1 可以直接使用adb shell命令进入开发板,也可以使用/root/drivers/shell.sh脚 本完成同样的工作,只是后者如果有多个android设备,会允许用选择,而不是输入相应的设备ID。使操作更方便。在/root/drivers目录中 提供了很多这样的脚本(shell.sh、push.sh、pull.sh等),这些脚本都会允许用户选择操作的Android设备。 我们通常使用Android SDK中的adb命令,到官方网站下载装载linux版本的Android SDK,然后将<AndroidSDK根目录> /platform-tools加到PATH环境变量中。 现在再次执行“source build.sh”命令,选择第2项(S3C6410开发板),如果系统没找到开发板,需要将USB线拔下重插一下。然后就可以进入开发板的终端,输入lsmod命令查看驱动的安装情况了。 如果在模拟器上测试,选第3项。具体测试的方法请参见书中相应的章节。 四、测试Linux驱动 测试word_count驱动的方法很多,通过命令行测试的方法请参见书中相应的章节,在word_count目录中有一个 test_word_count程序,通过执行如下的命令可以测试word_count驱动,编译test_word_count.c程序的方法书中已详 细描述。 test_word_count “abc bb cc” 上面的命令会输出单词数为3。 如果要编译Android HAL,需要Android源代码。购买S3C6410开发板时商家通常会带一些光盘,里面有用于开发板的Android源代码,如果商家没给光盘,别忘了要哦! 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/1144181,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android调试错误-No resource identifier found for attribute 'showAsAction'

今天在研究有米广告技术时,第一次编译他们提供的Android示例工程,结果出现如下错误: [2014-11-29 11:28:25 - com.youmi.android.offerdemo.YoumiOffersAdsDemo] W/ResourceType(15184):Bad XML block: header size 201 or total size 0 is larger than data size 0 [2014-11-29 11:28:25 - com.youmi.android.offerdemo.YoumiOffersAdsDemo] E: \download2010\tuiguang\youmi\youmi_android_offerwall_sdk_v4.10_2014-11- 24\YoumiAndroidSdk\demo\offers\res\menu\main.xml:3:error: No resource identifier found for attribute 'showAsAction' in package 'android' 经过从网络中不少文章的参考分析基本确定,出现上述错误的原因在于XML内容存在错误,从而导致无法生成R.java文件。此时,.java文件中也出现R资源无法找到相应错误。而且,编译时也会出现类似于上面的错误。 解决办法主要有两种途径: 1,修改可能的XML文件中错误; 2,Android SDK版本可能不对,从而使attribute 'showAsAction'等在低版本中得到不到支持。 我这方面,正是第二种情况所致:我把android 2.3.3修改为4.0,再编译便OK了。参考一下下面的图形吧。 本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1584423 ,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册