Cordrova背景地理定位phonegap构建失败

时间:2017-11-21 20:58:01

标签: cordova phonegap-plugins cordova-plugins phonegap-build

我已经安装了cordova-plugin-mauron85-background-geolocation

但是使用此消息在android上构建失败,我无法弄清楚是什么错误。

以下是来自phonegap构建日志的错误消息。

  • 其中: 构建文件' /project/build.gradle'行:253

  • 出了什么问题: 评估根项目'项目时出现问题。

      

    无法获取未知属性' GOOGLE_PLAY_SERVICES_VERSION'对于org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler类型的对象。

这是我的config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="no.twn.androidapp" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>temp</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <preference name="phonegap-version" value="cli-6.5.0" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="15" />
    <preference name="android-build-tool" value="gradle" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
    <engine name="ios" spec="^4.4.0" />
    <engine name="android" spec="^6.3.0" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
    <plugin name="cordova-plugin-mauron85-background-geolocation" spec="^2.3.3">
        <variable name="GOOGLE_PLAY_SERVICES_VERSION" value="+" />
        <variable name="ICON" value="@mipmap/icon" />
        <variable name="SMALL_ICON" value="@mipmap/icon" />
        <variable name="ACCOUNT_NAME" value="@string/app_name" />
        <variable name="ACCOUNT_LABEL" value="@string/app_name" />
        <variable name="ACCOUNT_TYPE" value="$PACKAGE_NAME.account" />
        <variable name="CONTENT_AUTHORITY" value="$PACKAGE_NAME" />
        <variable name="ALWAYS_USAGE_DESCRIPTION" value="This app always requires location tracking" />
    </plugin>
</widget>

3 个答案:

答案 0 :(得分:0)

这可能会有所帮助: 为了与其他插件兼容,您还可以设置特定的Google Play版本。以下示例将google play服务锁定到版本11.0.1以与phonegap-plugin-push兼容。注意:请务必查阅其他插件的文档,以确定正确的GOOGLE_PLAY_SERVICES_VERSION。

         

答案 1 :(得分:0)

我有同样的问题。 我尝试更新android sdk,但没有工作。

[enter image description here

我尝试删除并添加平台android,但没有用。 我尝试删除并添加了cordova-plugin-backgroud-geolocation,但它确实有效。

[enter image description here

答案 2 :(得分:0)

我这些天一直在努力在Phonegap Build中运行这个插件,这是我的发现:

不幸的是2.3.x版本似乎只适用于v2.6.0 android,它还不是supported。 尝试使用插件的v2.2.5,似乎在PB中工作(因为此插件的版本3尚未在cordova repo中发布)。