android4.0移植默认动态壁纸修改

在网上找了很多都有这方面的说明大致是这样的:

修改默认动态壁纸在:frameworks/base/core/res/res/values/config.xml里面有这样一条信息:

    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
         specified -->

    <string name="default_wallpaper_component" translatable="false">@null</string>

其中默认的是没有的,一般都说改这样,其实不一定,因为有些产家把这个配制文件放在别的地方,例如我的默认的存放在:device/samsung/smdkv210/overlay/frameworks/base/core/res/res/values/config.xml文件其中默认设置是这样:

    <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
这个是默认的动态壁纸。
下面我说下到底怎么改这动态壁纸,其实我也不知道他这后面的
com.android.wallpaper/.nexus.NexusWallpaper哪来的。于是我看了下
frameworks/base/services/java/com/android/server/WallpaperManagerService.java
里面有这么一句:

    private static JournaledFile makeJournaledFile() {
        final String base = "/data/system/wallpaper_info.xml";
        return new JournaledFile(new File(base), new File(base + ".tmp"));
    }
就是说系统的wallpaper的配制信息是放在
/data/system/wallpaper_info.xml
这个文件当中的,当你修改了系统的动态壁纸后,这个文件也会随着被更改,于是我把动态壁纸改成了落叶的
wallpaper_info.xml内容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<wp width="960" height="800" name="" component="com.android.wallpaper/.fall.FallWallpaper" />

得到后面这个东西:
com.android.wallpaper/.fall.FallWallpaper
现在将config.xml里面改成如下:

    <string name="default_wallpaper_component">com.android.wallpaper/.fall.FallWallpaper</string>
然后在编译这一部分,重新烧录系统后,默认动态壁纸就变成了你设置的这个。

你可能感兴趣的:(android4.0移植默认动态壁纸修改)