如何创建一个包含视图,活动和对象的android插件

时间:2011-04-21 16:54:59

标签: android

所以...我正在尝试为我的某个应用创建一个插件。这个插件需要CharSequences的几个视图,图像,活动和解析器......理想情况下,这个插件可以从Android Market下载。

我了解如何创建库,但需要将其包含在应用程序中。

我理解如何将应用程序创建为服务并通过意图调用它,但我需要直接访问既不可分区也不可序列化的对象和代码。

我一直关注的是eyes-free TTS。通过它们的实现,开发人员在他们的应用程序中包含一个小的TTS_library_stub.jar文件,看起来它定义了许多必要的类/对象。

所以我的问题是,我将如何构建这样的东西并生成这个“stub”.jar文件,它将包含在我的应用程序中?我一直试图通过TTS代码,但它是一个庞大的代码库,我很难找到我正在寻找的东西。

任何帮助都将受到大力赞赏:)

3 个答案:

答案 0 :(得分:2)

服务和应用需要在清单中具有相同的sharedUserId,并使用相同的密钥进行签名。然后应用程序和服务可以共享每个人的assests,classloader,甚至可以在同一个线程上运行。我从来没有在服务中包含部分GUI,所以也许这是一个限制......不确定。

如果有限制,您必须能够解决它。看看OpenIntents。它是开源的,它是一种服务,你可以从市场下载。它为使用其意图的任何应用程序提供GUI文件浏览器。

没有完全理解你需要什么,但认为这可能会有所帮助。

答案 1 :(得分:0)

如果你想从市场上下载android库,它必须是独立的android应用程序。 (不是android库项目!)。然后你可以把它上传到市场,下载到手机并通过意图(这个库可以处理)或服务(aidl)或提供者(来自库的数据)和可能接收器与它通信,但我从未以这种方式使用它

答案 2 :(得分:0)

如果您要为apache felix等OSGi环境设计应用程序,则可以在运行时加载库。
their presentation中,他们描述了整个概念是如何运作的。 由于只有APK可以在Android市场上共享,你需要编写自己的“更新机制”,下载你的OSGi包(你的插件)并将它们部署到felix。