2

アンドロイドまたはiosアプリに関する知識のない純粋なJavascriptデベロッパー(angularjs & nodejs)&です。私はnativesciptのチュートリアルに従っていて、次のリンクの助けを借りてnativescipt(角度)でアプリを作成していた: Wiring up Google Maps Nativescript plugin with Angular 2
をしかし、実行した後:例外があるtns plugin add nativescript-google-maps-sdkを、コマンドtns run androidを実行する上でNativeScript nativescript-google-maps-sdk not woking

D:\ts\app\sample-Groceries>tns run android 
    Executing before-prepare hook from D:\ts\app\sample-Groceries\hooks\before-prepare\nativescript-dev-typescript.js 
    Found peer TypeScript 1.8.10 
    Project successfully prepared 
    WARNING: The file: D:\ts\app\sample-Groceries\node_modules\nativescript-google-maps-sdk\platforms\android\AndroidManifest.xml is depricated, you can read more about what will be the expected plugin structure here: https://www.nativescript.org/blog/migrating-n-android-plugins-from-version-1.7-to-2.0 
    WARNING: The file: D:\ts\app\sample-Groceries\node_modules\nativescript-google-maps-sdk\platforms\android\res\values\nativescript_google_maps_api.xml is depricated, you can read more about what will be the expected plugin structure here: https://www.nativescript.org/blog/migrating-n-android-plugins-from-version-1.7-to-2.0 

    :config phase: createDefaultIncludeFiles 
      +found plugins: nativescript-google-maps-sdk 
    { 
        "F0" { 
        dimension "nativescriptgooglemapssdk" 
        } 
       } 
    }Renaming plugin directory to flavor name: D:\ts\app\sample-Groceries\platforms\android\src\nativescript-google-maps-sdk 
-> D:\ts\app\sample-Groceries\platforms\android\src\F0 
      +found plugins: tns-core-modules-widgets 
    { 
        "F1" { 
        dimension "tnscoremoduleswidgets" 
        } 
       } }Renaming plugin directory to flavor name: D:\ts\app\sample-Groceries\platforms\android\src\tns-core-modules-widgets 
D:\ts\app\sample-Groceries\platforms\android\src\F1 

    :config phase: createPluginsConfigFile 
      Creating product flavors include.gradle file in D:\ts\app\sample-Groceries\platforms\android/configurations folder... 

    :config phase: pluginExtend 
      +applying configuration from: D:\ts\app\sample-Groceries\platforms\android\configurations\include.gradle 
      +applying configuration from: D:\ts\app\sample-Groceries\platforms\android\configurations\nativescript-google-maps-sdk\include.gradle 
      +applying configuration from: D:\ts\app\sample-Groceries\platforms\android\configurations\tns-core-modules-widgets\include.gradle 

    :config phase: copyAarDependencies 

    :config phase: addAarDependencies 
      +adding dependency: D:\ts\app\sample-Groceries\platforms\android\libs\aar\widgets-release.aar 

    FAILURE: Build failed with an exception. 

私が訪問しましたページhttps://www.nativescript.org/blog/migrating-n-android-plugins-from-version-1.7-to-2.0が、この例外を解決するための情報を取得していませんでした。

答えて

2

可能な解決策は、tns platform remove androidでアンドロイドプラットフォームを削除し、tns platform add androidでもう一度追加することです。

nativescript-google-maps-sdkプラグイン。私はこのプラグインを使用して最初からサンプルプロジェクトを作成しました。ここで確認できます:NativeScript-Angular-GoogleMaps。最も重要な部分は、この

NativeScript-Angular-GoogleMaps/app/App_Resources/Android/values/nativescript_google_maps_api.xml にこのコードスニペット

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="nativescript_google_maps_api_key">API_KEY</string> 
</resources> 

を追加し、ファイルnode_modules/nativescript-angular/element-registry.js

の末尾に次の行を追加する

registerElement("mapView", function() { return require("nativescript-google-maps-sdk").MapView; });

することですNativeScriptがMapView要素を見つけるのに役立ちます。

+0

素晴らしいサンプルプロジェクトに感謝​​します。 お勧めしますがアンドロイドプラットフォームを削除してもう一度追加すると、例外が次のように変更されます: 'com.google.android.gmsの一致が見つかりませんでした:play-services-maps:+ com.googleのバージョンなし.android.gms:play-services-maps are available。 私はVSCodeとGenymotionエミュレータを使用しています –

+1

デフォルトでは、GenymotionはGoogle Playサービスを持っていません。この問題を解決するには2つの方法があります:[Google PlayサービスをGenymotionにインストールする方法](http://stackoverflow.com/questions/33344857/preview-google-nexus-5x-6-0-0- api-23-gapps)ステップを実行し、エミュレータでgoogle playサービスを設定するか、実際のデバイスにアプリケーションをデプロイします。 –

+1

'main.ts'ファイルに' registerElement ... '行を追加すれば十分です。 'node_modules'でファイルを変更することは、モジュールを再インストールした場合に変更をやり直さなければならないため、良い考えではありません。 – Leukipp