繁体   English   中英

无法通过Gradle导入com.google.maps.android:android-maps-utils

[英]Can't import com.google.maps.android:android-maps-utils via gradle

我试图将com.google.maps.android:android-maps-utils导入到Android Studio 0.5.4中的项目中。

我收到此Gradle 信息错误

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.

我的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同步,它会将其切回。 在AS 0.5.4中还可以添加库吗?

目前,这似乎是一个错误: 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')
    }
  }
}

这当然不是最好的解决方案,但是应该在错误修复之前执行此操作:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM