Android 10.0单编替换framework.jar方法

Android Q中按照以往方法修改frameworks/base/core/目录,然后将make framework编译出的framework.jar,直接adb push到手机system/framework/目录下,重启机器会出现无法启动现象,循环报出boot image异常,导致system server无法启动。

解决方法

修改build/make/core目录下的board_config.mk和dex_preopt_config.mk文件。

1.board_config.mk文件,修改:

WITH_DEXPREOPT := ture

WITH_DEXPREOPT := false
  1. dex_preopt_config.mk文件,修改:
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= ture

WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY ?= false

注释如下逻辑:

 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

修改如下:
在这里插入图片描述
修改完之后,全编代码,刷编译完成后的版本,后面就可以在修改完frameworks/base/后直接make framework单编,然后将生成的framework.jar push到手机system/framework/验证修改。

猜你喜欢

转载自blog.csdn.net/Otaku_627/article/details/108441530