我想在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实现支持设备的机制。
答案 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意图。