编译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

相关文章

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t