nexus5手机AOSP下载编译

源码下载准备

真机运行需要厂商的驱动,厂商的驱动是不包含在AOSP中的,你需要根据你选择的Branch:
https://source.android.com/source/build-numbers.html
去驱动页面:
https://developers.google.com/android/nexus/drivers#shamulrx21o
下载合适的驱动。

源码下载

下载repo工具:

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

建立工作目录:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

把 REPO_URL 一行替换成下面的:

REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'

将repo添加到环境变量, ~/.bashrc文件最后添加下面这行后source ~/.bashrc

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

初始化仓库:需要某个特定的 Android 版本(以android-6.0.1_r77为例)

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r77

开始同步:

repo sync

源码编译

source build/envsetup.sh
lunch

You're building on Linux

Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. aosp_deb-userdebug
8. aosp_flo-userdebug
9. full_fugu-userdebug
10. aosp_fugu-userdebug
11. mini_emulator_arm64-userdebug
12. m_e_arm-userdebug
13. mini_emulator_mips-userdebug
14. mini_emulator_x86_64-userdebug
15. mini_emulator_x86-userdebug
16. aosp_flounder-userdebug
17. aosp_angler-userdebug
18. aosp_bullhead-userdebug
19. aosp_hammerhead-userdebug
20. aosp_hammerhead_fp-userdebug
21. aosp_shamu-userdebug

Which would you like? [aosp_arm-eng] 19

PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0.1
TARGET_PRODUCT=aosp_hammerhead
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-91-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=M4B30Z
OUT_DIR=out
============================================

dean@dean:~/share/aosp/aosp_android6$ choosecombo
Build type choices are:
1. release
2. debug

Which would you like? [1] 1

Which product would you like? [aosp_hammerhead]

Variant choices are:
1. user
2. userdebug
3. eng
Which would you like? [eng] 3

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0.1
TARGET_PRODUCT=aosp_hammerhead
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-91-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=M4B30Z
OUT_DIR=out
============================================

开始编译

dean@dean:~/share/aosp/aosp_android6$ make -j8

刷机

能够adb链接的时候执行 adb reboot bootloader
fastboot devices
如果出现“no permissions fastboot”:

原因:fastboot 没有root权限:
解决:
    到fastboot目录下运行:
        sudo chown root:root fastboot && sudo chmod +s fastboot

fastboot flashall -w

如果出现:“error: neither -p product specified nor ANDROID_PRODUCT_OUT set”
原因:在root模式下没有设置项目的路径。
    解决:
        改变命令为:
            ANDROID_PRODUCT_OUT=out/target/product/hammerhead fastboot flashall -w

你可能感兴趣的:(nexus5手机AOSP下载编译)