Android

个人Android学习总结


RK3588 Android12.0 SDK编译指南

<h1>附参考网址</h1> <p>ITX-3588J详细的维基教程,elcome to Core-3588J Manual<br /> <a href="https://wiki.t-firefly.com/zh_CN/Core-3588J/index.html"><a href="https://wiki.t-firefly.com/zh\_CN/Core-3588J/index.html">https://wiki.t-firefly.com/zh\_CN/Core-3588J/index.html</a></a><br /> ITX-3588J资料下载,完整的SDK免费开放,配套完善的软硬件资料<br /> <a href="https://www.t-firefly.com/doc/download/160.html"><a href="https://www.t-firefly.com/doc/download/160.html">https://www.t-firefly.com/doc/download/160.html</a></a></p> <p>编译步骤参考firefly官网:</p> <p><a href="https://wiki.t-firefly.com/zh_CN/Core-3588J/android_compile_android12.0_firmware.html"><a href="https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_compile\_android12.0\_firmware.html">https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_compile\_android12.0\_firmware.html</a></a></p> <p>RK3588开发板资料(这个才是我们买的开发板提供的网站)</p> <p><a href="https://youyeetoo.cn/forum.php?mod=viewthread&amp;tid=5670&amp;highlight=3588j"><a href="https://youyeetoo.cn/forum.php?mod=viewthread&tid=5670&highlight=3588j">https://youyeetoo.cn/forum.php?mod=viewthread&tid=5670&highlight=3588j</a></a></p> <p>在RK3588设备上进行驱动编译</p> <p><a href="https://zhuanlan.zhihu.com/p/475148594"><a href="https://zhuanlan.zhihu.com/p/475148594">https://zhuanlan.zhihu.com/p/475148594</a></a></p> <p>ITX-RK3588J上固件与驱动的交叉编译与烧写流程概述</p> <p><a href="https://zhuanlan.zhihu.com/p/549804377"><a href="https://zhuanlan.zhihu.com/p/549804377">https://zhuanlan.zhihu.com/p/549804377</a></a></p> <p>源码中的开发文档目录</p> <p>/root//rk3588/android12/RKDocs</p> <h1>1.编译环境搭建</h1> <p><a href="https://wiki.t-firefly.com/zh_CN/Core-3588J/android_prepare_compile_android.html"><a href="https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_prepare\_compile\_android.html">https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_prepare\_compile\_android.html</a></a></p> <p>我是在10.32.252.156服务器上,搭建了docker环境来完成的。</p> <h2>1.1 ubuntu20.04 环境准备</h2> <p>1.docker pull ubuntu:20.04<br /> 2.docker run -itd --name rk3588_pengdeping ubuntu:20.04 /bin/bash<br /> docker exec -it rk3588_pengdeping env LANG=C.UTF-8 /bin/bash<br /> 3.apt-get update<br /> 4.apt-get upgrade<br /> 5.apt-get install bash-completion<br /> 6.apt-get install vim<br /> 7.apt-get install p7zip-full<br /> 8.配置apt源<br /> cp /etc/apt/sources.list /etc/apt/sources.list.bak<br /> vi /etc/apt/sources.list<br /> 追加以下内容<br /> deb <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic main restricted universe multiverse<br /> deb-src <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic main restricted universe multiverse<br /> deb <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-security main restricted universe multiverse<br /> deb-src <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-security main restricted universe multiverse<br /> deb <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-updates main restricted universe multiverse<br /> deb-src <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-updates main restricted universe multiverse<br /> deb <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-backports main restricted universe multiverse<br /> deb-src <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-backports main restricted universe multiverse<br /> deb <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-proposed main restricted universe multiverse<br /> deb-src <a href="http://mirrors.aliyun.com/ubuntu/"><a href="http://mirrors.aliyun.com/ubuntu/">http://mirrors.aliyun.com/ubuntu/</a></a> bionic-proposed main restricted universe multiverse</p> <h1>2.sdk源码下载</h1> <h2>2.1 RK3588开发板资料(这个才是我们买的开发板提供的网站)</h2> <p><a href="https://youyeetoo.cn/forum.php?mod=viewthread&amp;tid=5670&amp;highlight=3588j"><a href="https://youyeetoo.cn/forum.php?mod=viewthread&tid=5670&highlight=3588j">https://youyeetoo.cn/forum.php?mod=viewthread&tid=5670&highlight=3588j</a></a></p> <h2>2.2 官网下载(下载和编译sdk参考wiki firefly)</h2> <p>资料下载: <a href="https://www.t-firefly.com/doc/download/160.html"><a href="https://www.t-firefly.com/doc/download/160.html">https://www.t-firefly.com/doc/download/160.html</a></a></p> <p>资料下载和编译参考: <a href="https://wiki.t-firefly.com/zh_CN/Core-3588J/android_compile_android12.0_firmware.html#xia-zai-android12-0-sdk"><a href="https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_compile\_android12.0\_firmware.html#xia-zai-android12-0-sdk">https://wiki.t-firefly.com/zh\_CN/Core-3588J/android\_compile\_android12.0\_firmware.html#xia-zai-android12-0-sdk</a></a></p> <h2>2.3 拷贝sdk源码包</h2> <p>cd /root<br /> mkdir rk3588<br /> cd rk3588<br /> docker cp ../01843/RK3588/firefly_rk3588_android12.0_git_20220311/firefly_rk3588_android12.0_git_20220311.7z.001 <a href="http://7af2facb3741/root/rk3588">7af2facb3741:/root/rk3588</a><br /> docker cp ../01843/RK3588/firefly_rk3588_android12.0_git_20220311/firefly_rk3588_android12.0_git_20220311.7z.002 <a href="http://7af2facb3741/root/rk3588">7af2facb3741:/root/rk3588</a><br /> docker cp ../01843/RK3588/firefly_rk3588_android12.0_git_20220311/firefly_rk3588_android12.0_git_20220311.7z.003 <a href="http://7af2facb3741/root/rk3588">7af2facb3741:/root/rk3588</a><br /> 。。。</p> <h2>2.4 分卷解压sdk</h2> <p>14.分卷解压<br /> apt-get install p7zip-full<br /> mkdir android12<br /> 7za x firefly_rk3588_android12.0_git_20220311.7z.001 -r -o./android12/<br /> cd android12<br /> git reset --hard</p> <h1>3.更新SDK</h1> <h2>3.1 下载 <a href="https://www.t-firefly.com/doc/download/160.html#other_583">Android12.0 Bundle</a>,并更新sdk</h2> <p>下载页面选择云盘下载 <a href="https://www.t-firefly.com/doc/download/160.html#other_583">Android12.0 Bundle</a>。</p> <h1>1. 进入 SDK 根目录</h1> <p>cd /root/rk3588/android12</p> <h1>2. 下载远程 bundle 仓库</h1> <p>git clone <a href="https://gitlab.com/T\-Firefly/rk3588\-android12.0\-bundle.git">https://gitlab.com/T\-Firefly/rk3588\-android12.0\-bundle.git</a> .bundle</p> <h1>3. bundle仓库会随着更新的资源越多而会越来越大,如果bundle仓库下载速度缓慢或若下载失败,</h1> <p># 请在资源下载界面选择对应的机器bundle文件进行下载并解压到SDK根目录,解压指令如下: 7z x rk3588-android12.0-bundle.7z -r -o. &amp;&amp; mv rk3588-android12.0-bundle .bundle</p> <h1>4. 更新 SDK,并且后续更新不需要再次拉取远程仓库,直接执行以下命令即可</h1> <p>.bundle/update</p> <h1>5. 按照提示已经更新内容到 FETCH_HEAD,同步 FETCH_HEAD 到 firefly 分支</h1> <p>git rebase FETCH_HEAD </p> <h2>3.2编译 Android12.0</h2> <h3>3.2.1. 整体编译</h3> <h4></h4> <p>3.2.1.1. HDMI 固件编译</p> <p>./FFTools/make.sh -d rk3588-firefly-itx-3588j -j8 -l rk3588_firefly_itx_3588j-userdebug<br /> ./FFTools/mkupdate/mkupdate.sh -l rk3588_firefly_itx_3588j-userdebug</p> <h4></h4> <p>3.2.1.2. 显示屏 DM-M10R800 V2 固件编译:</p> <p>./FFTools/make.sh -d rk3588-firefly-itx-3588j-mipi101-M101014-BE45-A1 -j8 -l rk3588_firefly_itx_3588j_mipi-userdebug<br /> ./FFTools/mkupdate/mkupdate.sh -l rk3588_firefly_itx_3588j_mipi-userdebug</p> <h4>3.2.2. 分步编译</h4> <p><strong>编译 kernel:</strong></p> <p>cd ~/rk3588/android12/kernel-5.10<br /> export PATH=../prebuilts/clang/host/linux-x86/clang-r416183b/bin:$PATH<br /> alias msk='make CROSS_COMPILE=aarch64-linux-gnu- LLVM=1 LLVM_IAS=1'<br /> msk ARCH=arm64  firefly_defconfig android-11.config pcie_wifi.config<br /> msk ARCH=arm64   BOOT_IMG=../rockdev/Image-rk3588_firefly_itx_3588j/boot.img rk3588-firefly-itx-3588j.img -j8<br /> <strong>编译 uboot:</strong></p> <p>cd ~/rk3588/android12/u-boot/<br /> ./make.sh rk3588<br /> <strong>编译 Android:</strong></p> <p>cd ~/rk3588/android12/<br /> source build/envsetup.sh<br /> lunch rk3588_firefly_itx_3588j-userdebug<br /> make installclean<br /> make -j8<br /> ./mkimage.sh</p> <h3></h3> <p>3.2.3. 打包成统一固件 update.img</p> <p>编译完可以用Firefly官方的脚本打包成统一固件,执行如下命令:</p> <p>打包完成后将在rockdev/Image-XXX/ 目录下生成统一固件: product名XXX_XXX_日期XXX.img</p> <p>在 Windows 下打包统一固件 update.img 也很简单,将编译生成的文件拷贝到 AndroidTool 的 rockdev\Image 目录中,<br /> 然后运行 rockdev 目录下的 mkupdate.bat 批处理文件即可创建 update.img 并存放到 rockdev\Image 目录里。</p> <h1>4.编译sdk遇到的问题</h1> <p>Q1:make时报错<br /> prebuilts/clang/host/linux-x86/clang-3289846/bin/clang.real: error while loading shared libraries: <a href="http://libncurses.so/">libncurses.so</a>.5: cannot open shared object file: No such file or directory<br /> 解决方法:<br /> apt-get install libncurses5<br /> Q2:zip -q --temp-path ${TMPDIR:-/tmp} external/guice/lib/build/munge.jar -O out/soong/.temp/sbox/6c6df8<br /> apt-get install zip<br /> Q3: ./FFTools/mkupdate/mkupdate.sh -l rk3588_firefly_itx_3588j-userdebug 打包update.img报错<br /> Error:<ParseParamFile> open file failed,err=2,file=./Image/parameter.txt!<br /> ------ FAILED ------<br /> 解决方案:原因是因为第一次编译kernel和u-boot时,没有更新bundle,重编。<br /> Q4:报错 bash: rsync: command not found<br /> 解决方案:<br /> apt-get install rsync -y</p>

页面列表

ITEM_HTML