看了这篇文章,想到了同样的问题——一个代码库,两个Android上的应用
我创建了一个应用程序testApp
,其中包含topics
、splash screens
、logos
、charts
、rules
和statuses
/或等项目events
。
现在,我想要来自相同代码库的不同应用程序(testApp_USA
, testApp_Canada
, testApp_Australia
)并将它们放在 Google Play 商店中,这样如果用户下载应用程序,例如testApp_USA,那么只有该区域的特定项目应该显示为美国的闪屏、美国标志等。
所以我想根据国家配置多个应用程序,然后根据用户下载的应用程序将项目设置为默认值。
目前,我有一个适用于所有地区的单一应用程序,并且我正在施加多个条件来根据地区区分或更改项目。
例如:
(在许多 Java 文件中,我使用过)
if(rule.contains("USA"))
{
//Show splash screen of USA
}
(同样,在许多 Java 文件中,我使用过)
if(rule.contains("Australia"))
{
//Show splash screen of Australia
}
这只是许多重复代码中的一项。考虑到所有,它会更多。
应该有更好的方法在 android 中创建具有不同名称和设置的多个应用程序。
我知道,iOS
允许我轻松更改应用程序名称和配置文件以允许创建多个应用程序。但我不知道或者这在 Android 代码上不容易做到。
我的问题:
是否可以在具有不同项目设置的 android 中使用相同的源代码创建不同的应用程序并将它们发布到Google Play 商店?如果是,如何设置这样的配置?
更新:
阅读这篇文章-multiple-android-application-package-apk-files-from-single-source-code
然后我想出了同样的想法——
1)获取一些字符串变量,其中包含您要创建的应用程序类型的值。
public static final String app_Name = "testApp_CANADA" ;
2)AndroidManifest.xml
为您需要为其创建 .apk 的多个应用程序拥有多个文件。
3)为每个清单创建相应的启动器活动。
但是,如何AndroidManifest.xml
在一个应用程序中拥有多个文件?
更新:
我的第一个像往常一样AndroidManifest.xml
在主项目文件夹(应用程序根文件夹)中。考虑这个testApp_USA
。
我的第二个AndroidManifest.xml
是在main project下的单独包中。考虑这个。testApp_CANADA
两者AndroidManifest.xml
都有不同的启动器活动,并带有相应的初始屏幕和定义的图标。两者的包名称不同,因此它们将根据需要创建不同的 .apk 文件。
现在,如果我的主应用程序具有设置,如何在testApp_USA
/之间切换代码:testApp_CANADA
public static final String app_Name = "testApp_CANADA" ;
或者
更清楚的是,
AndroidManifest.xml
如何根据app_Name的值调用特定的?
使用我拥有的当前设置,AndroidManifest.xml
始终只调用第一个。