Android源代碼下載與編譯 - 2019
(基於Ubuntu 18.10,適用於國內環境)
轉 https://www.jianshu.com/p/302718c6fe3b
下載repo工具
如果沒有下載repo腳本工具,請到清華mirror下載
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo chmod +x repo
然后設置更新源:
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
下載Android
因為Android的源碼越來越大,repo sync失敗的概率也越來越高。
所以我們可以避開使用repo sync的方式,而采用下載預下載包的方式來實現:
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下載初始化包
tar xf aosp-latest.tar
cd AOSP # 解壓得到的 AOSP 工程目錄
repo sync # 正常同步一遍即可得到完整目錄
下載廠商代碼
例,我們用hikey960的代碼:
wget https://dl.google.com/dl/android/aosp/hisilicon-hikey960-OPR-3c243263.tgz tar xf hisilicon-hikey960-OPR-3c243263.tgz
解壓之后會生成extract-hisilicon-hikey960.sh,運行這個文件:
./extract-hisilicon-hikey960.sh
接受協議輸入I ACCEPT,然后就可以順利解壓運行。
會解壓出下面的一些文件和目錄:
vendor/ vendor/linaro/ vendor/linaro/hikey960/ vendor/linaro/hikey960/hisilicon/ vendor/linaro/hikey960/hisilicon/device-partial.mk vendor/linaro/hikey960/hisilicon/BoardConfigPartial.mk vendor/linaro/hikey960/hisilicon/proprietary/ vendor/linaro/hikey960/hisilicon/proprietary/libOMX.hisi.vdec.core.so vendor/linaro/hikey960/hisilicon/proprietary/libc_secshared.so vendor/linaro/hikey960/hisilicon/proprietary/libhilog.so vendor/linaro/hikey960/hisilicon/proprietary/libOMX_Core.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/ vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX.hisi.vdec.core.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libc_secshared.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libhilog.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX_Core.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libstagefrighthw.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libhiion.so vendor/linaro/hikey960/hisilicon/proprietary/lib64/libOMX.hisi.video.decoder.so vendor/linaro/hikey960/hisilicon/proprietary/libstagefrighthw.so vendor/linaro/hikey960/hisilicon/proprietary/libhiion.so vendor/linaro/hikey960/hisilicon/proprietary/libOMX.hisi.video.decoder.so vendor/linaro/hikey960/device-vendor.mk vendor/linaro/hikey960/BoardConfigVendor.mk
配置編譯環境
其它基本上開發環境上大家都會配,就不多說了。
在Ubuntu 18.10上需要注意的是,ncurses默認安裝的是版本6,而2019年3月的Android版本仍然需要ncurses5.
例:
sudo apt install libncurses5-dev
編譯
我們仍以Android目前(2019年3月)推薦的hikey960硬件為目標,編譯命令如下:
. ./build/envsetup.sh lunch hikey960-userdebug make -j32
大功告成!
Android 10 源代碼下載
玖芯科技9月4號消息 今天早些時候,谷歌開始向 Pixel 手機等設備發布 Android 10 正式版。在它被稱為“Android 10”之前,我們已經在開發人員版本中測試了 Android Q 幾個月的時間。此更新帶來了一些重要功能,如系統范圍內的黑暗模式、完整手勢導航、修改后的權限等。谷歌目前正在將 Android 10 源代碼上傳到 Android 開源項目(AOSP)上。
為新的 Android 版本發布源代碼是一件大事情。這允許自定義 ROM 的開發者開始將 Android 10 引入設備。
另外一件事是 Project Treble 計划。這使得 Android 10 的構建版本可用於更多設備。Android 開發人員預覽過去是為 Pixel/Nexus 設備保留的,但現在我們可以看到它們已經面向更多設備推送。因此,在源代碼發布之后,第三方獲得 Android 10 穩定版應該比以往更容易。
要查看 Android 10 源代碼,你可以訪問 Android 開源項目。該來源目前正在更新中。當它在所有分支中完全可用時,你將看到“android-10.0.0_r”標記。
Android 10 源代碼:https://source.android.com/setup/start/android-10-release