在非GMS版本下,对default_workspace_5×5.xml文件进行应用图标的加载以及位置设置,然后push或install到设备上之后,效果会根据修改发生变化,但是如果是在GMS版本下修改该文件的话,桌面上是不会发生一丝变化的。
这是什么原因呢?
因为GMS版本的Launcher桌面图标的加载设置并不是在该文件中进行设置的,而是在下图目录下partner_default_layout.xml文件中进行的Launcher页面图标的加载显示的。
partner_default_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 Google Inc. All Rights Reserved. -->
<favorites>
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
<!-- Dialer Messaging Calendar Contacts Camera -->
<favorite container="-101" screen="0" x="0" y="0" packageName="com.android.dialer" className="com.android.dialer.app.DialtactsActivity"/>
<favorite container="-101" screen="1" x="1" y="0" packageName="com.android.contacts" className="com.android.contacts.activities.PeopleActivity"/>
<favorite container="-101" screen="2" x="2" y="0" packageName="com.google.android.gm" className="com.google.android.gm.ConversationListActivityGmail"/>
<favorite container="-101" screen="3" x="3" y="0" packageName="org.codeaurora.snapcam" className="com.android.camera.CameraLauncher"/>
<!-- In Launcher3, workspaces extend infinitely to the right, incrementing from zero -->
<!-- Google folder -->
<!-- Google, Chrome, Gmail, Maps, YouTube, (Drive), (Music), (Movies), Duo, Photos -->
<folder title="@string/google_folder_title" screen="0" x="0" y="4">
<favorite packageName="com.google.android.googlequicksearchbox" className="com.google.android.googlequicksearchbox.SearchActivity"/>
<favorite packageName="com.android.chrome" className="com.google.android.apps.chrome.Main"/>
<favorite packageName="com.google.android.gm" className="com.google.android.gm.ConversationListActivityGmail"/>
<favorite packageName="com.google.android.apps.maps" className="com.google.android.maps.MapsActivity"/>
<favorite packageName="com.google.android.youtube" className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"/>
<favorite packageName="com.google.android.apps.docs" className="com.google.android.apps.docs.app.NewMainProxyActivity"/>
<favorite packageName="com.google.android.apps.youtube.music" className="com.google.android.apps.youtube.music.activities.MusicActivity"/>
<favorite packageName="com.google.android.videos" className="com.google.android.youtube.videos.EntryPoint"/>
<favorite packageName="com.google.android.videos" className="com.google.android.videos.GoogleTvEntryPoint"/>
<favorite packageName="com.google.android.apps.tachyon" className="com.google.android.apps.tachyon.MainActivity"/>
<favorite packageName="com.google.android.apps.photos" className="com.google.android.apps.photos.home.HomeActivity"/>
</folder>
<favorite screen="0" x="1" y="4" packageName="com.google.android.apps.maps" className="com.google.android.maps.MapsActivity"/>
<favorite screen="0" x="2" y="4" packageName="com.android.vending" className="com.android.vending.AssetBrowserActivity"/>
<favorite screen="0" x="3" y="4" packageName="com.google.android.apps.photos" className="com.google.android.apps.photos.home.HomeActivity"/>
<favorite screen="0" x="4" y="4" packageName="com.android.settings" className="com.android.settings.Settings"/>
<favorite screen="0" x="5" y="4" packageName="com.android.deskclock" className="com.android.deskclock.DeskClock"/>
</favorites>
上面的代码和下面的代码是相同的实现效果:
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
<!-- Dialer, Messaging, [Maps/Music], Browser, Camera -->
<resolve
launcher:container="-101"
launcher:screen="0"
launcher:x="0"
launcher:y="0" >
<favorite packageName="com.android.dialer" className="com.android.dialer.main.impl.MainActivity" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="1"
launcher:x="1"
launcher:y="0" >
<favorite packageName="org.codeaurora.snapcam" className="com.android.camera.CameraLauncher" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="2"
launcher:x="2"
launcher:y="0" >
<favorite packageName="com.google.android.apps.messaging" className="com.google.android.apps.messaging.gaia.expresssignin.BugleExpressSignInActivity" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="3"
launcher:x="3"
launcher:y="0" >
<favorite packageName="com.google.android.googlequicksearchbox" className="com.google.android.googlequicksearchbox.SearchActivity" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="4"
launcher:x="4"
launcher:y="0" >
<favorite packageName="com.google.android.youtube" className="com.google.android.apps.youtube.app.watchwhile.InternalMainActivity" />
</resolve>
<!-- Bottom row -->
<folder
title="@string/google_folder_title"
launcher:screen="0"
launcher:x="0"
launcher:y="-1">
<favorite packageName="com.google.android.googlequicksearchbox" className="com.google.android.googlequicksearchbox.SearchActivity"/>
<favorite packageName="com.google.android.gm" className="com.google.android.gm.ConversationListActivityGmail"/>
<favorite packageName="com.google.android.apps.maps" className="com.google.android.maps.MapsActivity"/>
<favorite packageName="com.google.android.youtube" className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"/>
<favorite packageName="com.google.android.apps.docs" className="com.google.android.apps.docs.app.NewMainProxyActivity"/>
<favorite packageName="com.google.android.apps.youtube.music" className="com.google.android.apps.youtube.music.activities.MusicActivity"/>
<favorite packageName="com.google.android.videos" className="com.google.android.youtube.videos.EntryPoint"/>
<favorite packageName="com.google.android.apps.tachyon" className="com.google.android.apps.tachyon.MainActivity"/>
<favorite packageName="com.google.android.apps.photos" className="com.google.android.apps.photos.home.HomeActivity"/>
</folder>
<resolve
launcher:screen="0"
launcher:x="1"
launcher:y="-1" >
<favorite packageName="com.google.android.apps.maps" className="com.google.android.maps.MapsActivity" />
</resolve>
<resolve
launcher:screen="0"
launcher:x="2"
launcher:y="-1" >
<favorite packageName="com.android.vending" className="com.google.android.finsky.unauthenticated.activity.UnauthenticatedMainActivity" />
</resolve>
<resolve
launcher:screen="0"
launcher:x="3"
launcher:y="-1" >
<favorite packageName="com.google.android.apps.photos" className="com.google.android.apps.photos.home.HomeActivity" />
</resolve>
<resolve
launcher:screen="0"
launcher:x="4"
launcher:y="-1" >
<favorite packageName="com.android.settings" className="com.android.settings.Settings" />
</resolve>
<resolve
launcher:screen="0"
launcher:x="5"
launcher:y="-1" >
<favorite packageName="com.android.deskclock" className="com.android.deskclock.DeskClock" />
</resolve>
<appwidget
launcher:screen="0"
launcher:x="0"
launcher:y="2"
launcher:spanX="3"
launcher:spanY="2"
launcher:packageName="com.android.deskclock"
launcher:className="com.android.alarmclock.DigitalAppWidgetProvider"/>
</favorites>