Android在构建中忽略库minsdk

时间:2016-03-20 23:10:08

标签: android facebook android-gradle fresco

build.gradle有 minSdkVersion 8

我正在尝试编译需要minimumsdk 9的壁画     编译'com.facebook.fresco:fresco:0.9.0 +'

我收到同步错误

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library ...
    Suggestion: use tools:overrideLibrary="com.facebook.drawee.backends.pipeline" to force usage

我已尝试将其添加到清单覆盖列表中,并且如下所示需要false,但是会收到相同的错误。

<uses-sdk tools:overrideLibrary="com.facebook"/>
 <uses-library android:name="com.facebook" android:required="false"/>

如果我添加完整路径,例如com.facebook.drawee.backends.pipeline然后构建在另一个子路径上失败。我只打算在兼容设备上以编程方式使用fresco,如果设备sdk是&lt; 9那么如何在构建验证中忽略它

1 个答案:

答案 0 :(得分:0)

如果您正在使用android studio,请打开Build.gradle(Module:app)文件并将minSdkVersion设置为9。

修改 无论您何时尝试访问这些方法,首先要进行API级别检查...

if(Build.VERSION.SDK_INT >= 9) {
    //Do your thing....    
}

为防止编译器重新编译,无论您在何处执行此检查,请在方法上方插入以下内容...

TargetApi(9)

例如......

TargetApi(9)
public void myFunction() {
    if(Build.VERSION.SDK_INT >= 9) {
        //Do you thing...
    }    
}