android4.4 Launcher3 修改配置文件default_workspace.xml无效的解决方法

     此文章针对的是一整套的系统,并不适合单独下载Launcher3源码下来修改的情况。

     最近公司在搞一个车载方案,用的是RK的系统,因为以前一直做的是A6的方案,android4.0的,这次换成RK的,android4.4的,系统代码拿到手的时候,发现多了个Launcher3。好吧,多个就多个吧,又不是不能改。思维还停留在A6方案上,觉得也就改改res/xml/default_workspace.xml,很简单的。下手开始改,改完,一编译一烧录,傻眼了,什么情况?改的没效果...认真检查了一遍,没错啊,就是这么改的啊。好吧,有问题,找度娘,上网一搜索,各种各样的解决方法出来了,有的说是改的default_workspace.xml要在正确的目录下,于是我把xml-sw600dp和xml-sw720dp目录下的也替换了,不行....有人说是因为编译生成的Launcher3.apk被放在了system/app下,权限不够,要改android.mk,添加LOCAL_CERTIFICATE := shared和LOCAL_PRIVILEGED_MODULE := true这两句,使生成的apk放在system/priv-app下,这个目录权限更高,才能使AndroidManifest.xml中的 这个权限发挥作用,也不行...还有人说要改src/com/android/launcher3/LauncherProvider.java,屏蔽掉loadDefaultFavoritesIfNecessary这个方法中的 if (sp.getBoolean(EMPTY_DATABASE_CREATED, false)) 这一句,还是不行。没办法了,幸好朋友多,群里问了句,有个朋友提醒我去device下看看,找了一圈,好啊,device/rockchip/rksdk/overlay/packages/apps下竟然还有个Launcher3,点开一看,竟然是res,res下是一些资源文件,还有xml.......default_workspace.xml。改、编、烧,成了,有效。

    事后,我想了想,估计这样做的目的是为了不破坏源码的完整性,所以在device下创建了这么个东西,用于替换Launcher3的一些资源文件和配置。

你可能感兴趣的:(Launcher3)