Ubuntu 20.04.5 LTS 编译 Android T(qcm8550 or rk3588)环境配置
创始人
2024-11-19 07:34:33
0

Ubuntu 20.04.5 LTS 编译 Android T(qcm8550 or rk3588)环境配置:

参考文档:
https://source.android.google.cn/docs/setup/start?hl=zh-cn Android系统开发指导
https://developer.android.google.cn/studio/run/device?hl=ru USB 调试配置
https://blog.csdn.net/xaioxaiobai/article/details/130282945 编译时报Clang SA is not enabled问题解决

ubuntu安装相关配置:
bash-completion: 点击tab时能命令补全。
meld: 文本比较工具,用于对比两个文件或目录的不同之处。
minicom: 串口调试工具
scrcpy: 通过该工具可以投屏android设备到电脑上。
gitk: 图形化的git工具。

sudo apt-get install bash-completion meld minicom scrcpy gitk sudo dpkg -i google-chrome-stable_current_amd64.deb 

1.使用 apt-get 安装编译依赖库:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib tofrodos sudo apt-get install python-markdown libxml2-utils xsltproc vim cgpt samba libxml-simple-perl libssl-dev  sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig  sudo apt install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 libssl-dev libswitch-perl  sudo apt-get install uuid-dev  sudo apt install libtinfo5 libncurses*  ./scripts/fit-core.sh: line 611: fdtget: command not found sudo apt install device-tree-compiler  sudo apt install libxml-simple-perl sudo apt install libxml-sax-base-perl  要解决lz4命令有两种方法: 官方提到可以先编译Android下面的lz4并替换系统的lz4(这一步要在下载SDK后方可操作): $ mmm external/lz4/  $ sudo cp /usr/bin/lz4 /usr/bin/lz4.org # 备份 $ sudo cp out/host/linux-x86/bin/lz4 /usr/bin/lz4 # 替换系统原有lz4  直接从GitHub下载lz4最新源代码编译: $ git clone https://github.com/lz4/lz4.git $ make $ sudo make install 

2.使用 apt-get 安装 JDK:

sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk  sudo apt install openjdk-11-jdk  若同时安装了 JDK8 和 JDK11,可以使用下面的命令选择 JDK11: sudo update-alternatives --config java  使用以下命令查看是否正确选择了JDK1: java -version 

3.安装Python

//sudo add-apt-repository ppa:deadsnakes/ppa //sudo apt install python3.9 //sudo update-alternatives --list python  sudo ln -s /usr/bin/python3 /usr/bin/python //sudo ln -s /usr/bin/python2 /usr/bin/python 

4.配置git

git config --global user.email myname@xxx.com git config --global user.name myname  git commit命令的默认编辑器修改: git commit命令执行后,会进入GUN nano编辑器。 现在把git commit的编辑器改回到vim git config --global core.editor vim 或 编辑~/.gitconfig文件,在core中添加editor = vim 

5.代码review网址:Gerrit Codes Reviews:
192.168.1.111:8086 // 公司内网搭建的

6.在线看代码:OpenGrok
http://192.168.1.111:8088/source // 公司内网搭建的

7.添加SSH key:

本地电脑输入: ssh-keygen -t rsa 将 .ssh/id_rsa.pub中的内容全部复制到gerrit网址中  测试key是否添加成功,本地电脑输入: ssh username@192.168.1.111 -p 29418  gerrit: ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub or Ubuntu 24.04 LST 的ssh-key用ed25519 ssh-keygen -t ed25519 cat .ssh/id_ed25519.pub  ssh myname@192.168.1.111 -p 29418 

8.配置repo

mkdir ~/bin curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 

9.配置USB和fastboot,adb

下载Android Studio,然后打开-> File -> Settings -> Android SDK -> SDK Platforms和SDK Tools 安装相关选项。 gedit ~/.bashrc & # my config start export ANDROID_HOME=/home/myname/Android/Sdk export PATH=$PATH:~/bin:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools  #export LC_ALL=C export LANG=C.UTF-8 export LC_ALL=C.UTF-8 export HISTTIMEFORMAT="%F %T " # my config end  配置 USB 访问权限 针对开发设置设备 sudo usermod -aG plugdev $LOGNAME apt-get install android-sdk-platform-tools-common 重启电脑。 

10. 编译Android系统

source build/envsetup.sh lunch xxx-userdebug make 不同的平台可能不一样。具体根据厂商给的文档进行编译。 

11. framework层代码编译:

需要先全编译android系统 source build/envsetup.sh lunch xxx-userdebug  make framework && make framework-res  make framework && make framework-minus-apex && make framework-res && make services  make update-api && make framework && make framework-minus-apex && make framework-res && make services 

12. 编译Error和解决方法

编译qcm8550 Android T代码是报如下错误 参考文档: https://blog.csdn.net/xaioxaiobai/article/details/130282945  编译时报Clang SA is not enabled问题解决  编译Error二:FAILED: out/soong/build.ninja cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / &&  "$BUILDER"     --top "$TOP"     --soong_out "out/soong"     --out "out"     -o out/soong/build.ninja --globListDir build --globFile out/soong/globs-build.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp Clang SA is not enabled 15:55:09 soong bootstrap failed with: exit status 1 ninja: build stopped: subcommand failed. 原因是:我的swap交换分区是2G比较小,所以,需要把swap改大一些。 我的电脑是32G内存,所以,我把swap改大到了32G。 解决方法: $ sudo swapoff /swapfile $ sudo swapon --show $ sudo rm -rf /swapfile $ sudo fallocate -l 32G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile 正在设置交换空间版本 1,大小 = 32 GiB (34359734272  个字节) 无标签, UUID=7d042ef3-c38a-4b9b-8e76-32117b192450 $ sudo swapon /swapfile $ sudo swapon --show NAME      TYPE SIZE USED PRIO /swapfile file  32G   0B   -2 $ free -h               总计         已用        空闲      共享    缓冲/缓存    可用 内存:        31Gi       3.7Gi        24Gi        62Mi       3.1Gi        26Gi 交换:        31Gi          0B        31Gi  $ cat /etc/fstab // 查看是否有下面配置。固化分区,即开机后也能正常 /swapfile                                 none            swap    sw              0       0 

相关内容

热门资讯

此事备受玩家关注!新超圣辅助透... 此事备受玩家关注!新超圣辅助透视挂,建德麻将存在有挂,一贯有挂细节运新超圣辅助工具,进入游戏界面。进...
今天上午!熊猫麻将辅助透视挂,... 今天上午!熊猫麻将辅助透视挂,大唐撸麻雀确实有挂,确实有挂透视1、下载好大唐撸麻雀正确养号方法之后点...
突发!小吆三打哈辅助透视挂,悠... 突发!小吆三打哈辅助透视挂,悠闲麻将真的是有挂,原来有挂解密一、小吆三打哈游戏安装教程牌型概率发牌机...
今年以来!樱花梦雨辅助透视挂,... 今年以来!樱花梦雨辅助透视挂,新滕州麻将真的是有挂,好像有挂方法今年以来!樱花梦雨辅助透视挂,新滕州...
备受关注的!边锋老友棋牌辅助透... 备受关注的!边锋老友棋牌辅助透视挂,微友麻将是真的有挂,一直有挂攻略运边锋老友棋牌辅助工具,进入游戏...
明白辅助挂!萍乡滚筒辅助透视挂... 明白辅助挂!萍乡滚筒辅助透视挂,大唐麻将游戏是有挂,一直有挂教程1、操作简单,无需大唐麻将游戏手机版...
据报道!丫丫古诗辅助透视挂,琼... 据报道!丫丫古诗辅助透视挂,琼崖海南麻将真的有挂,其实有挂方法丫丫古诗脚本下载中分为三种模型:丫丫古...
随着!多多休闲辅助透视挂,东游... 随着!多多休闲辅助透视挂,东游麻将是真的有挂,竟然有挂存在随着!多多休闲辅助透视挂,东游麻将是真的有...
方法辅助挂!星禾游戏辅助透视挂... 方法辅助挂!星禾游戏辅助透视挂,太浪乾安麻将是真的有挂,果然发现有挂1、下载好星禾游戏脚本下载之后点...
近日!巅峰互娱辅助透视挂,趣咪... 近日!巅峰互娱辅助透视挂,趣咪麻将确实有挂,真是揭秘有挂;1、这是跨平台的巅峰互娱轻量版有透视,在线...