找到 /frameworks/base/core/res/res/values/config.xml 文件中
<string name="default_wallpaper_component">@null</string>
为设置默认壁纸的代码如若想要更换成为动态壁纸。只需将“@null”更改为动态壁纸的路径即可。
<string name="default_wallpaper_component">com.android.wallpaper/com.android.wallpaper.nexus.NexusWallpaper</string>
packages/wallpapers/AndroidManifest中:
com.android.wallpaper : package name
com.android.wallpaper.nexus.NexusWallpaper : service name
重启后无效果的话,重新恢复出厂设置即可。
如果动态壁纸是第三方的APK:
需反编译apk,从apk中AndroidManifest.xml中获得packagename和servicename
静态的图片壁纸和live wallpaper是两个系统,加载的时候是完全两套机制,静态图片通过launcher里面的一个xml文件配置来管理系统默认静态壁纸,live wallpaper则是通过intent机制向系统搜寻所有匹配Activity,所以,这里的默认值为null,而不是那个系统默认静态壁纸的地址,系统是读config.xml文件的设置,若为null才继续查找静态壁纸配置内容.
如果只需要修改静态壁纸,替换frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源码中修改对应default_wallpaper地址.
注意的是:在3rdparty中可能会有相同的config.xml文件,在编译的过程中会进行覆盖。
所以要先查找一下3rdparty是否会有相类似的config.xml。如果有,也要进行修改。