Ionic2 如何使用ionic为onesignal生成图标
我用的是离子2 我需要生成一个信号通知图标 我试着解决这个问题 在名为030_copy_android_notification_icons.js的after_prepare文件夹中的hooks目录中添加一个文件 将以下代码放入其中:Ionic2 如何使用ionic为onesignal生成图标,ionic2,Ionic2,我用的是离子2 我需要生成一个信号通知图标 我试着解决这个问题 在名为030_copy_android_notification_icons.js的after_prepare文件夹中的hooks目录中添加一个文件 将以下代码放入其中: var filestocopy = [{ "resources/android/icon/drawable-hdpi-icon.png": "platforms/android/res/drawable-hdpi/ic_stat_onesi
var filestocopy = [{
"resources/android/icon/drawable-hdpi-icon.png":
"platforms/android/res/drawable-hdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-mdpi-icon.png":
"platforms/android/res/drawable-mdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xhdpi-icon.png":
"platforms/android/res/drawable-xhdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xxhdpi-icon.png":
"platforms/android/res/drawable-xxhdpi/ic_stat_onesignal_default.png"
}, {
"resources/android/icon/drawable-xxxhdpi-icon.png":
"platforms/android/res/drawable-xxxhdpi/ic_stat_onesignal_default.png"
} ];
var fs = require('fs');
var path = require('path');
// no need to configure below
var rootdir = process.argv[2];
filestocopy.forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
var val = obj[key];
var srcfile = path.join(rootdir, key);
var destfile = path.join(rootdir, val);
//console.log("copying "+srcfile+" to "+destfile);
var destdir = path.dirname(destfile);
if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
fs.createReadStream(srcfile).pipe(
fs.createWriteStream(destfile));
}
});
});
我不知道
请给我提个建议
谢谢我也遇到过同样的问题。您的方法是正确的,将
030\u copy\u android\u notification\u icons.js
文件放在{root}/hooks/after\u prepare
下。还要注意,文件名并不重要
然后,要运行脚本,您需要运行以下注释:
ionic cordova prepare android
这样,您的脚本将运行。但也许你的问题和我的相似。如果使用windows,在将文件从resources/android/icon/
复制到platforms/android/res/
时,由于缺少目标文件夹,脚本无法复制操作。这就是为什么要在代码中添加一个简单的代码
var destdir = path.dirname(destfile);
if (!fs.existsSync(destdir)){
fs.mkdirSync(destdir);
}