如何在api 16下面使用chrome自定义标签?

时间:2015-10-11 01:16:45

标签: android google-chrome chrome-custom-tabs

我想在api 16下面使用chrome自定义标签。我的应用程序支持Min SDK版本高达10(GingerBread)。当我在build.gradle

中声明customtabs依赖项时

它出现以下错误:

  

错误:任务':app:processDebugManifest'执行失败。   清单合并失败:uses-sdk:minSdkVersion 10不能小于库中声明的版本15 [com.android.support:customtabs:23.0.1]       建议:使用工具:overrideLibrary =" android.support.customtabs"强制使用

如何使用默认浏览器以及带有customtabs的api 16以上的api 16下的SDK实现支持设备的机制。

2 个答案:

答案 0 :(得分:9)

工具:overrideLibrary 标记(see here

一个特殊标记,只能与uses-sdk声明一起使用,以覆盖导入库,该库最低SDK版本比该应用程序的最低SDK版本更新。 没有这样的标记,清单合并将失败。该标记将允许用户选择可以导入哪些库而忽略最低SDK版本。

示例,在主要的android清单中:

<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2"

          tools:overrideLibrary="com.example.lib1, com.example.lib2"/>

将允许导入具有以下清单的库而不会出现错误:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.example.lib1">
        <uses-sdk android:minSdkVersion="4" />
    </manifest>

答案 1 :(得分:4)

如错误中所述,您可以使用tools:overrideLibrary标记覆盖库中的minSdk版本。

请务必核对SDK_INT&gt;在调用库之前,在代码上ICE_CREAM_SANDWICH_MR1以避免运行时出现异常。

使用不支持自定义标签的系统时,只需触发正常的ACTION_VIEW意图。