如何通过一个apk安装两个实例?

时间:2012-11-27 11:43:43

标签: android android-install-apk

我开发了一个Android应用程序,但我需要安装它的两个实例,一个用于我的日常使用,另一个用于调试/开发,我没有太多的手机用于调试,只有一部手机,并且不要我不想在模拟器上调试,因为它与真实手机相比太慢了。

或者我们可以在APK文件上更改任何内容,然后我们可以将其安装为另一个应用,例如改变它的包名?

目前,我在代码中更改了包名,然后将它们设置为两个应用程序,这些应用程序可以安装在同一部手机上,但这种方式不方便。寻求简单的方法。

更新:是否有任何工具可以在打包(apk文件)后直接修改androidmanifest.xml中的包名?然后我们只需要解压缩apk,修改androidmanifest.xml,再次压缩apk。

4 个答案:

答案 0 :(得分:5)

你自己回答了这个问题。您必须更改清单中的包名称,否则Android将覆盖旧应用程序(如果证书不同,则无法安装它)。

答案 1 :(得分:0)

尝试从资源文件夹@string / app_name更改strings.xml中的应用程序名称,以获得同一应用程序的多个实例。并且必须更改包名称,以便不覆盖现有应用程序。

答案 2 :(得分:0)

我会将原始应用程序设为库项目并创建一个使用库项目的新项目。

优势:

  • 您可以同时运行,因为您的新项目应具有不同的包名称
  • 通过覆盖新项目中的应用名称轻松识别(只需添加“beta”)
  • 两个版本可以安装在一台设备/仿真器并行
  • 如果您尝试验证应用的更新过程,则设置相当不错
  • 与版本控制系统没有混淆 - 重命名软件包会导致开发分支机构发生可怕的非实际更改

缺点:

  • 您需要“取消选中”库设置才能发布原始项目
  • 您可能需要更改两个清单文件中的某些内容,以便以较小的方式提高可维护性

如果你真的需要在你的设备上使用你的应用程序的市场版本,这种方法是最简单的方法,因为包重命名很可能会导致更糟糕的可维护性。

修改

您可以在project preferences -> Android中将项目标记为库项目。之后,您可以链接将该库项目添加到同一位置的另一个普通Android项目,只需单击add按钮。

答案 3 :(得分:0)

您可以复制项目并更改副本中的包名称。 您可以使用相同的SVN路径在两个项目上应用更改。

或者您可以使用带参数的ANT build.xml文件自动执行不同的构建。有几个关于如何在Google中为Android执行此操作的示例。 参考:One android application, one startup view, two icons