工欲善其事,必先利其器,对于有相关经验的人士来说,准备开发环境可谓轻车熟路,但是这里还是写一篇简略的教程把这个步骤记录下来,让初次接触的新手少走弯路。
预备知识
- 必要的编程能力(C & C++ & Java)
- 会使用Linux系统
- git版本管理
环境准备
SDK只能在Linux环境下编译,无法在Windows环境编译,因此必须准备一台安装Linux的服务器或虚拟机,内存至少要16GB以上,实测8GB无法完成编译,CPU核心越多越好。这里采用Ubuntu最新的LTS版本20.04,22.04版本也可以正常使用。安装操作系统的教程这里不再给出,可在互联网上搜索。
安装依赖
准备编译环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
sudo apt update sudo apt upgrade sudo apt install vim wget curl tree lsof screen unzip git make gcc sudo apt install openjdk-8-jdk
sudo apt install git gnupg flex bison gperf build-essential zip curl \ zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses-dev \ x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev \ libxml2-utils xsltproc unzip python-pyelftools python3-pyelftools \ device-tree-compiler libfdt-dev libfdt1 libssl-dev liblz4-tool \ python-dev-is-python2 python3-dev libncurses5
sudo apt install device-tree-compiler bison flex libssl-dev lz4 libncurses5 python2 libncurses-dev
sudo apt install gawk libc6:i386 libxml2-utils lib32stdc++6
|
如果服务器装有CUDA,编译的时候会有问题,需要先给CUDA改个名字。/usr/local
下cuda相关的目录都要更名。
1
|
sudo mv /usr/local/cuda /usr/local/cudaa
|
安装repo工具
Google开源的Android系统源码由众多的子模块构成,每个模块都使用git进行版本管理,然而模块众多因此开发了repo工具来统一管理众多git子模块。这里必须采用RK的repo工具,不能直接克隆Google的原版工具。
1 2 3
|
git clone ssh://[email protected]:2222/repo-release/tools/repo
echo "alias repo="/home/ubuntu/repo/repo"" > ~/.bashrc
|
拉取RK发布的SDK
如果代理商提供了SDK的初始压缩包,则先解压初始压缩包,然后更新到最新代码;也可以直接从头拉取最新代码,大概需要12小时左右。两个方法更新到最新的SDK代码时,都需要代码仓库的访问权限。申请访问权限需要填写申请表并新建SSH密钥,发送给[email protected]。务必要将代码更新至最新版本,最初的代码有很多bug,且文档不完善,导致踩了一个多礼拜的坑。
1 2 3 4 5 6 7
|
mkdir ROCKCHIP_ANDROID11.0_SDK_RELEASE cat ROCKCHIP_ANDROID11.0_SDK_RELEASE.tar.gz* | tar -zx -C
.repo/repo/repo sync -l .repo/repo/repo sync -c
|
生成Android Studio项目文件
1 2 3 4
|
chmod 755 .classpath # ./development/tools/idegen/excluded-paths 排除除frameworks外的目录 make idegen ./development/tools/idegen/idegen.sh
|
参考文档
- RKDocs/android/Rockchip_Developer_Guide_Android11_SDK_V1.1.6_CN.pdf