单独编译android framework模块出现的问题

本文探讨了解决全编译Android后单独修改框架模块时出现的makesnod告警及内核启动失败的问题,提供了修改配置文件和编译参数的方法,以避免后续单独打包运行时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全编andorid后,单独修改编译一个framwork模块,make snod会有如下告警信息:
Warning: with dexpreopt enabled, you may need a full rebuild

使用这样make snod 出来的镜像,内核不能启动,模拟器一直停留在“android”标志状态。
查看log发现有如下错误打印:
DexOpt: mismatch dep signature for '/system/framework/framework.odex

查看makefile有这样的语句
# Enable dex-preoptimization to speed up the first boot sequence
# of an SDK AVD. Note that this operation only works on Linux for now
# 看起来这是一项为了加快第一次启动速度的特性
ifeq (true,$(WITH_DEXPREOPT))
$(warning Warning: with dexpreopt enabled, you may need a full rebuild.)
endif

修改方法1:
build/target/board/generic/BoardConfig.mk


ifeq ($(HOST_OS),linux)
  ifeq ($(WITH_DEXPREOPT),)
    WITH_DEXPREOPT := true  #把这个改为false
  endif
endif

修改方法2:
全编译的时候加载参数
make showcommands WITH_DEXPREOPT=false

这样编译出来的结果,如果以后单独修改打包运行,就不会有上述问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值