我尝试将com.google.maps.android:android-maps-utils导入到Android 0.5.4中的项目中。
我得到了这个分级信息和错误
Information:[C:\Users\Gast1_000\android studio projects\GeoPicture\app\build\exploded-aar\com.google.maps.android\android-maps-utils\0.3\AndroidManifest.xml:2, C:\Users\Gast1_000\android studio projects\GeoPicture\app\build\exploded-aar\com.google.android.gms\play-services\4.3.23\AndroidManifest.xml:3] Main manifest has <uses-sdk android:minSdkVersion='8'> but library uses minSdkVersion='9'
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merging failed. See console for more info.My build.gradle:
dependencies {
compile 'com.android.support:support-v13:+'
compile 'com.google.android.gms:play-services:4.3.+'
compile 'com.google.maps.android:android-maps-utils:0.3'
}项目Manifest.xml
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="19" />我试图在maps utils的清单中手动更改minSdk版本,但是使用每个gradle同步它就会返回。是否还有其他可能将库添加到0.5.4中?
发布于 2014-04-15 12:06:36
目前,这似乎是一个bug:https://github.com/googlemaps/android-maps-utils/issues/60
如果Gradle覆盖您的更改,只需使用Gradle执行这些更改(如上面的链接中所建议的) ;)
将以下代码块添加到android { ..)阻止。
applicationVariants.all{ variant ->
variant.processManifest.doFirst {
File manifestFile = file("${buildDir}/exploded-aar/com.google.maps.android/android-maps-utils/0.3/AndroidManifest.xml")
if (manifestFile.exists()) {
String content = manifestFile.getText('UTF-8')
content = content.replaceAll(/minSdkVersion="8"/, 'minSdkVersion=\"9\"')
manifestFile.write(content, 'UTF-8')
}
}
}当然,这不是最好的解决方案,但是应该这样做,直到修复了bug:
https://stackoverflow.com/questions/23080265
复制相似问题