android 编译模块
android 编译模块
在写完.c文件之后,需要加载到android上进行测试。使用arm-linux-gcc编译,并添加到android开发板上运行失败。
由于android与linux不同,需要编译成模块加载才能够正常运行。本文记录编译成模块的方法。
参考链接:
https://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/
1. Android.mk
每一个模块都有一个Android.mk文件,将源码和Android.mk都放在一个目录中。
LOCAL_PATH := $(call my-dir) # 设置当前模块的编译路径为当前文件夹路径。include $(CLEAR_VARS) # 清理(可能由其他模块设置过的)编译环境中用到的变量。LOCAL_MODULE := gpio # 当前模块名称,编译之后生成的模块名称
LOCAL_SRC_FILES := gpio.c # 当前模块包含的所有源代码文件
LOCAL_LDLIBS := -llog # 编译本模块需要使用的库include $(BUILD_EXECUTABLE) # 编译成可执行文件
#include $(BUILD_SHARED_LIBRARY) # 编译成共享库
编译
source build/envsetup.sh # 初始化编译环境,并引入一些辅助的 Shell 函数,这其中就包括后面使用的使用lunch,mmm函数。lunch sabresd_6dq-eng # lunch函数的参数用来指定此次编译的目标设备以及编译类型, 这里指定设备是的是imx6mmm dir # 编译指定目录下的模块,这个dir目录包含上面提到的Android.mk以及源码,自行更改目录的路径
生成的镜像位于
out/target/product/sabresd_6dq/system/bin/gpio
Author
Tony Liu
2016-8-13, Shenzhen
转载于:https://www.cnblogs.com/helloworldtoyou/p/5768473.html
android 编译模块相关推荐
- android.mk 模块编译,通过Android.mk添加一个编译模块到系统中的顺序如下
①LOCAL_PATH ②CLEAR_VARS ③LOCAL_SRC_FILES ④LOCAL_CFLAGS(可选) ⑤LOCAL_MODULE ⑥LOCAL_STATIC_LIBRARIES(可选) ...
- Android编译环境(1) - 编译Native C的模块
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比 ...
- Android 10.0 Andorid.bp 动态编译模块
android 10 较 android 9而言,使用了很多Android.bp文件替代Android.mk 文件 虽然有工具实现Android.mk转换为 Android.bp文件了 但如果mk文件 ...
- android 模块不编译错误,Android 编译出错版本匹配问题解决办法
Android 编译出错版本匹配问题解决办法 解决问题的关键在于版本匹配, compileSdkVersion compileSdkVersion targetSdkVersion 这三个参数的整数值 ...
- Android 编译系统模块 3
Framework 模块编译概要 这一篇是对上一篇文章做了一个概要的说明,大致讲解了framework层的文件和结构. 1.cd framework/base 2.在此目录下执行 mm 3.adb p ...
- 【Android】MTK Android 编译命令
命令格式:./maketek [option] [project] [action] [modules] Option: -t ,-tee :输出log信息到当前终端 -o , -opt=-- : 编 ...
- android编译全过程
android编译全过程 (2011-06-04 15:27) 标签: android编译 android 模块编译,mm 命令 如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最 ...
- Android编译系统分析三:make完整编译android系统
这篇博客的目标是摸清楚默认编译整个android系统时代码的流程. 当我们执行make的时候,会查找当前的Makefie文件或者makefile文件并且执行,在android顶级源码目录下面,确实有个 ...
- Android 编译系统分析(三)
自Android开源以来,引起了嵌入式行业一股热潮,很多嵌入式开发者表示对Android有很强的兴趣,并下载Android源码进行编译和移植.Android源码的巨大(repo下来,大概2G)给人以A ...
- Android 编译系统分析(二)
把Android所有的Make文件分为4种: 1.For config 这类文件主要来配置product,board,以及根据你的Host和Target选择相应的工具以及设定相应的通用编译选项: bu ...
最新文章
- 局部刷新时间 jsp_局部区块多个报表 TAB 页切换及局部区块的参数查询
- 老生常谈JavaScript闭包
- ROS: catkin和rosmake创建和编译功能包、执行节点
- Winform中使用FastReport的DesignReport时怎样给通过代码Table添加数据
- Winform中给DataGridView添加多选框列并获取选中行的内容
- office word中利用宏编程批量调节图片的亮度和对比度
- 51nod 1574 排列转换
- 容器学习 之 限制容器资源(十一)
- 面向表开发 面向服务开发_面向繁忙开发人员的计算机视觉
- AJAX方式进行验证码的判断(JS方式)
- 在 Windows 7 下手动删除驱动程序
- maven安装及配置
- Unity加载GIf动画
- SEO工具:免费快速排名软件大全!
- linux定时对准时间,Linux校对时间
- 如何 运行WRF模型 天气预报 数据后处理
- post man以Content-type: application/octet-stream方式请求api
- AES128加密算法实现(C语言:ECB加密模式实现)
- oracle 取任意一条数据,oracle随机取一条数据详解
- 01-初识Node.js