【问题标题】:How do I install the same Android App .apk twice on the same device?如何在同一设备上安装相同的 Android App .apk 两次?
【发布时间】:2011-04-06 00:54:54
【问题描述】:

我有一个使用 Eclipse 开发的 Git 项目,我需要创建一个用于生产的 .apk 和一个要安装在相同设备上的 Dev .apk。

两者之间的变化是次要的属性设置,例如 XML 提要等。

无论有没有 Eclipse,创建要安装在同一设备上的 Producion 和 Deve .apk 文件的最佳做法是什么?

【问题讨论】:

  • 我能问一下为什么你想让它们同时在同一个设备上运行吗?我可以理解对不同生产和开发 apk 的需求,但不是同时对它们的需求。
  • @RobertMassaioli 让我给你一个用例:你有一个应用程序 - 该应用程序是基于租户的 - 即该应用程序可能仅在打印输出定义/配置文件等方面有所不同......取决于在为其构建应用程序的租户上。现在可能会发生,在一台设备上的两个租户都需要该应用程序,因为使用它的人为两个租户工作。长话短说:肯定有一个用例(安装了同一个应用程序的多个生产版本)

标签: android apk production-environment


【解决方案1】:

我发现这样做的唯一方法是更改​​包名称。从技术上讲,这只需要在清单文件中完成,但这可能会导致一些构建错误,因此您可能还必须重命名包。因此,如果您有 com.company.app,您可以将其更改为 com.company.app.dev 和 com.company.app.prod。 只要您不使用任何反射,Eclipse 就会为您处理所有代码重命名。

【讨论】:

【解决方案2】:

我正在通过以下方式解决此类问题:

我有 3 种不同的活动:基础、生产和开发,例如:

public class BasicActivity extends Activity {} //actually conntains all code
public class ProductionActivity extends BasicActivity {} //empty one
public class DevelopmentActivity extends BasicActivity {} //empty one

然后有2个不同的 体现,说:生产(点 以ProductionActivity为 可发射并且有不同的 包)和开发(指向 DevelopmentActivity 可启动)

当我需要启动生产一号时 - 我曾经将生产清单(带有 ant 任务)复制为真实清单,反之亦然与开发一号。

由于R.class 必须与清单中声明的​​包在同一个包中,因此编译资源有一点点复杂性。但我也想通过一些“手工”蚂蚁来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 2019-08-30
    • 2018-10-29
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    相关资源
    最近更新 更多