"chunk" 参数必须是字符串或缓冲区类型之一。接收类型对象

The "chunk" argument must be one of type string or Buffer. Received type object

我正在尝试 运行 命令 运行 我的 ionic 3 命令提示符。我使用了 cordova fcm 插件。

离子科尔多瓦 运行 android

错误:

The "chunk" argument must be one of type string or Buffer. Received type object

离子:

ionic (Ionic CLI) : 4.10.1 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.6.0 @ionic/app-scripts : 2.1.4

科尔多瓦:

cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1) Cordova Platforms : android 7.1.4 Cordova Plugins : no whitelisted plugins (25 plugins total)

系统:

NodeJS : v10.15.1 (/Users/sivakumarv/.nvm/versions/node/v10.15.1/bin/node) npm : 6.4.1 OS : macOS High Sierra Xcode : Xcode 10.1 Build version 10B61

环境变量:

ANDROID_HOME : C:\Users\pkhon\AppData\Local\Android\Sdk

插件中存在错误,解决方法:转到:

plugins/cordova-plugin-fcm/scripts/fcm_config_files_process.js

现在像这样更改文件:

// change
var strings = fs.readFileSync("platforms/android/res/values/strings.xml").toString();
// to
var strings = fs.readFileSync("platforms/android/app/src/main/res/values/strings.xml").toString();

// AND

//change
fs.writeFileSync("platforms/android/res/values/strings.xml", strings);

//to
fs.writeFileSync("platforms/android/app/src/main/res/values/strings.xml", strings);

之后,将google-services.json文件复制到以下目录:

  • platforms/android/google-services.json
  • platforms/android/app/google-services.json

更多信息,你可以查看这个bughere

以及 Asim Hashmi 的上述 更改 ,还手动搜索并将 firebase 版本替换为

firebase-core:16.0.3
firebase-messaging:17.6.0

  • android/build.gradle
  • android/project.属性
  • android/app/build.gradle

然后运行ionic cordova build android --prod