如何在同一设备上安装相同的Android App .apk两次?

时间:2011-04-06 00:54:54

标签: android apk production-environment

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

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

使用或不使用Eclipse,创建要在同一设备上安装Producion和Deve .apk文件的最佳做法是什么?

2 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分: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可启动)

当我需要启动Production one时 - 我曾经将生产清单(使用ant任务)复制为实际生成清单,反之亦然,将其复制为开发生成清单。

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