在 gradle 上的 cordova-plugin-googlemap 之后出错



我最近接了一个正在运行的 cordova 项目,这个插件已经在工作了:

call-number 0.0.2 "Cordova Call Number Plugin"
com.cordova.teamViewerSDK 0.1.0 "Team Viewer SDK"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-dialogs 1.3.3 "Notification"
cordova-plugin-file 4.0.0 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-request-location-accuracy 2.2.2 "Request Location Accuracy"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-themeablebrowser 0.2.17 "ThemeableBrowser"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-plugin-x-toast 2.6.0 "Toast"
cordova-universal-links-plugin 1.2.1 "Universal Links Plugin"
cordova.plugins.diagnostic 3.9.2 "Diagnostic" es6-promise-plugin 4.1.0 "Promise"
kunder-cordova-plugin-webview 2.5.1 "Cordova Second Webview"
phonegap-plugin-push 2.1.3 "PushPlugin"

现在我正在尝试安装cordova-plugin-google地图,安装后我在Android Studio上收到此错误:

Project with path ':ScreenSharingSDK' could not be found in project ':app'.

这就是app build.gradle的样子:

dependencies {
implementation fileTree(include: '*.jar', dir: 'libs')
// SUB-PROJECT DEPENDENCIES START
implementation(project(path: ":CordovaLib"))
compile "com.android.support:support-v4:24.1.1+"
compile "com.google.android.gms:play-services-location:11.6.2"
compile "com.android.support:support-v4:26.+"
compile "com.android.support:appcompat-v7:26.+"
compile "com.android.support:support-v13:26.+"
compile "me.leolin:ShortcutBadger:1.1.17@aar"
compile "com.google.firebase:firebase-messaging:11.6.2"
compile "com.google.android.gms:play-services-maps:15.0.1"
compile "com.google.android.gms:play-services-location:15.0.1"
compile "com.android.support:support-core-utils:26.1.0"
// SUB-PROJECT DEPENDENCIES END
compile('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
transitive = true;
}
implementation files('src/main/libs/ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar')
implementation files('src/main/libs/mtscra.jar')
implementation project(':ScreenSharingSDK')

}

我评论了实现项目(':屏幕共享SDK'(,以确保谷歌地图插件正常工作,但后来我收到此错误:

Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 11.6.2.

这是我的项目属性的样子:

target=android-26
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.android.gms:play-services-location:11.6.2
cordova.system.library.3=com.android.support:support-v4:24.1.1+
cordova.system.library.4=com.android.support:support-v4:26.+
cordova.system.library.5=com.android.support:appcompat-v7:26.+
cordova.gradle.include.1=phonegap-plugin-push/pp-push.gradle
cordova.system.library.6=com.android.support:support-v13:26.+
cordova.system.library.7=me.leolin:ShortcutBadger:1.1.17@aar
cordova.system.library.8=com.google.firebase:firebase-messaging:11.6.2
cordova.gradle.include.2=com.cordova.teamViewerSDK/pp-build.gradle
cordova.gradle.include.3=cordova-plugin-badge/perpetualpay-badge.gradle
cordova.system.library.9=com.android.support:support-v4:26.+
cordova.gradle.include.4=cordova-plugin-local-notification/perpetualpay-    localnotification.gradle
cordova.gradle.include.5=cordova-plugin-googlemaps/perpetualpay-tbxml-android.gradle
cordova.system.library.10=com.google.android.gms:play-services-maps:15.0.1
cordova.system.library.11=com.google.android.gms:play-services-location:15.0.1
cordova.system.library.12=com.android.support:support-core-utils:26.1.0

然后我遵循这个逻辑无法在谷歌地图插件安装后构建/运行,但没有成功。

我以为 cordova cli 会处理 gradle 细节,我怎样才能让这个插件在我当前的环境中工作?

npm Version: 5.6.0
Cordova Version: 8.0.0
Gradle version: 4.4

所以我终于解决了这个问题,出于某种原因,在安装cordova-plugin-googlemaps之后,所有对cordova-team-viewer的引用都被遗漏了。

为了安装cordova-plugin-googlemaps,我遵循了以下步骤:

  1. 在 Android 工作室 SDK 级别升级 Google Play 服务。
  2. 更新谷歌播放服务.gradle文件。

    • platforms/android/app/build.gradle

    类路径 'com.google.gms:google-services:4.0.1'

    编译 "com.google.android.gms:play-services-location:15.0.1">

    编译 "com.android.support:support-core-utils:26.1.0">

    • platforms/android/build.gradle

    谷歌((

    类路径 'com.android.tools.build:gradle:3.1.3'

    • platforms/android/CordovaLib/build.gradle

    谷歌((

    类路径 'com.android.tools.build:gradle:3.1.3'

    • platforms/android/project.properties

    cordova.system.library.2=com.google.android.gms:play-services-location:15.0.1

    cordova.system.library.8=com.google.firebase:firebase-messaging:15.0.2

    • platforms/android/app/src/main/AndroidManifest.xml
  3. 安装谷歌地图插件,定义PLAY_SERVICES_VERSION

    科尔多瓦
    • 插件添加科尔多瓦插件谷歌地图 --变量 API_KEY_FOR_ANDROID=">你的钥匙" --变量 API_KEY_FOR_IOS=">你的钥匙" --变量 PLAY_SERVICES_VERSION=">15.0.1">
  4. 重新安装科尔多瓦团队查看器插件

    • cordova plugin remove com.cordova.teamViewerSDK
    • cordova plugin add com.cordova.teamViewerSDK

最新更新