环境安装
windows准备
- 首先在windows中划分一块100左右的分区安装ubuntu16,在linux环境编译Android源码
- 安装ubuntu16(注意一定要16的ubuntu,其他版本的系统编译会出现不一样的问题)
- 在windows下进入rk3328官方教程,下载百度云的Android 源码放在新分出来的盘之外的地方,也就是windows下,留待ubantu编译时使用
ubantu准备
安装JDK 8
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
安装环境包(逐条执行)
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \
lib32readline-gplv2-dev gcc-multilib libswitch-perl
sudo apt-get install gcc-arm-linux-gnueabihf \
libssl1.0.0 libssl-dev \
p7zip-full
- 安装curl
sudo apt-get install curl
安装环境包报错,以下为解决办法
- libwxgtk2.8-dev安装报错,提示未定位包
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install libwxgtk2.8-dev
- lib32readline-gplv2-dev安装报错
sudo apt-get install lib32readline-dev
解压Android源码
- 新建一个文件夹
- 将下载下来的源码包解压到当前文件夹内
7z x 文件夹位置 ROC_RK3328_CC_Android7.1.2_git_20171204.7z
- 从gitlab处同步源码
git pull gitlab roc-rk3328-cc:roc-rk3328-cc
使用Firefly脚本和命令行编译源码
编译内核
./FFTools/make.sh -k -j8
编译U-Boot
./FFTools/make.sh -u -j8
编译Android
- 进入prebuilts\sdk\tools下的jack-admin搜索JACK_SERVER_COMMAND
- 在-cp前增加 -Xmx4096m
- 保存后运行
./jack-admin start-server
如果启动失败执行
jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar
再次运行start-server将成功启动jack-admin
- 开始编译
source build/envsetup.sh
lunch(18 选择选择rk3328-eng选项编译)
make -j8
./mkimage.sh
编译成功
打包烧写原始固件
打包原始固件
./FFTools/mkupdate/sd_mkupdate.sh update
最终生成的文件是
ockdev/Image-rk3328_firefly_box/update.img
烧写eMMC
在windows环境下安装AndroidTool和Rockusb驱动
- 下载以下网盘内容
https://pan.baidu.com/s/14ROuPlF-7C7i79JKsXloqw
提取码:ey7l
- 运行Windows串口驱动文件夹下
DriverInstall.exe
,点击按钮“驱动安装”
驱动安装成功
烧写原始固件
- 首先将开发板断电,使用镊子或针脚短接板子上的CLK引脚和GND引脚,进入Maskrom模式
- 打开AndroidTool文件夹下
AndroidTool.exe
,若设备出去Maskrom模式,状态行将显示“发现一个MASKROM设备” - 点击第二行右侧的空白单元格,在弹出的文件对话框里打开原始固件文件updata.img
- 点击”执行“按钮开始烧写
烧写成功