Android9.0源代码中替换默认静态壁纸

  • 一、操作说明
    • 1、文件位置
    • 2、设备要求
  • 二、具体步骤
    • 1.替换图片
    • 2.编译原码
    • 3.实机器验证

一、操作说明

1、文件位置

android设备多种多样,不同的显示屏不同的dpi使用的图片文件在原码中的位置不一样,我验证所使用的平台为高通msm8953,系统版本为android9.0,默认壁纸保存位置为下列3个位置中的一个:

	1.frameworks\base\core\res\res\drawable-nodpi\default_wallpaper.png
	2.frameworks\base\core\res\res\drawable-sw600dp-nodpi\default_wallpaper.png
	3.frameworks\base\core\res\res\drawable-sw720dp-nodpi\default_wallpaper.png

我验证的设备所使用的屏为1280×800 dpi=213,所以系统会使用源代码中第2个位置的图片做为默认壁纸。

2、设备要求

要求android系统的软件为userdebug版本,可以正常连接USB进入到adb调试模式,并且能够用su切换到root命令行模式。

二、具体步骤

1.替换图片

用准备好的图片替换掉源码中原来的图片,在我的源码下位置为:
frameworks\base\core\res\res\drawable-sw600dp-nodpi\default_wallpaper.png

2.编译原码

$ source build/envsetup.sh
$ lunch msm8953_64-userdebug
$ make -j24
$ rm -rf out/target/product/msm8953_64/obj/APPS/framework-res_intermediates/
$ mmm frameworks/base/core/res/
frameworks/base/core/res/
Restriction Checker not present, skipping..
device/qcom/msm8953_64/msm8953_64.mk:31: warning: "Build with 4.9 kernel"
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=9
TARGET_PRODUCT=msm8953_64
TARGET_BUILD_VARIANT=user
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a53
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-62-generic-x86_64-Ubuntu-16.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=PKQ1.190723.001
OUT_DIR=out
============================================
QSSI: not enabled for msm8953_64 target as vendor/qcom/proprietary/release/QSSI/QSSI_enforced_targets_list.txt was not found.
ninja: no work to do.
[1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
Clang SA is not enabled
No need to regenerate ninja file
No need to regenerate ninja file
[100% 2/2] Install: out/target/product/msm8953_64/system/framework/framework-res.apk

#### build completed successfully (51 seconds) ####

3.实机器验证

//开始
> adb root
> adb disable-verity
Successfully disabled verity
Now reboot your device for settings to take effect
> adb reboot
//等待重启完成
> adb root
> adb remount
remount succeeded
> adb shell
msm8953_64:/ # rm system/framework/framework-res.apk
msm8953_64:/ # exit
> adb push \out\target\product\msm8953_64\system\framework\framework-res.apk /system/framework/framework-res.apk
out\targ...es.apk: 1 file pushed. 5.2 MB/s (44547597 bytes in 8.181s)
//重启看结果
> adb reboot

本文地址:https://blog.csdn.net/baidu_25546027/article/details/112566165