编译Android驱动对应的C测试程序出错的解决方法以及正确流程

本文主要是介绍编译Android驱动对应的C测试程序出错的解决方法以及正确流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编写好驱动之后,另外写了个C程序来测试驱动,但是在编译的时候,出现了如下的错误:

[plain]  view plain copy
  1. build/core/base_rules.mk:166: *** frameworks/base/opengl/libs: MODULE.TARGET.ETC.egl.cfg already defined by development/tools/emulator/opengl/system/egl。 停止。  


这里的意思是:

frameworks/base/opengl/libs目录已经在development/tools/emulator/opengl/system/egl定义了。

 

解决方法:

1、把development/tools/emulator/opengl/system/目录下的egl改一下名字,如:egl.bak

2、修改/development/tools/emulator/opengl/Android.mk文件,把里面的

[cpp]  view plain copy
  1. include $(EMUGL_PATH)/system/egl/Android.mk  

这一句给注释掉.

注意:千万不要把frameworks/base/opengl/路径下的 libs 目录删除,实践证明,删除这个目录后会出现一大堆的问题。开始我参照网上说的,删除之后就杯具了。

 

编译这个C驱动测试程序需要注意:

1、程序放在 (你的android源码目录)/external/ 下面

2、Android.mk 和对应的程序C文件必须存在,最好放在同一级目录下面

3、编译的时候,回到 你的android源码目录下面,使用 make 你的项目名称进行编译

 

样例:

1、在~/workspace/android-4.0.4_r1.2/external/yapp/目录下建立 helloapp目录

2、在helloapp目录下创建对应的helloapp.c文件

3、在helloapp目录下创建唯一的Android.mk文件

4、回到~/workspace/android-4.0.4_r1.2/目录,使用

make helloapp

命令进行编译

5、编译成功后,类似下面:

[plain]  view plain copy
  1. Install: out/target/product/generic/system/lib/libstdc++.so  
  2. Notice file: bionic/libm/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/libm.so.txt  
  3. Install: out/target/product/generic/system/lib/libm.so  
  4. Install: out/target/product/generic/system/bin/helloapp  


到此,驱动的测试程序编译完毕。

这篇关于编译Android驱动对应的C测试程序出错的解决方法以及正确流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991193

相关文章

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁