2

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

或者有什么我们可以在 APK 文件上更改的东西,然后我们可以将它安装为另一个应用程序,例如更改它的包名?

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

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

4

4 回答 4

5

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

于 2012-11-27T11:49:38.110 回答
0

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

于 2012-11-27T12:00:24.360 回答
0

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

优势:

  • 你可以同时运行,因为你的新项目应该有不同的包名
  • 通过覆盖新项目中的应用程序名称轻松识别(只需向其添加“beta”)
  • 两个版本都可以并行安装在一个设备/模拟器上
  • 如果您尝试验证应用程序的更新过程,则设置非常好
  • 不会与版本控制系统混淆 - 重命名包会导致开发分支发生可怕的非实际更改

坏处:

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

如果您确实需要在您的设备上安装应用程序的市场版本,则此方法是最简单的方法,因为包重命名很可能会导致更差的可维护性。

编辑

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

于 2012-11-27T12:00:50.890 回答
0

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

或者,您可以使用带有参数的 ANT build.xml 文件自动执行不同的构建。在 Google 中有几个关于如何为 Android 执行此操作的示例。ref:一个 android 应用程序,一个启动视图,两个图标

于 2012-11-27T12:06:35.283 回答