我正在尝试运行命令以运行ionic 3 Command提示符。我使用了cordova fcm插件。
ionic cordova运行android
错误:
“块”参数必须是字符串或缓冲区类型之一。收到类型对象
离子:
ionic(Ionic CLI):4.10.1(/ usr / local / lib / node_modules / ionic)
离子框架:离子角3.6.0 @ ionic / app-scripts:2.1.4
科尔多瓦:
cordova(Cordova CLI):8.1.2(cordova-lib@8.1.1)科尔多瓦 平台:android 7.1.4 Cordova插件:否 列入白名单的插件(共25个插件)
系统:
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 10B61
环境变量:
ANDROID_HOME:C:\ Users \ pkhon \ AppData \ Local \ Android \ Sdk
答案 0 :(得分:1)
伴随着上述https://stackoverflow.com/a/56330922/5698147的Asim Hashmi所做的更改 ,还可以手动搜索并将Firebase版本替换为
firebase-core:16.0.3
firebase-messaging:17.6.0
在
然后运行ionic cordova build android --prod
答案 1 :(得分:0)
该插件中存在一个错误,可以解决此问题:转到:
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
有关更多信息,您可以检查此错误here