Android 源码下载并编译Rom
生活随笔
收集整理的這篇文章主要介紹了
Android 源码下载并编译Rom
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.repo工具下載及安裝
mkdir ~/android-repocd ~/android-repogit clone https://aosp.tuna.tsinghua.edu.cn/git-repo/chmod a+x git-repo/repo然后添加repo(路徑目錄如:~/git-repo/repo)到PATH環境變量
export PATH=~/git-repo:$PATH然后到打開 ~/git-repo/repo 文件,將 REPO_URL 替換為清華鏡像地址,以避免下載 android 源碼時可能出現的無法連接到 gerrit.googlesource.com 問題。
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'2.Android 源碼下載
首先創建一個自己存放源碼的目錄,cd 到對應的路徑下執行下面命令:
mkdir ~/android-repo/android-source cd ~/android-repo/android-sourcerepo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r52 (相當于 git init\clone ) repo init --depth 1 -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r43 如果不需要看以前的歷史記錄,設為1即可 repo sync -c --no-tags -j4 其中 -c 表示只更新當前分支;--no-tags,不獲取標簽 (這個過程時間較長,可能需要2個小時以上)注意:在 ubuntu 分配至少 250 G 空間
3.Ubuntu 18.04 編譯環境配置
首先得配置 openjdk-8
sudo apt-get install openjdk-8-jdksudo apt-get install openjdk-8-jre然后配置在 ubantu 18.04 中編譯 android 源碼需要的一些依賴
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev sudo apt-get install git-core gnupg flex bison gperf build-essential sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib sudo apt-get install libc6-dev-i386 sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4 sudo apt-get install lib32z-dev ccache4、編譯Android源碼
始化編譯環境,命令
source build/envsetup.sh選擇編譯目標
lunch aosp_arm64-eng或 lunch aosp_x86_64-eng開始編譯與運行模擬器
make -j32emulator5、相關錯誤說明
(1)_nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME)
export LC_ALL=C export USER=$(whoami)(2) echo $PATH — 查看環境變量
/etc/profile 中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承 /etc/profile 中的變量,他們是"父子"關系alias python='/usr/bin/python3.6'/usr/bin/env python 改成 /usr/bin/env python3
6、參考文檔:
(1)在谷歌云上高速編譯安卓AOSP ROM、驅動、內核并完成刷機
(2)AOSP 源碼編譯及刷入Nexus 5
(3)使用 Android 模擬器運行自定義 Rom
總結
以上是生活随笔為你收集整理的Android 源码下载并编译Rom的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CHM电子书木马制作攻略
- 下一篇: 最强整理!Android攒了一个月的面试