1. 修改Launcher中显示的预置app default_workspace.xml <favorite launcher:packageName="com.tecom.welly.myandroid" launcher:className="com.tecom.welly.myandroid.MainFrame" launcher:screen="1" launcher:x="3" launcher:y="3" />packageName:包名 className :在桌面上显示的activity
screen : 在哪一个screen添加 x,y: 在screen中的位置
2. 修改屏幕数目(1)launcher.java
static final int SCREEN_COUNT = 7;
static final int DEFAULT_SCREEN = 3;
static final int NUMBER_CELLS_X = 4;
static final int NUMBER_CELLS_Y = 4;
(2)launcher.xml
<include android:id="@+id/cell6" layout="@layout/workspace_screen" />
<include android:id="@+id/cell7" layout="@layout/workspace_screen" />
(3)home_arrows_left.xml、 home_arrows_right.xml
(4)新增资源文件:
home_arrows_left_5.xml
home_arrows_left_6.xml
home_arrows_right_5.xml
home_arrows_right_6.xml
ic_home_arrows_5_focus.png
ic_home_arrows_5_focus_right.png
ic_home_arrows_5_normal.png
ic_home_arrows_5_normal_right.png
ic_home_arrows_5_press.png
ic_home_arrows_5_press_right.png
ic_home_arrows_6_focus.png
ic_home_arrows_6_focus_right.png
ic_home_arrows_6_normal_right.png
ic_home_arrows_6_press.png
ic_home_arrows_6_press_right.png
ic_home_arrows_6_normal.png
3. 在Launcher桌面添加widget
5. 设置墙纸
替换图片
frameworks/base/core/res/res/drawable/default_wallpaper.jpg
mm
make snod
6. 修改快捷方式的大小
7. 修改桌面的行列
(1)修改行列
Android_src/packages/apps/Launcher/res/layout-port/workspace_screen.xml
launcher:shortAxisCells="4" launcher:longAxisCells="4"
行 列
改为:
launcher:shortAxisCells="4" launcher:longAxisCells="6"
(2)修改widget
这样调整后,laucher home screen的icon变为6行,6列,显得比较紧凑了。但是search widget就比较别扭了,只占据了左边的一部分,并没有占据整个第一行。那么如何解决这个问题?
调整Android_src/packages/apps/Launcher/src/com/android/launcher/Widget.java
/**
* Represents one instance of a Launcher widget, such as search.
*/
class Widget extends ItemInfo {
int layoutResource;
static Widget makeSearch() {
Widget w = new Widget();
w.itemType = LauncherSettings.Favorites.ITEM_TYPE_WIDGET_SEARCH;
w.spanX = 4;
w.spanY = 1;
w.layoutResource = R.layout.widget_search;
return w;
}
}
修改为:
w.spanX = 6;
w.spanY = 1;
8. 删除默认widget
(1) 删除数据库
launcherProvide.java
launcher.db
default_workspace.xml
打开后显示如下的内容
此时可以在这个文件里进行修改了,可以在这里增加删除各个快捷方式、插件等,这里介绍三类:谷歌定义的插件、程序快捷方式、程序插件,简单的说明一下:
快捷方式说明
<favorite //程序快捷键
launcher:className="com.android.browser.BrowserActivity" //该应用的类
launcher:packageName="com.android.browser" //该应用的包名
launcher:screen="2" //第3屏,0-4屏共5屏
launcher:x="0" //图标X位置,左上角第一个为0,向左递增,0-5共6个
l0auncher:y="3"/> //图标Y位置,左上角第一个为0,向下递增,0-2共3个
插件说明
<appwidget //插件
launcher:className="com.android.music.MediaAppWidgetProvider" //该应用的类
launcher:packageName="com.android.music" //该应用的包名
launcher:screen="4" //第5屏,0-4屏共5屏
launcher:x="2" //图标X位置,左上角第一个为0,向左递增,0-5共6个
launcher:y="1" //图标Y位置,左上角第一个为0,向下递增,0-2共3个
launcher:spanX="2" //在x方向上所占格数
launcher:spanY="1"
/> //在y方向上所占格数
其中需创建的应用的包名和类都需将相应的APK破解之后才能得到。(不在本文介绍范围内,有需要请自行google)
< search //搜索栏
launcher:screen="1" //第2屏
launcher:x="0" //图标X位置
launcher:y="1"/> //图标Y位置
像搜索栏(search)、小时钟(clock)等这些插件,谷歌已将之默认已配置好,所以只要指定其第几屏和X、Y坐标即可。例如上面的search
本人就喜欢将一些常用的快捷方式放在主桌面,如下代码所示:
==============================================================================
<?xml version="1.0" encoding="UTF-8"?>
<favorites
xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher2">
<search
launcher:screen="2"
launcher:x="0"
launcher:y="0" />
<favorite
launcher:className="com.android.browser.BrowserActivity"
launcher:packageName="com.android.browser"
launcher:screen="2"
launcher:x="0"
launcher:y="3" />
<favorite
launcher:className="android.rk.RockVideoPlayer.RockVideoPlayer"
launcher:packageName="android.rk.RockVideoPlayer"
launcher:screen="2"
launcher:x="1"
launcher:y="3" />
<favorite
launcher:className="android.rk.RockAudioPlayer.RockAudioPlayer"
launcher:packageName="android.rk.RockAudioPlayer"
launcher:screen="2"
launcher:x="2"
launcher:y="3" />
<favorite launcher:className="com.rk.niepix.FolderBrowser"
launcher:packageName="com.rk.niepix"
launcher:screen="2"
launcher:x="3"
launcher:y="3" />
<favorite launcher:className="org.curiouscreature.android.shelves.activity.ShelvesActivity"
launcher:packageName="org.rock.zlibrary.ui.android"
launcher:screen="2"
launcher:x="4"
launcher:y="3" />
<favorite
launcher:className="com.arron.taskManager.taskManager2.ui.activities.HomeActivity"
launcher:packageName="com.arron.taskManager"
launcher:screen="2"
launcher:x="5"
launcher:y="3" />
<appwidget
launcher:className="com.android.settings.widget.SettingsAppWidgetProvider"
launcher:packageName="com.android.settings"
launcher:screen="4"
launcher:x="0"
launcher:y="0"
launcher:spanX="2"
launcher:spanY="1" />
<appwidget launcher:className="com.android.music.MediaAppWidgetProvider"
launcher:packageName="com.android.music"
launcher:screen="4"
launcher:x="2"
launcher:y="1"
launcher:spanX="2"
launcher:spanY="1" />
</favorites>
==============================================================================
修改完成后,将之保存,并用Apktool将之重新编译:
Apktool b launcher2
编译OK后,生成的新的APK位于Launcher2\dist目录内,用Winrar打开生新成的Launcher2.apk将APK内的\res\xml\default_workspace.xml拖出来,然后再打开固件包内的system\app\Launcher2.apk,用刚才拖出来的default_workspace.xml替换APK中相同的文件。
此时再将system打包并升级即可看到修改后的效果了,如下图示:
以前替换APK中的文件时,总以为要重新签名程序才能使用,后来发现,即便不签名只要直接替换相同的文件都可以正常工作。所以就无需再重新签名了,因为RK的android系统重新签名APK后出问题的机率非常的大。
Launcher修改之一完毕!