cordova-icon插件在Android平台7.0.0下被破坏了

问题描述 投票:0回答:2

安装最新的android平台7.0.0,然后运行此命令:

cordova-icon

尝试运行时出现以下错误:

Parsing <app-folder>/platforms/android/res/xml/config.xml failed
Error: ENOENT: no such file or directory

有没有办法解决它?

cordova cordova-android
2个回答
2
投票

似乎在Android 7.0.0下,文件夹的结构得到了一些重构,现在cordova-icon与它不兼容。

这应该由插件所有者修复,但作为一个直接的解决方案,我发现声明一些符号链接(在Mac OSX下)可以解决这个问题。

编辑:解决方案更换!!

最初我发布了一个解决方案,使用符号链接解决了编译错误,但结果是只使用了默认图标而不是我的自定义图标。

这里描述了真正的解决方案:https://github.com/AlexDisler/cordova-icon/issues/99


要修复cordova-icon:

编辑插件的''index.js''。我正在使用括号:

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''。我正在使用括号:

open /usr/local/lib/node_modules/cordova-splash/index.js -a Brackets

替换这一行:

splashPath : 'platforms/android/res/',

有:

splashPath : 'platforms/android/app/src/main/res/',

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 },
]
});
热门问题
推荐问题
最新问题