我有一个具有多个构建变体的应用程序.这些变体用于为不同的公司构建相同应用程序的版本.所以,我有几个不同的变种,构建不同的应用程序:
build.gradle文件处理得非常好:
productFlavors {
app1 {
applicationId "com.acme.app1"
}
app2 {
applicationId "com.schmoe.app2"
}
app3 {
applicationId "com.yop.app3"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的问题.我正在将Dropbox集成到我的应用程序中.必须为每个变体更改AndroidManifest.xml文件,以包含相应的应用程序密钥(存储在我的字符串文件中).Dropbox在清单文件中添加了以下内容:
<activity
android:name="com.dropbox.client2.android.AuthActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboard">
<intent-filter>
<!-- Change this to be db- followed by your app key -->
<data android:scheme="db-abcdef" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
每个构建变体都需要更改以下行:
<data android:scheme="db-abcdef" />
Run Code Online (Sandbox Code Playgroud)
为每个应用程序变体的适当值.换句话说,我需要根据构建变量替换上面的部分字符串.例如
APP1
<data android:scheme="db-111111" />
Run Code Online (Sandbox Code Playgroud)
应用2
<data android:scheme="db-222222" />
Run Code Online (Sandbox Code Playgroud)
APP3
<data android:scheme="db-333333" />
Run Code Online (Sandbox Code Playgroud)
对于每个变体,直到文本"db-"的行是相同的.
我需要的是用我的字符串文件中的字符串动态替换字符串的变量部分(x值)"db-xxxxxx".
我认为这可以通过gradle脚本完成,但我是gradle的完整newb.救命!
如果你可以提供帮助,请非常具体地了解自从我在gradle文件和脚本编写时出现的问题.提前致谢!
android ×1