一、环境搭建
VMware+ubantu+android7.0
1、安装VMware虚拟机。
2、安装ubantu,下载android7.0到ubantu的目录N08735B_git/alps。
3、搭建“MTK编译服务器”,见https://download.csdn.net/download/weixin_40779546/10713235。
4、创建VMware虚拟机共享文件夹,方便数据传输,我共享了F盘,所以路径为:/mnt/hgfs/F/
二、编译android7.0内核
1、打开虚拟机终端:ctrl+alt+T。
2、进入目录:cd N08735B_git/alps
3、添加环境:source build/envsetup.sh
4、选择Build目标设备及类型:lunch
选择要编译的项目,我的选择的20,回车
(注:xxxx-eng为工程模式,在系统运行时候会生成很多log调试信息,相应的功耗会变大,手机卡顿;xxxx-usr为用户模式,正式生
产时用这个模式下编译。)
5、输入1,回车
6、Build内核:make 2>&1|tee build.log
7、等待Build,电脑配置不同所需时间不同。
8、Build完成后生成的.img文件路径:/home/N08735B_git/alps/out/target/product/joyasz8735b_3tb_n
所需文件:boot.img
cache.img
lk.bin
logo.bin
MT6737M_Android_scatter.txt
preloader.img
preloader_joyasz8735b_3tb_n.bin
recovery.img
secro.img
system.img
trustzone.bin
userdata.img
items.ini
共13个文件。
三、下载内核到设备
1、拷贝编译生成的13个文件到PC上自己的工作区域。
2、下载工具包:SP_Flash_Tool_exe_Windows_v5.1708.02.000
解压,打开flash_tool.exe
3、点击“下载DA”,选择“MTK_AllInOne_DA.bin”
4、点击“配置文件”,选择“MT8735M_Android_scatter.txt”
5、选择“固件升级”
6、都勾选
7、点击“下载”
8、关机状态下,连接数据线到PC,flash_tool.exe会升级固件,等待结束对话框,完成。
四、驱动开发
1、安装ADB。
2、Build自己的驱动文件,如helloworld.cpp+Android.mk,步骤如下。
3、切换root用户:su 输入密码即可。
4、拷贝驱动文件到目录/home/james/1_WorlkSpace/alps/:cp -r /mnt/hgfs/F/ /home/james/1_WorlkSpace/alps/
5、打开路径:/home/james/1_WorlkSpace/alps/。
6、添加环境:source build/envsetup.h
7、选择Build目标设备及类型:lunch
选择要编译的项目,回车
8、生成可执行程序:在cmd打开目录/home/james/1_WorlkSpace/alps/helloworld/,输入命令mm -B;如果有安装mmm指令,也可以打开目录/home/james/1_WorlkSpace/alps/,输入指令mmm external/helloworld/。
9、生成的可执行程序在目录:/home/james/1_WorlkSpace/alps/out/target/product/gxxx/system/bin/
10、拷贝可执行程序到ADB文件夹
11、连接android设备到PC
12、打开adb
13、将可执行文件用adb指令放到路径/mnt/user,赋权限,执行。