【问题标题】:How to install two versions of an app如何安装两个版本的应用程序
【发布时间】:2014-02-06 17:38:21
【问题描述】:

有没有一种简单的方法可以在同一部安卓手机上安装两个版本的应用程序?

我正在将旧的网络应用程序更新为原生的 android 应用程序。出于测试目的,如果我们可以在同一设备上同时安装两者,那就太好了。

暂时重命名更新会很棒。

如果我在 AndroidManifest 中重命名包名,那么 R 也将被重命名,我必须重新组织导入等。

是否可以只在 AndroidManifest 中的某处进行简单的重命名而不更改一行代码(即使不使用 eclipse / android studio 重构机制)。

我尝试将我的原生应用程序标记为库项目,并将其包含在具有另一个包名称的新 Android 项目中。但是我会遇到这种方法的麻烦,例如使用 actionbar sherlock:

Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr;
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr;

【问题讨论】:

    标签: android package


    【解决方案1】:

    如果您使用新的 gradle 构建系统,您可以创建新的 build type,然后添加 packageNameSuffix。这将为您的包名称添加后缀,但其他所有内容保持不变。

    buildTypes {
        debug {
            packageNameSuffix ".debug"
        }
    }
    

    【讨论】:

    • 该死,这将是一个不错的解决方案,但不幸的是我现在不使用 gradle。我真的必须迁移到它。
    【解决方案2】:

    如果您想暂时这样做,有一个简单的方法。您需要修改 AndroidManifest.xml 文件。

    找到如下所示的行:

    manifest package="com.example.myapp"

    并将其更改为:

    “com.example.myapp.debug”

    【讨论】:

    • 如果我这样做了,那么 R 也将在 com.example.myapp.debug.R 中被删除,并且需要更改导入
    • 如果你使用 Android 工具 -> 重命名应用程序包,如下面 Benito Bertoli 所述,Eclipse 会提示你接受与重命名相关的所有可能更改。
    • 是的,我知道,但我不想更改任何一行代码,因为我不想将更改提交到 git。在 3 周内(经过一些测试),我会将其重命名为原始包名称。我希望有一个简单的 xml 属性,我可以在其中指定 ...
    【解决方案3】:

    AFAIK 除了更改应用程序包名称之外别无他法,但它相当简单。

    在 Eclipse 中,右键单击您的项目并选择 Android 工具 > 重命名应用程序包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-25
      • 2013-03-05
      • 2019-04-17
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      相关资源
      最近更新 更多