如何重新构建默认的“Launcher”应用程序?

时间:2010-07-07 03:00:19

标签: android launcher

我的目标是修改Launcher应用程序并动态修改和更改主题。

我在http://www.cyrket.com/p/android/com.stain46.taghome/看到了几个'主页'应用。看起来他们采用了默认的Home(Launcher)并对其进行了修改。他们是怎么做到的?为了达到同样的目的,我需要修改什么?

3 个答案:

答案 0 :(得分:9)

我用ICS发射器完成了这项工作。您还需要进行大量的代码更改才能将其编译为普通应用程序,因为它使用了大量私有内部API(尽管Google可能暗示了这一点)。您还需要更改包名称。我发现有两个限制:

  1. 有一个名为TableMaskFilter的过滤器,普通应用程序无法使用。我认为这允许app抽屉半透明,但我删除了它的使用,我认为看起来很好。

  2. 更重要的是,似乎没有办法复制小部件添加体验,因为它需要只有系统应用才能拥有的权限。 See this question.

  3. 无论如何,我把我的来源here。它编译并在官方Galaxy S2 4.0.3上运行,但是如果你试图添加小部件它会崩溃。

    注意,当您更改包名称时,Eclipse的重构有些地方没有注意到(例如XML布局)。我建议您进行全局文本搜索/替换。

答案 1 :(得分:7)

标准Launcher是开源的,所以你绝对可以抓住它并按照你想要的方式修改它。要将您的应用用作主屏幕,您需要在AndroidManifest.xml中指定正确的Intent filter,用户必须在按下主页按钮时选择您的应用。你为什么不抓住那些代码,玩它并在你有更多问题时回来,更多地了解你想要改变什么。

答案 2 :(得分:4)

在这里我找到了一个稳定版Launcher2

我已经分享了GitHub回购。 HERE

这个项目的WIKI:

此项目包含Android Jelly Bean(API 16)附带的Launcher应用程序的代码。

此源代码需要进行一些小的更改才能删除私有API的使用。这些更改已标记为“// AOSP Change”