在Eclipse中配置可调试无错误的Launcher源码

来源:互联网 发布:平面用矩阵表示 编辑:程序博客网 时间:2024/06/06 02:47

首先,需要准备一份谷歌Launcher源码。

具体方法参见:Windows7 下载android源码

下载到的代码是android4.2.2的,太新了。手机配置不够,因此我还是使用的4.0的Launcher。

下载后的源码是应该用make编译的,但由于Launcher比较特殊,它与framework层交互的内容不多。

我们没有必要为了一个小小的Launcher而下载整个源码,再进行单编。

我们完全可以在eclipse配置好一份完整可运行的Launcher代码,并在自己的真机上面调试。

但eclipse并不能直接导入下载好了的文件,因此我们需要新建一个工程,导入下载的文件。

为了不与系统的Launcher冲突,需要修改我们自己调试的这个Launcher的包名。

我将其修改为:com.android.harlanlauncher

这下悲剧了,资源文件狂刷错误,一大片红色。


显然,这是由于包名更换引发的,替换下文件中的包名,错误顿时少了一大半。

Manifest文件中的 <uses-permission android:name="android.permission.BIND_APPWIDGET" />属性,是系统app才具有的权限,注释掉。


java代码中报错主要是由于文件缺失:

android.graphics.TableMaskFilter;

com.android.internal.util.XmlUtils

android.animation.TimeAnimator;

android.support.v13.dreams.BasicDream;


这就需要导入需要的lib以及BasicDream.java这个文件。


导入进去,工程不报错了,只是有小黄色的警告。(好吧,其实我真想全改掉,但是因为是调试的项目,之后还会有问题,现在就忍忍吧)



在真机上跑,在主页按Home键效果图:



选择Harlan启动器,进入:



很熟悉的赶脚有木有!

这就是我们需要调试的自定义Launcher界面!


但是莫忘了,系统的 <uses-permission android:name="android.permission.BIND_APPWIDGET" />属性我们并不具备,因此当我们添加appwidget至桌面时候,程序会crash。


美中都会有点不足,但这无伤大雅。

如果有洁癖的话,可以adb push 进system/app中,这样可以正常使用了。

好了,开始研究Launcher吧~~


附件:

配置Launcher需要的4个文件

配置好了的Launcher4.0源码