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

How to use chrome custom tabs below api 16?

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

中声明 customtabs 依赖项时

它给出了以下错误:

Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 10 cannot be smaller than version 15 declared in library [com.android.support:customtabs:23.0.1] Suggestion: use tools:overrideLibrary="android.support.customtabs" to force usage

我如何实现一种机制来支持使用默认浏览器 api 16 和自定义选项卡 api 16 以上的 SDK 的设备。

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

请务必在调用库之前检查 SDK_INT > ICE_CREAM_SANDWICH_MR1 代码,以避免在运行时出现异常。

当使用不支持自定义标签的系统时,只需触发一个正常的 ACTION_VIEW intent。

工具:overrideLibrary 标记(see here

一个特殊标记,只能与 uses-sdk 声明一起使用,以覆盖导入最低 SDK 版本比该应用程序的最低 SDK 版本更新的库。 没有这样的标记,清单合并将失败。该标记将允许用户 select 忽略最低 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>