1.在源码根目录下执行
source build/envsetup.sh
2.配置变量
# export BUILD_TARGET_PRODUCT=[机型名称]
export BUILD_TARGET_PRODUCT=ingres
#以下为可选变量,一般如下配置
export SKIP_DOWNLOAD_DECOUPLED_APPS=true #跳过 xxxx 解耦 app 下载
export SKIP_DOWNLOAD_CUST_APPS=true #跳过 Google app 下载
export WITH_DEXPREOPT=false #只保留 Android 框架的 odex,关闭其余 odex 从 Q 版本开始可用
lunch missi-userdebug #可以只输入lunch,再选择自己对应机型的lunch
Android T
lunch missi_phone_cn-userdebug
3.编译源码
make target-files-package -j8 #可以只输入lunch,再选择自己对应机型的lunch
#部分编译
make services -j8 #编译services模块
make framework-minus-apex -j8 #编译framework模块
make framework-res -j8 #编译framework-res模块
make xxxx-services -j8 #编译xxxx-services模块
make xxxx-framework -j8 #编译xxxx-framework模块
make framework-ext-res -j8 #编译 framework-ext-res模块
4.编译完成后push进手机
adb root
adb disable-verity #解锁system分区
adb reboot
adb root
adb remount #使得手机的只读文件夹可以被修改
adb push out/target/product/[机型名称]/system/framework/[模块名称].jar system/framework/ #也就是 adb push 编译后的jar包路径 手机对应目录
adb reboot