在运行时安装相同apk的不同版本

时间:2012-11-18 04:02:16

标签: android sd-card android-build

我有以下情况,我有一个Android代码库,我在sdcard上读取数据库中的数据。 现在让我们说我有两个文件夹mnt/sdcard/folder1,其中有1.sqlitemnt/sdcard/folder2其中有2.sqlite。有没有办法构建和安装两个apk 1.apk and 2.apk,它们在运行时从相应的文件夹和数据库中读取?代码库是相同的 - 只是在运行时 - 其中一个apk被称为1.apk,它知道它必须从第一个文件夹读取而第二个从第二个文件夹读取。两者都可以同时安装。

OR

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

我并不完全清楚你要做的是什么,但是在同一设备上运行两个版本的代码的唯一方法是为两个.apk文件提供两个不同的包名。

将您的公共代码库放入库项目中,然后定义两个应用程序项目,每个配置一个。使每个应用程序项目都依赖于公共代码库,只需定义您需要的特定于每个配置的一些内容。

如果您需要同时运行的两个应用程序,我认为这是唯一的方法。但是,如果您需要一个可以在运行时以某种方式选择性地运行的应用程序,那么听起来您可以使用一些运行时标志。

或者,您可以通过服务访问每个数据集,并在运行时动态附加到所需的服务。这是否有意义取决于你想要用这一切来完成什么。

编辑另一种方法是为这两种行为设置单独的启动图标,每种行为都绑定到应用程序中的不同活动。有关此方法的详细信息,请参阅this thread