0

我们的应用分布在多个市场,作为开发人员,我需要为每个目标运行不同的代码,例如:

if (target == ROCK) do A;
else if (target == PAPER) do B; 

等等,ADT/Eclipse 是否支持这些东西?

我该怎么做呢?

4

3 回答 3

1

您可以在 res/values 文件夹中设置要检查的参数(例如,strings.xml 中的字符串)。该字符串可以与目标一起参数化(例如 res/values-480x800 中的屏幕大小)。

于 2013-07-30T14:02:35.667 回答
1

有两种方法可以解决这个问题,具体取决于您想要什么:

  1. 多个 APK,每个都有硬编码选项。
  2. 有条件地执行代码的单个 APK。

对于方法 1,您可以在 gradle / Android Studio 中使用构建风格(我认为 ADT 不支持这一点)。您基本上可以构建单个 APK 的多个版本,在每个版本中选择不同的源文件。然后,在 Play 商店中,您可以根据您的标准分发这些不同的文件。

对于方法 2,您有几个选择:

  1. 对于资源,您可以根据语言和区域(或 MCC)提供不同的文件。
  2. 对于代码,getResources().getConfiguration().locale.getCountry()获取设备所在国家/地区或TelephonyManager.getNetworkOperator()MCC
于 2014-06-11T01:58:32.567 回答
0

once I had similar problem for J2ME development, I just developed preprocessor, you can try to use it for Android projects

于 2015-04-03T14:57:05.430 回答