> com.acme.app1
> com.schmoe.app2
> com.yop.app3
>等……
build.gradle文件处理得非常好:
productFlavors { app1 { applicationID "com.acme.app1" } app2 { applicationID "com.schmoe.app2" } app3 { applicationID "com.yop.app3" }}
这是我的问题.我正在将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>
每个构建变体都需要更改以下行:
<data androID:scheme="db-abcdef" />
为每个应用程序变体的适当值.换句话说,我需要根据构建变量替换上面的部分字符串.例如
APP1
<data androID:scheme="db-111111" />
应用2
<data androID:scheme="db-222222" />
APP3
<data androID:scheme="db-333333" />
对于每个变体,直到文本“db-”的行是相同的.
我需要的是用我的字符串文件中的字符串动态替换字符串的变量部分(x值)“db-xxxxxx”.
我认为这可以通过gradle脚本完成,但我是gradle的完整newb.救命!
如果你可以提供帮助,请非常具体地了解自从我在gradle文件和脚本编写时出现的问题.提前致谢!
解决方法 您可以使用与使用字符串资源修改应用程序名称相同的方式执行此 *** 作.在您的清单中,包括:<data androID:scheme="@string/db_scheme" />
接下来,为各种构建类型添加资源文件夹,并在每个构建类型中放置资源文件的自定义副本,例如res / values / flavor.xml:
<?xml version="1.0" enCoding="utf-8" standalone="no"?><resources> <string name="app_name">Customer 1 App</string> <string name="db_scheme">db-111111</string></resources>
这将允许您为您的各种口味提供不同的API密钥,方案,应用程序名称,图标等.
总结以上是内存溢出为你收集整理的如何根据构建变体更改AndroidManifest.xml文件?全部内容,希望文章能够帮你解决如何根据构建变体更改AndroidManifest.xml文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)