编译 Android 11源码

参考小米6 lineageos官方编译文档:https://wiki.lineageos.org/devices/sagit/build

单独编译 framework

以LineageOS18.1(Android 11)为例:

1、在源码根目录执行:

bash 复制代码
make framework-minus-apex

2、用生成的framework.jar替换系统的framework.jar

bash 复制代码
adb root
adb remount
adb push framework.jar /system/framework/framework.jar

3、重启zygote

bash 复制代码
adb shell stop
adb shell start

如果卡开机界面不能进入系统,修改下面配置,并编译完整系统刷机,再编译framework.jar单独替换:

1、build/make/core目录下board_config.mk文件

1)WITH_DEXPREOPT := ture 改为 WITH_DEXPREOPT := false

2、build/make/core目录下dex_preopt_config.mk文件

1)WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= ture 改为 WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= false

2)注释下面代码:

bash 复制代码
ifeq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
   ifneq (true,$(WITH_DEXPREOPT))
     ifneq (true,$(WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY))
       $(call pretty-error, DEXPREOPT must be enabled for user and userdebug builds)
     endif
   endif
 endif
相关推荐
Gracker26 分钟前
Android Perfetto 系列 9 - CPU 信息解读
android
Gracker28 分钟前
Android Perfetto 系列 8:深入理解 Vsync 机制与性能分析
android
Gracker42 分钟前
Android Perfetto 系列 07 - MainThread 和 RenderThread 解读
android
Gracker43 分钟前
Android Perfetto 系列 5:Android App 基于 Choreographer 的渲染流程
android
Gracker1 小时前
Android Perfetto 系列 6:为什么是 120Hz?高刷新率的优势与挑战
android
apigfly2 小时前
Flutter,Compose,Web 在Android平台上从布局到屏幕的机制探究
android·flutter·webview
czhc11400756633 小时前
Java1112 基类 c#vscode使用 程序结构
android·java·数据库
從南走到北4 小时前
JAVA国际版打车APP打车顺风车滴滴车跑腿APP源码Android+IOS+H5
android·java·ios
独自破碎E4 小时前
从括号匹配到字符串解码:递归思想的巧妙应用
android·java·开发语言
只想搞钱的肥仔5 小时前
Android thermal (7)_thermal core
android