2015-10-11 41 views
5

我想在api 16下面使用chrome自定义选项卡。我的应用支持Min SDK版本高达10(GingerBread)。当我宣布中的build.gradle的customtabs依赖如何在api 16下面使用chrome自定义选项卡?

它提供了以下错误:

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

我怎样才能实现一种机制,以支持使用低于16 API与SDK默认浏览器,上面customtabs API 16台设备。

回答

8

工具:overrideLibrary标记(see here

只能随用-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> 
+0

镀铬的自定义选项卡的pakcage名称是:机器人。 support.customtabs –

+0

在你的问题中相关的sdk版本,当你的应用程序在Android版本从10到15的设备上运行时,它会崩溃......你必须在运行时检查并从andreban – aorlando

4

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

务必打电话到图书馆,以避免在运行时异常之前检查SDK_INT>ICE_CREAM_SANDWICH_MR1您的代码。

当使用不支持自定义选项卡的系统时,只需触发正常的ACTION_VIEW意图。

相关问题