Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在运行时安装同一apk的不同版本_Android_Sd Card_Android Build - Fatal编程技术网

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

Android 在运行时安装同一apk的不同版本,android,sd-card,android-build,Android,Sd Card,Android Build,我有以下情况,我有一个Android代码库,我从SD卡上的DB读取数据。 现在让我们假设我有两个文件夹mnt/sdcard/folder1,其中包含1.sqlite,以及mnt/sdcard/folder2,其中包含2.sqlite。是否有一种方法可以构建和安装两个apk1.apk和2.apk,它们在运行时从各自的文件夹和数据库中读取数据?代码库是相同的-仅在运行时-其中一个apk被称为1。apk知道它必须从第一个文件夹读取,从第二个文件夹读取。而且两者都可以同时安装 或 有没有更好的方法来实现

我有以下情况,我有一个Android代码库,我从SD卡上的DB读取数据。 现在让我们假设我有两个文件夹
mnt/sdcard/folder1
,其中包含
1.sqlite
,以及
mnt/sdcard/folder2
,其中包含
2.sqlite
。是否有一种方法可以构建和安装两个apk
1.apk和2.apk
,它们在运行时从各自的文件夹和数据库中读取数据?代码库是相同的-仅在运行时-其中一个apk被称为
1。apk
知道它必须从第一个文件夹读取,从第二个文件夹读取。而且两者都可以同时安装


有没有更好的方法来实现这一点

我不完全清楚您想做什么,但是让两个版本的代码在同一台设备上运行的唯一方法是为两个.apk文件使用两个不同的包名

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

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

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


编辑另一种方法是为这两种行为分别设置启动图标,每个图标与应用程序中的不同活动相关联。有关此方法的更多信息,请参阅。

两个版本的意思是,两个apk的代码库都是相同的,比如v1.0,但一个版本从文件夹1读取,称为1.apk,另一个版本从文件夹2读取,称为2.apk。你的答案会随着这个信息而改变吗?thanks@Slartibartfast-我在回答中又添了一个想法。