1.git配置
1 2 3
| $ sudo apt-get install git $ git config --global user.email "fanrong1992@gmail.com" $ git config --global user.name "fanrong1992"
|
2.下载repo
1 2 3 4
| $ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
|
3.下载源码,Android所有版本和支持的手机型号在官网上有:
1 2 3 4
| $ mkdir Android6.0.1_r20 $ cd Android6.0.1_r20 $ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r20 $ repo sync
|
4.安装编译环境
1 2 3 4 5 6 7 8 9 10 11 12 13
| $ sudo add-apt-repository ppa:openjdk-r/ppa //更新下载链接 $ sudo apt-get update $ sudo apt-get install openjdk-7-jdk $ sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 $ sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib $ 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 lib32z-dev ccache $ sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
|
5.编译源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| $ 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 # 我选的是这个,因为nexus5是hammerhead 20. aosp_hammerhead_fp-userdebug 21. aosp_shamu-userdebug $ make -j8
|
烧录到真机
1.下载nexus5驱动(需要梯子),还是在刚才官网手机版本那个页面,有每个版本的build版本,比如Android6.0.1_r20是MMB29X,找到手机型号和build版本对应的驱动下载,否则无法继续进行。
三个压缩文件,解压出三个sh文件,放到源代码根目录。执行这三个sh文件,自动提取出驱动到vendor目录中。
2.再次编译:
1 2 3
| $ . build/envsetup.sh $ lunch 19 $ make -j8
|
3.切换到root:
1 2 3 4 5 6
| $ sudo -s # export ANDROID_PRODUCT_OUT=/home/fanrong/Computer/Android6.0.1_r20/out/target/product/hammerhead // 将adb和fastboot目录添加到PATH # PATH=/home/fanrong/Computer/Android6.0.1-r20/out/host/linux-x86/bin:$PATH # adb reboot bootloader # fastboot flashall -w
|
执行完fastboot
手机会自动重新启动,就能用上自己编译的Android系统了。