因此,我尝试打开一个较旧的项目进行一些修复,但是我完全迷失了一个问题。修复所有gradle版本后,更改导入本地库等的方式后出现此错误

Error:Execution failed for task ':wallet:processDebugManifest'.
 Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1


问题是我不使用21.x支持库。我搜索了整个代码库。 v4支持库在两个子项目中使用,但都具有

compile 'com.android.support:support-v4:20.0.0'


定义(无“ +”通配符或其他任何内容)。我完全不知道它将21.x库从哪里拖到哪里。如果我在项目的根目录上尝试“ com.android.support”的“ find in path”,则发生两次v4:20.0.0和一次发生v13:20.0.0。如果我搜索“ com.android.support:support-v4:21.0.0-rc1”,则唯一找到的参考文件位于.idea / workspace.xml中,除此之外没有其他地方。我尝试清理项目,重新启动IDEA,再次从SVN中检出项目,并进行了在AS 0.8。+上运行所需的所有修复程序,现在我失去了主意。有人遇到类似的问题吗?有什么技巧怎么解决呢?

编辑:

http://pastebin.com/Yzi9szr9

这是我的主要build.gradle文件。 “ CountryPicker”项目还使用了support-v4(没有其他库),但也指定了v4-20.0.0(没有通配符)

最佳答案

我认为这是因为您的应用程序compileSdkVersion文件中的targetSdkVersionbuild.gradle

如果您的build.gradle

compileSdkVersion 'android-L'

targetSdkVersion 'android-L'


你的依赖可以是

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:support-v4:21.0.0-rc1'
}


要么
如果您的build.gradle

compileSdkVersion 20

targetSdkVersion 20


然后依赖项将像这样

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:support-v4:20.0.0'
}


编辑

尝试如下更新清单文件。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.app">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

10-07 19:40
查看更多