gradle上的cordova-plugin-googlemap后发生错误

时间:2018-07-03 22:50:52

标签: android cordova plugins maps

我最近参加了一个正在运行的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 maps,安装后,我在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')

}

我评论了实施项目(':ScreenSharingSDK'),以确保Google Maps插件正常工作,但随后出现此错误:

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.

这是我的 project.properties 的样子:

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

然后我遵循了这种逻辑could not build/run after google-maps plugin installed,但没有成功。

我认为cordova cli将处理gradle详细信息,如何使该插件与当前环境兼容?

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

1 个答案:

答案 0 :(得分:0)

所以我终于解决了这个问题,由于安装了cordova-plugin-googlemaps后由于某种原因,所有对cordova-team-viewer的引用都丢失了。

为了安装cordova-plugin-googlemaps,我按照以下步骤操作:

  1. 在Android Studio SDK级别上升级Google Play Services
  2. 更新Google Play服务.gradle文件。

    • platforms / android / app / build.gradle

    classpath'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

    google()

    classpath'com.android.tools.build:gradle:3.1.3'

    • platforms / android / CordovaLib / build.gradle

    google()

    classpath'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 的Google Maps插件

    • cordova插件添加cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID =“ 您的密钥” --variable API_KEY_FOR_IOS =“ 您的密钥” --variable PLAY_SERVICES_VERSION =“ < strong> 15.0.1 ”
  4. 重新安装cordova-team-viewer插件

    • cordova插件删除com.cordova.teamViewerSDK
    • cordova插件添加com.cordova.teamViewerSDK