声明:本文来自我的导师wangjie.
本文主要包含以下内容
一、查看项目所在分支
二、切换到目标分支
三、查看当前所在分支
四、编译Android源码
五、source Android 编译环境
六、lunch 所需的编译项目
七、单编 模块
八、push 模块 验证修改是否生效
一、查看项目所在分支
git branch -a
表示:查看并列出当前项目所有分支
高通项目举例如下:
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ git branch -a
* linux_android_development
master
remotes/origin/A/B_update_linux_android_development
remotes/origin/HEAD -> origin/master
... ...
remotes/origin/secure_linux_android_development
remotes/origin/streamlined_code_engineering
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$
二、切换到目标分支
git checkout 分支名
表示: 切换到某个分支。
高通项目举例如下:git checkout linux_android_development
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ git branch -a
* linux_android_development
master
remotes/origin/A/B_update_linux_android_development
remotes/origin/HEAD -> origin/master
remotes/origin/cts_development_branch
... ...
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ git checkout linux_android_development
三、查看当前所在分支
git branch
表示:查看当前所在分支
高通项目举例如下:
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ git branch
* linux_android_development
master
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$
四、编译Android源码
Android
源码编译,每个项目由于脚本各不相同,编译的命令 有时候也会有说差异。
google 官方编译命令如下
1.source ./build/envsetup.sh
2.lunch 项目
3.make -j8
高通项目编译命令 如下:
./buildall_userdebug.sh E5527M all
五、source Android 编译环境
首先进入Android
源码根目录,执行source ./build/envsetup.sh
,
如不source
,后续则无法单编模块。
高通项目举例如下:
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ source ./build/envsetup.sh
including device/generic/car/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/generic/uml/vendorsetup.sh
including device/google/muskie/vendorsetup.sh
including device/google/taimen/vendorsetup.sh
including device/qcom/common/vendorsetup.sh
including device/qcom/qssi/vendorsetup.sh
including vendor/partner_gms/products/vendorsetup.sh
including vendor/qcom/opensource/core-utils/vendorsetup.sh
including vendor/qcom/proprietary/common/vendorsetup.sh
including vendor/qcom/proprietary/prebuilt_HY11/vendorsetup.sh
Created 9 symlinks out of 9 mapped links..
including sdk/bash_completion/adb.bash
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$
六、lunch 所需的编译项目
执行 lunch
命令,查看所有 编译项目列表,然后选择 编译项目。
高通项目 举例如下:
1. lunch ,然后选择所需编译分支
wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
... ...
40. msm8937_64-userdebug
41. msm8937_64-user
... ...
65. t