在单独编译Android的内核模块之前,必须要成功配置编译过整个Android系统(至少要编译成功boot.img),生成正确的out目录。


1.编写Makefile。按照以下格式编写Makefile。


1 obj-m += aaa.o
2 #obj-m += abc.o
3 #abc-objs := aaa.o bbb.o ccc.o
4
5 KDIR := ${OUT}/obj/KERNEL_OBJ/
6
7
8 PWD := $(shell pwd)
9
10 all:
11 $(RM) -rf $(PWD)/scripts
12 ln -s $(KDIR)/scrips $(PWD)/scripts
13 $(MAKE) -C $(KDIR) M=$(PWD) ARCH=arm CROSS_COMPILE=arm-eabi- $(KDIR).config modules
14
15 install:all
16 $(MAKE) -C $(KDIR) M=$(PWD) modules_install
17
18 clean:
19 $(MAKE) -C $(KDIR) M=$(PWD) clean

注意:1.若模块中只包含一个c文件,用第1行来关联;若模块中包含一个以上的c文件,用第2、3行来关联,把第1行注释掉。

2.${OUT}是Andriod源码中的目标生成目录。如:android/out/target/product/xxx/obj


2. make

把Makefile和模块中用到的c文件和头文件放在同一目录,执行make命令,即可在当前目录下生成内核模块xxx.ko


更多相关文章

  1. 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja
  2. Android(安卓)Studio打包签名全过程
  3. Android(安卓)编译时出现r cannot be resolved to a variable
  4. android studio 提示Error:Default Activity not found
  5. Android(安卓)ndk-build编译jni动态库
  6. Linux Android(安卓)反编译
  7. Android(安卓)Zxing创建带文字的一维码(条形码)
  8. 修改android 开机动画
  9. android 4.3 操作源码实现系统截屏(暂无移植性)

随机推荐

  1. 开发板部分总结
  2. android Home键的截获
  3. 【Android】选项卡使用
  4. 57.EasyRecyclerViewSidebar
  5. Android(安卓)编写使用root权限的android
  6. ViewPagerIndicator使用
  7. 基于Android不同版本对应notification机
  8. android 获取以太网的连接状态
  9. android SQLite 事物处理
  10. android拖动图片移动效果