编译 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
相关推荐
limingade15 分钟前
Android应用如何点击桌面图标开启悬浮窗后跳转到最近打开的应用
android·悬浮窗自动切换顶层应用·android静默跳转应用·安卓获取手机任务窗口列表·android代码切换应用·adb切换应用
开酒不喝车29 分钟前
中间件AIDL HIDL区别总结
android·中间件
mit6.82432 分钟前
Android HAL(硬件抽象层):内核到应用的完整实现
android
鹏多多1 小时前
Flutter自定义日历table_calendar完全指南+案例
android·前端·flutter
侦探观察1 小时前
南非女性旅游绑架风险分析及防范措施
android·大数据·开发语言·百度·网络安全·旅游
Digitally1 小时前
如何将文件从电脑传输到三星平板 [5种方法]
android
jie_07541 小时前
scrcpy低延迟控制 Android 设备,无需 root 权限,开源免费
android
2501_915918411 小时前
iOS 应用如何防止破解?从逆向链路还原攻击者视角,构建完整的反破解工程实践体系
android·macos·ios·小程序·uni-app·cocoa·iphone
成都证图科技有限公司1 小时前
安卓系统Chrome内核:Android System WebView
android·前端·chrome
2501_916007471 小时前
iOS 应用上架流程的工程化拆解 从签名体系到提交审核的全过程管控
android·ios·小程序·https·uni-app·iphone·webview