如何重新构建默认的“启动器”应用程序?
我的目标是修改启动器应用程序并动态修改和更改主题。如何重新构建默认的“启动器”应用程序?
我在http://www.cyrket.com/p/android/com.stain46.taghome/看到了几个'家'的应用程序。它看起来像他们采取了默认的主页(启动),并修改它。他们是怎么做到的?为了达到同样的目的,我需要修改什么?
我已经使用ICS启动器完成了此操作。您还需要进行大量代码更改才能将其作为普通应用程序进行编译,因为它使用了大量私有内部API(尽管Google可能暗示了这一点)。您还需要更改软件包名称。我发现有两个局限性:
有一个名为TableMaskFilter的过滤器,不能用于普通应用程序。我认为这允许应用程序抽屉是半透明的,但我删除了它的使用,它看起来很好,我认为。
更关键的是,似乎没有办法复制窗口小部件添加体验,因为它需要只有系统应用才能拥有的权限。 See this question.
无论如何,我把我的源here。它编译和工作在官方Galaxy S2 4.0.3上,但是如果你尝试添加小部件,它会崩溃。
请注意,当您更改软件包名称时,会出现Eclipse重构未注意到的地方(例如XML布局)。我建议你做一个全球性的文字搜索/替换。
标准Launcher是开源的,所以你绝对可以抓住它并按照你想要的方式修改它。为了将您的应用程序用作主屏幕,您需要在AndroidManifest.xml文件中指定正确的Intent filter,用户在按Home键时必须选择您的应用程序。你为什么不抓住这些代码,使用它,当你有更多的问题时想回来,更想知道你想要改变什么。
在这里,我找到了一个稳定版本的launcher2
我的共享设置GitHub库。 HERE
WIKI这个项目:
这个项目包含了启动应用程序附带的Android果冻豆(API 16)的代码。
一些细微的变化是从这个源代码需要去除使用私有的API。这些变化都被打上了“// AOSP改变”
你是如何将启动器编译为外部应用程序的? – arts777 2012-07-26 07:25:27
更改了代码。阅读我的答案。 – Timmmm 2012-09-21 09:50:17
@Timmmm很大的努力......感谢分享。 – 2012-10-17 02:36:29