我认为我有一些AndroidManifest
不匹配。当我尝试使用Gradle
构建时,我得到了这个
[/home/TryIt/app/src/main/AndroidManifest.xml:3, /var/folders/_h/gq0mh1154p76krbwrkj75qbm0000gn/T/manifestMerge2745402073170024437.xml:2] Main manifest has <uses-sdk android:targetSdkVersion='18'> but library uses targetSdkVersion='19'
:app:processDebugManifest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merging failed. See console for more info.
在library
清单中,我有<uses-sdk android:minSdkVersion="7"/>
及其build.gradle
套
compileSdkVersion 18
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 18
}
另一方面,app/src/main/AndroidManifest
清单中有<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
我错过了什么?
答案 0 :(得分:2)
在gradle构建系统中,minSdkVersion
中定义的targetSdkVersion
和AndroidManifest.xml
将替换为您在build.gradle文件中定义的内容,因此我建议您删除<uses-sdk />
来自AndroidManifest.xml
并将其保留在build.gradle
个文件中以避免混淆。
您正在合并失败的错误,因为不同模块中的minSdkVersion和targetSdkVersion不相等。的 minSdkVersion and targetSdkVersion must be equal in all build.gradle files inside a project
强>
编辑:
注意:请勿将minSdkVersion = 7
设置为任意位置,因为大多数图书馆(如Google Play服务)都在使用minSdkVersion =8
。因此,请尝试在您的应用中使用minSdkVersion = 8
。
检查 Gradle Console
输出,了解详细的冲突报告。它将显示项目中的哪些文件是导致此错误的原因。
答案 1 :(得分:2)
在将Android-Studio
更新到最后一个版本时,我在某个项目中遇到了类似的问题。尝试在所有targetSdkVersion
个文件中将19
设置为gradle
答案 2 :(得分:0)
我遇到了这个错误,简单的答案是因为我的minSdkVersion 4
中有build.gradle
。
将其更改为minSdkVersion 8
8为我解决此问题。