Java Can';t导入com.google.maps.android:android通过gradle映射utils
我试图将Java Can';t导入com.google.maps.android:android通过gradle映射utils,java,android,google-maps,gradle,android-studio,Java,Android,Google Maps,Gradle,Android Studio,我试图将com.google.maps.android:android映射utils导入到我在android Studio 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:\
com.google.maps.android:android映射utils
导入到我在android Studio 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.
项目清单.xml
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="19" />
我试图在mapsutils的清单中手动更改minSdk版本,但每次gradlesync都会将其更改回来。
是否还有其他可能将库添加到AS 0.5.4中?目前这似乎是一个bug: 如果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之前应该这样做:
- (匹配库时忽略版本)
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')
}
}
}