复制资源/android/icon/mdpi-foreground.png 时出错

Posted

技术标签:

【中文标题】复制资源/android/icon/mdpi-foreground.png 时出错【英文标题】:Error occurred while copying resources/android/icon/mdpi-foreground.png 【发布时间】:2021-05-07 15:10:16 【问题描述】:

我在使用 cordova-res 复制图标和启动画面时遇到以下错误。

我正在使用电容器来构建应用程序

我正在使用以下命令来复制图标:

cordova-res android --skip-config --copy

这是命令的响应:

~/Public/accountech-ecommerce/ionic-files$ cordova-res android --skip-config --copy
Generated 18 resources for Android
WARN:   Error occurred while copying resources/android/icon/mdpi-foreground.png
WARN:   Error occurred while copying resources/android/icon/mdpi-background.png
WARN:   Error occurred while copying resources/android/icon/hdpi-foreground.png
WARN:   Error occurred while copying resources/android/icon/hdpi-background.png
WARN:   Error occurred while copying resources/android/icon/xhdpi-foreground.png
WARN:   Error occurred while copying resources/android/icon/xhdpi-background.png
WARN:   Error occurred while copying resources/android/icon/xxhdpi-foreground.png
WARN:   Error occurred while copying resources/android/icon/xxhdpi-background.png
WARN:   Error occurred while copying resources/android/icon/xxxhdpi-foreground.png
WARN:   Error occurred while copying resources/android/icon/xxxhdpi-background.png
Copied 31 resource items to Android

PS:我已按照以下说明进行操作:https://capacitorjs.com/docs/guides/splash-screens-and-icons

【问题讨论】:

【参考方案1】:

如果你使用 ionicframework,试试这个 ionic cordova resources [<platform>] [options]

ionic cordova resources

【讨论】:

由于我使用的是capacitorjs,因此出现此错误:[ERROR] Could not find cordova integration in the default project.【参考方案2】:

以下步骤对我有用。

您需要手动创建两个图像。

第 1 步

创建一个 432x432 的 .png 文件。然后将其保存为“icon-background.png”。您可以决定是否使颜色透明

在我的例子中,我创建了一个白色图像,因为我的图标需要一个白色背景,并且我选择了 432x432 尺寸。

第 2 步

创建另一个 432x432 .png 文件并将其保存为“icon-foreground.png”。

在这种情况下,您将注意您在第一张图片中使用的背景颜色。

第 3 步

将上面创建的两张图片放入<Project Directory>/resources/android/

第 4 步

然后从项目目录运行以下任一命令,具体取决于适合您的。 1 号对我有用。

    cd android && gradlew assembleDebug && cd .. ionic cordova run android

【讨论】:

“您会注意第一张图片中使用的背景颜色”是什么意思?? 它必须是对比色。如果背景颜色为白色,则 icon-foreground.png 图像应为黑色或放置在白色之上时可见的东西【参考方案3】:

我在一个新的 Ionic Capacitor@2.4.7 项目中遇到了同样的错误。我在resources 目录中有splash.pngicon.png。但这些还不够。该错误与cordova-res 的Adaptive Icons 部分有关。您的 resources 目录中还缺少 2 个图标。

    将需要的icon-foreground.pngicon-background.png添加到resources/android目录中 (可选)检查cordova-res 是否是最新的。对我来说,我在 Mac 上使用以下命令升级到 0.15.3 版:sudo npm -g remove cordova-res,然后是 sudo npm -g install cordova-res --unsafe-perm 重新运行命令:
cordova-res android --skip-config --copy
成功输出现在看起来像(18 变为 24):
Generated 24 resources for Android
Copied 31 resource items to Android

【讨论】:

它似乎不再起作用,即使使用最新的 Cordova-res。没有错误,没有丢失文件,但只是同样的警告,仍然生成了 18 张图像。【参考方案4】:

通过android studio直接添加你的android应用 去APP 然后点击文件>新建>图片资源 现在手动设置您的应用图标

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review 这不会替换启动画面。 是的,但是通过 ionic 命令添加了启动画面,并且在您收到此应用程序图标错误之后,这很有帮助。抛出这个您直接更改您的应用程序图标。 @约翰哈里斯

以上是关于复制资源/android/icon/mdpi-foreground.png 时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用maven将多个资源目录复制到独立的目标目录

PlayCanvas_0009:不同工程直接复制资源

Qt。在 QProcess 中复制资源文件

Docker,复制资源权限的奇怪问题

cocoapods:资源不会复制到 mainBundle

为啥一个线程会占用所有系统资源而不更新? [复制]