ROM 编译&调试(三):源码编译流程

454 阅读1分钟

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