摇篮:如何合并的Andr​​oid清单文件需要相同的活动不同buildTypes,但与不同的意图过滤器 [英] Gradle: How to merge Android manifest files for different buildTypes which need the same Activity, but with different intent-filters

查看:382
本文介绍了摇篮:如何合并的Andr​​oid清单文件需要相同的活动不同buildTypes,但与不同的意图过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图用gradle这个创建一个单独的buildType,但buildType需要为同一个活动中使用不同的特点。在这种情况下,我的溅活动需要取决于buildType不同意向滤波器。这可能吗?

我在拿到的gradle以下错误:

 :火种:processUtestManifest
[AndroidManifest.xml中:67,AndroidManifest.xml中:38]试图合并不兼容/manifest/application/activity[@name=com.<company_name>.activities.ActivitySplash]元素:
  &LT;活动
      @android:NAME =COM&LT;&COMPANY_NAME GT; .activities.ActivitySplash。
      &所述;意图滤光器&gt;
          &lt;作用
- @android:NAME =android.intent.action.MAIN&GT;
  &LT;活动
      @android:NAME =COM&LT;&COMPANY_NAME GT; .activities.ActivitySplash。
      &所述;意图滤光器&gt;
          &lt;作用
++ @android:NAME =com.apphance.android.LAUNCH&GT;


解决方案

这是不可能的时刻分别合并意向过滤器,所以我会建议复制整个&LT;活性GT; 节点到

 的src / buildtype1 / AndroidManifest.xml中

 的src / buildtype2 / AndroidManifest.xml中

,它会自动被合并到最后清单(当然你也想从主清单中删除它)。

so I'm trying to use gradle to create a separate buildType, but that buildType needs to use different characteristics for the same Activity. In this case, my splash activity needs a different intent-filter depending on buildType. Is this possible?

I get the following error in gradle:

:Tinder:processUtestManifest
[AndroidManifest.xml:67, AndroidManifest.xml:38] Trying to merge incompatible /manifest/application/activity[@name=com.<company_name>.activities.ActivitySplash] element:
  <activity
      @android:name="com.<company_name>.activities.ActivitySplash"
      <intent-filter>
          <action
--            @android:name="android.intent.action.MAIN">
  <activity
      @android:name="com.<company_name>.activities.ActivitySplash"
      <intent-filter>
          <action
++            @android:name="com.apphance.android.LAUNCH">

解决方案

It's not possible to merge the intent-filter separately at the moment so I would recommend copying the whole <activity> node into

src/buildtype1/AndroidManifest.xml

and

src/buildtype2/AndroidManifest.xml

and it'll get merged automatically into the final manifest (of course you also want to remove it from the main manifest).

这篇关于摇篮:如何合并的Andr​​oid清单文件需要相同的活动不同buildTypes,但与不同的意图过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆