安装最新的android平台7.0.0,然后运行此命令:
cordova-icon
尝试运行时出现以下错误:
Parsing <app-folder>/platforms/android/res/xml/config.xml failed
Error: ENOENT: no such file or directory
有没有办法解决它?
答案 0 :(得分:2)
似乎在Android 7.0.0下,文件夹的结构得到了一些重构,现在cordova-icon
与它不兼容。
这应该由插件所有者修复,但作为一个直接的解决方案,我发现声明一些符号链接(在Mac OSX下)可以解决这个问题。
编辑:更换了解决方案!!
最初我发布了一个使用符号链接解决编译错误的解决方案,但结果是只使用了默认图标而不是我的自定义图标。
这里描述了真正的解决方案:https://github.com/AlexDisler/cordova-icon/issues/99
修复cordova-icon:
编辑插件的''index.js''。我正在使用Brackets:
open /usr/local/lib/node_modules/cordova-icon/index.js -a Brackets
替换此行:
iconsPath : 'platforms/android/res/',
使用:
iconsPath : 'platforms/android/app/src/main/res/',
还会删除所有以''drawable'开头的图标行,如
{ name : 'drawable/icon.png', size : 96 },
因为Android中的图标现在只使用mipmap版本。
修复cordova-splash:
编辑插件的''index.js''。我正在使用Brackets:
open /usr/local/lib/node_modules/cordova-splash/index.js -a Brackets
替换此行:
splashPath : 'platforms/android/res/',
使用:
splashPath : 'platforms/android/app/src/main/res/',
答案 1 :(得分:0)
我还更改了文件:
/usr/local/lib/node_modules/cordova-icon/index.js
要支持mipmap图标:
platforms.push({
name : 'android',
isAdded : fs.existsSync('platforms/android'),
iconsPath : 'platforms/android/app/src/main/res/',
icons : [
{ name : 'mipmap-hdpi/ic_launcher.png', size : 72 },
{ name : 'mipmap-ldpi/ic_launcher.png', size : 36 },
{ name : 'mipmap-mdpi/ic_launcher.png', size : 48 },
{ name : 'mipmap-xhdpi/ic_launcher.png', size : 96 },
{ name : 'mipmap-xxhdpi/ic_launcher.png', size : 144 },
{ name : 'mipmap-xxxhdpi/ic_launcher.png', size : 192 },
{ name : 'mipmap-hdpi-v26/ic_launcher_foreground.png', size : 72 },
{ name : 'mipmap-ldpi-v26/ic_launcher_foreground.png', size : 36 },
{ name : 'mipmap-mdpi-v26/ic_launcher_foreground.png', size : 48 },
{ name : 'mipmap-xhdpi-v26/ic_launcher_foreground.png', size : 216 },
{ name : 'mipmap-xxhdpi-v26/ic_launcher_foreground.png', size : 324 },
{ name : 'mipmap-xxxhdpi-v26/ic_launcher_foreground.png', size : 432 },
]
});