在android手机中添加一个新的kernel module
2014-02-22 19:33
337 查看
问题描述:
有一台MTK 6572平台的手机,Android版本为4.2.2,希望能在其中添加一个新的kernel module。
下面是一个简单的helloworld实例:
1.准备代码:
目录alps/kernel/drivers/下新建一个文件夹,取名为helloworld,在其中添加两个文件
helloworld.c
Makefile,文件中就一句
2.修改上一级的Makefile
即修改文件alps/kernel/drivers/Makefile
obj-y += helloworld/
3.编译
编译命令:./mk r k kernel/drivers/helloworld/
因为之前已经执行过new命令了,这里省略了项目名称
会在这个目录下生成如下文件,其中,helloworld.ko文件是我们最想要的:
4.打包
首先把这个helloworld.ko文件拷贝到alps/out/target/product/huaqin72_we_b1a_jb3/system/lib/modules/目录下
然后通过snod命令打包生成system.img。
当然也可以直接把这个ko文件push到手机对应的目录下:/system/lib/modules,然后在这个目下用insmod命令安装此module即可:
insmod helloworld.ko
可以通过dmesg命令查看kernel log,我们会在log中看到代码里的信息输出了。这就成功了。
也可以通过rmmod helloworld命令来卸载此module,同样可以看到log输出。
感谢【FAQ07275】
有一台MTK 6572平台的手机,Android版本为4.2.2,希望能在其中添加一个新的kernel module。
下面是一个简单的helloworld实例:
1.准备代码:
目录alps/kernel/drivers/下新建一个文件夹,取名为helloworld,在其中添加两个文件
helloworld.c
#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> static int hello_init(void) { printk("Hello! This is the helloworld module!\n"); return 0; } static void hello_exit(void) { printk("Module exit! Bye Bye!\n"); return; } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE("GPL");
Makefile,文件中就一句
obj-m := helloworld.o
2.修改上一级的Makefile
即修改文件alps/kernel/drivers/Makefile
obj-y += helloworld/
3.编译
编译命令:./mk r k kernel/drivers/helloworld/
因为之前已经执行过new命令了,这里省略了项目名称
会在这个目录下生成如下文件,其中,helloworld.ko文件是我们最想要的:
4.打包
首先把这个helloworld.ko文件拷贝到alps/out/target/product/huaqin72_we_b1a_jb3/system/lib/modules/目录下
然后通过snod命令打包生成system.img。
当然也可以直接把这个ko文件push到手机对应的目录下:/system/lib/modules,然后在这个目下用insmod命令安装此module即可:
insmod helloworld.ko
可以通过dmesg命令查看kernel log,我们会在log中看到代码里的信息输出了。这就成功了。
也可以通过rmmod helloworld命令来卸载此module,同样可以看到log输出。
感谢【FAQ07275】
相关文章推荐
- Android项目实战--手机卫士32--给清理进程添加一个Widget
- 为Unity开发的android手机游戏添加一个社会化分享功能
- Android手机联系人源码(添加联系人页面一个功能)修改
- Android添加手机黑名单,手机来电拦截实现详解与Demo,一个不错的练手项目,涵盖Android四大组件。
- Android 8.0系统上使用WindowManager添加view的一个问题
- 如何在圆形 imageView android 上添加一个阴影和边界?
- Android添加一个开机完成后执行的脚本
- Android核心基础(手机卫士的一个知识点总结)
- android中给一个Button添加图片和文字的方法
- android手机上安装apk时出现解析包错误的一个解决办法
- 从零开始,为Android创建一个最简单的React Native Module
- [Android]如何做一个崩溃率少于千分之三噶应用app(13)-Activity分发功能module架构
- Android studio 一个项目中添加两个module遇到的bug
- Android为应用在桌面添加一个快捷方式
- 在cocos2d项目中添加android手机按返回键功能
- 这个开源项目展示了如何实现一个横跨各种Android平台的音乐播放器,包括手机,平板,汽车,手表,电视等。Google官方推出,跨平台开发必看项目。
- (转)获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置
- android源码添加新module遇到ach module must use a LOCAL_MODULE_TAGS错误
- 定制你自己的android手机桌面Launcher===一个完成Launcher开发的介绍-第二篇
- 发一个android系统手机的屏幕校准软件