我有以下情况,我有一个Android代码库,我在sdcard上读取数据库中的数据。
现在让我们说我有两个文件夹mnt/sdcard/folder1
,其中有1.sqlite
,mnt/sdcard/folder2
其中有2.sqlite
。有没有办法构建和安装两个apk 1.apk and 2.apk
,它们在运行时从相应的文件夹和数据库中读取?代码库是相同的 - 只是在运行时 - 其中一个apk被称为1.apk
,它知道它必须从第一个文件夹读取而第二个从第二个文件夹读取。两者都可以同时安装。
OR
有没有更好的方法来实现这一目标?
答案 0 :(得分:0)
我并不完全清楚你要做的是什么,但是在同一设备上运行两个版本的代码的唯一方法是为两个.apk文件提供两个不同的包名。
将您的公共代码库放入库项目中,然后定义两个应用程序项目,每个配置一个。使每个应用程序项目都依赖于公共代码库,只需定义您需要的特定于每个配置的一些内容。
如果您需要同时运行的两个应用程序,我认为这是唯一的方法。但是,如果您需要一个可以在运行时以某种方式选择性地运行的应用程序,那么听起来您可以使用一些运行时标志。
或者,您可以通过服务访问每个数据集,并在运行时动态附加到所需的服务。这是否有意义取决于你想要用这一切来完成什么。
编辑另一种方法是为这两种行为设置单独的启动图标,每种行为都绑定到应用程序中的不同活动。有关此方法的详细信息,请参阅this thread。