我正在开发一个应用程序,它将有一个付费(完整)版本和一个免费(精简版)版本。
在为Android开发的另一个应用程序中,可以使用风格(productFlavors
)轻松管理此功能,我可以在其中配置应用程序任何部分的替换。例如:我可以为每个应用程序配置一个应用程序 Id 和标志boolean PAID_VERSION
,如下所示:
productFlavors {
free {
applicationId 'com.mycompany.myapp.free'
buildConfigField "boolean", "PAID_VERSION", "false"
}
paid {
applicationId 'com.mycompany.myapp.paid'
buildConfigField "boolean", "PAID_VERSION", "true"
}
}
在代码中,我可以通过以下方式检查PAID_VERSION
标志:
boolean b = BuildConfig.PAID_VERSION;
如果我想按版本更改图标和应用程序名称,我应该在每种风格的软件包 (applicationId
) 中指定替换默认值的特定图标,例如:
字符串资源应用程序名称:
自由路径:/free/res/values/strings.xml
<resources>
<string name="app_name">My App - Free</string>
</resources>
付费路径:/paid/res/values/strings.xml
<resources>
<string name="app_name">My App - Paid</string>
</resources>
图标资源:
自由路径:/free/res/drawable/icon.png
(图像免费)
付费路径:/paid/res/drawable/icon.png
(Imagem 付费)
问题
如何拥有与 Ionic2/Cordova 项目类似的配置,使用相同的代码库可以生成 2 个具有几个不同功能的应用程序,同时独立地分发到商店中?
好吧,您可能已经偶然发现了这个问题,但是这家伙创建了这个 Gulp 任务来为此目的在构建时修改config.xml
文件。
同样在本论坛主题中,他解释了如何获取条件应用内代码的当前版本。
另一个相关主题是:为 cordova 配置构建风格,建议使用 Cordova Hooks 根据环境变量修改config.xml
文件,如下所述:使用环境变量/参数化配置.xml