因此,我尝试打开一个较旧的项目进行一些修复,但是我完全迷失了一个问题。修复所有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
文件中的targetSdkVersion
和build.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>