LoginSignup
0
0

More than 5 years have passed since last update.

cordova-plugin-fcmインストール後のcordova run androidでエラー

Posted at

はじめに

OS: Windows 7
cordova-android: 7.1.2
cordova-plugin-fcm: 2.1.2

cordovaを使ったハイブリッドアプリでプッシュ通知を実装しようとしてcordova-plugin-fcmをインストール(cordova plugin add cordova-plugin-fcm)したところ、インストールはうまくいったのですが、実行(cordova run android)時に以下のエラーが出ました。

$ cordova run android
Android Studio project detected
Invalid data, chunk must be a string or buffer, not object

原因と解決策はググるとすぐ出ましたが英語しかなかったので一応日本語情報としてメモしておきます。
参考:https://github.com/fechanique/cordova-plugin-fcm/issues/481

原因

cordova-androidのバージョンが7以上だと発生するみたいです。

解決策①

cordova-androidのバージョンを落とす

cordova platform rm android
cordova platform add android@6.4.0

解決策②

cordova-plugin-fcmプラグインのソースを修正する。

対象ソース:plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js
修正①
 前:var strings = fs.readFileSync("platforms/android/res/values/strings.xml").toString();
 後:var strings = fs.readFileSync("platforms/android/app/src/main/res/values/strings.xml").toString();
修正②
 前:fs.writeFileSync("platforms/android/res/values/strings.xml", strings);
 後:fs.writeFileSync("platforms/android/app/src/main/res/values/strings.xml", strings);

次にgoogle-services.jsonを以下の2つのフォルダに設置
1. platforms/android/google-services.json
2. platforms/android/app/google-services.json

おわりに

解決策①も②もどちらもうまくいきましたが、ソース修正は影響範囲が不明でちょっと怖いので自分は解決策①にしました。
まあただのパスの修正なので解決策①でも問題ないと思います。

それではよきエンジニアライフを~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0