无法获取未知属性'PLAY_SERVICES_VERSION'

时间:2018-01-31 06:43:23

标签: android google-maps cordova ionic2 google-play-services

我正在在我的离子3应用中安装cordova-plugin-googlemaps后,无法在离子版本中获取未知属性'PLAY_SERVICES_VERSION'错误。如果我删除此插件,那么在构建中不会显示错误。再次添加此插件后,将显示错误。

  

离子cordova插件添加cordova-plugin-googlemaps - 变量   API_KEY_FOR_ANDROID = “YOUR_ANDROID_API_KEY_IS_HERE”

我用我从谷歌获得的密钥替换了YOUR_ANDROID_API_KEY_IS_HERE。

我在另一个应用程序中添加它的工作方式相同。这里不起作用

3 个答案:

答案 0 :(得分:9)

在\ platforms \ android \ project.properties中,仅用“+”替换PLAY_SERVICES_VERSION

com.google.android.gms:play-services-base:+
com.google.android.gms:play-services-ads:+

另一种方法:安装cordova插件以自动创建版本

cordova plugin add cordova-android-play-services-gradle-release

答案 1 :(得分:0)

如果您使用PhoneGap版本构建应用,则需要指定phonegap-version,因为这是PhoneGap构建的错误。

<widget ...>
  <plugin name="cordova-plugin-googlemaps" spec="^2.2.3">
    <variable name="API_KEY_FOR_ANDROID" value="(api key)" />
    <variable name="API_KEY_FOR_IOS" value="(api key)" />
    <variable name="PLAY_SERVICES_VERSION" value="11.8.0" />
    <variable name="LOCATION_WHEN_IN_USE_DESCRIPTION" value="Show your location on the map" />
    <variable name="LOCATION_ALWAYS_USAGE_DESCRIPTION" value="Trace your location on the map" />
  </plugin>

  <!--
    You need to specify cli-7.1.0 or greater version.
    https://build.phonegap.com/current-support
  -->
  <preference name="phonegap-version" value="cli-7.1.0" />
</widget>

https://github.com/mapsplugin/cordova-plugin-googlemaps/tree/3ee006140b4c83d59a6545aa5218fbcdb962cb9b#phonegap-build-settings

答案 2 :(得分:0)

有同样的问题。我开始使用这种方法:https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2039

我在平台android文件夹中更改了project.properties和build.gradle。将$ PLAY_SERVICES_VERSION变量替换为11.8.0+并从config.xml中删除了PLAY_SERVICES_VERSION参数

在此之后,我在Android Studio的新SDK管理器中检查了google-play-services的最新更新。

也许最后一步就足够了,但这就是我采取的步骤。

修改

快速解决方案可以将maven {url'https://maven.google.com'}行添加到您的build.gradle

allprojects {
    repositories {
        maven { url 'https://maven.google.com' }
        mavenCentral();
        jcenter()
    }
}