Android,可以合并两个APK文件吗?



我有一个Android项目。在这个项目中,我的客户问我以下场景,但我不确定这是可能的。

他们想为android创建一个应用商店。在这个商店开发人员上传他的应用程序后,我们应该包装这个APK文件与我们的APK文件(因此我们将有一个APK文件)。这个包装器向开发人员的应用程序中添加了一些活动,以便用户能够检查他们的信用,并在他们的帐户中没有足够的信用时添加信用(我们不想操纵开发人员的代码,我们只想将我们的代码添加到他们的代码中)。因此,当用户下载并安装本应用程序时,每次启动应用程序时,应先运行我们的包装器,并通过互联网检查其财务帐户,如果其帐户中有足够的信用,则可以自由使用该应用程序。如果他/她没有足够的信用,我们应该引导他/她购买更多的信用。

我所做的事情,我创建了两个示例项目,看看我是否添加了一个APK到第二个应用程序,我可以从第二个应用程序运行该应用程序。

在第一个应用程序中,我只是在其活动中显示一些文本,在第二个项目(包装器)中,我创建了一个按钮,当我单击它时,第一个项目应该运行。结果不令人满意,我不能运行它。

我认为如果我从第一个项目导出JAR文件并重复上述过程,我会有更好的结果,但因为将来我们不能要求开发人员将您的应用程序的JAR文件而不是APK,这不是一个好主意。

现在,我花了大约一个星期的时间来思考这个故事,我找不到一种方法来知道如何将开发人员的应用程序与我们的包装应用程序合并和合并。

如果你有什么建议,请指导我。

最好的方法是这样做:

  1. 设置一些权限从你的"store"应用程序访问数据。使用这些相同的权限,您可以检测是否有任何这些应用程序安装在他们的手机上。

  2. 你要做一个ContentProvider访问用户的帐户信息,并检索该信息在你的"商店"应用程序。使用这个内容提供程序,你可以设置一个api来访问第三方应用程序中的用户信息。

此时,您应该可以访问所有用户的信息(也使用信用),并知道他们是否安装了这些应用程序。

现在为第三方应用

  1. 我建议创建一个使用内容提供程序的jar文件。还有一些基本的活动,比如确保你的商店安装好了等等。

  2. 为使用jar和适当的文档设置一个示例应用程序。这一点非常重要,当jar文件上没有合适的文档时总是很难做到。但基本上,您应该为与用户帐户交互的各个方面提供静态类和helper类。应用程序应该只请求使用这些信息的许可。

这里有一些内容提供程序教程,还有一个清单设置的链接,可以让提供程序使用权限。

http://developer.android.com/guide/topics/providers/content-providers.htmlhttp://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/http://www.devx.com/wireless/Article/41133/1763/page/2http://about - android.blogspot.com/2010/04/content提供者的例子- 1. - html

http://developer.android.com/guide/topics/manifest/provider-element.html prmsn

最后一件事,如果你不希望第三方应用程序出现在用户正常启动器上,你可以要求开发人员也不要将CATEGORY_LAUNCHER添加到他们的主活动中。在这种情况下,您将不得不查询商店应用程序中的主要活动。

最新更新