我正在使用cordova-plugin-facebook4插件构建一个离子/ cordova项目,用于Facebook身份验证访问.在config.xml这看起来像:
<plugin name="cordova-plugin-facebook4" spec="~1.7.1">
<variable name="APP_ID" value="1234567890123456"/>
<variable name="APP_NAME" value="My_Appy_App"/>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这可以,但APP_ID我们正在使用的是开发应用程序,我们有一个单独的Facebook应用程序用于其他环境,如QA.
有没有办法参数化这些变量config.xml并将它们作为构建步骤的一部分进行替换?就像是:
<plugin name="foo" spec="~0.0.0">
<variable name="bar" value="${env.APP_ID}"/>
</plugin>
Run Code Online (Sandbox Code Playgroud)
...然后运行APP_ID=baz ionic build android或类似的东西.
我没有在cordova文档中看到任何允许您这样做的内容.
我正在开发一个应用程序,它将有一个付费(完整)版本和一个免费(精简版)版本.
在为Android开发的另一个应用程序中,可以使用flavors(productFlavors)轻松管理它,我可以在其中配置应用程序的任何部分的替换.例如:我可以boolean PAID_VERSION为每个应用程序配置applicationId和flag ,如下所示:
productFlavors {
free {
applicationId 'com.mycompany.myapp.free'
buildConfigField "boolean", "PAID_VERSION", "false"
}
paid {
applicationId 'com.mycompany.myapp.paid'
buildConfigField "boolean", "PAID_VERSION", "true"
}
}
Run Code Online (Sandbox Code Playgroud)
在代码中我可以检查PAID_VERSION以下方式的标志:
boolean b = BuildConfig.PAID_VERSION;
Run Code Online (Sandbox Code Playgroud)
如果我想按版本更改图标和应用程序名称,我应该在applicationId每个flavor的packages()中指定替换默认值的特定图标,例如:
String资源应用程序名称:
自由路径: /free/res/values/strings.xml
<resources>
<string name="app_name">My App - Free</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
付费路径: /paid/res/values/strings.xml
<resources>
<string name="app_name">My App - Paid</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
图标资源:
自由路径:( /free/res/drawable/icon.pngImagem Free)
付费路径:( /paid/res/drawable/icon.pngImagem付费)
题
怎么可能有一个类似于Ionic2/Cordova项目的配置,这可以通过相同的代码库生成2个具有一些不同功能的应用程序,同时和独立地分布在商店中?