Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova/Phonegap-Android:图标未更新_Android_Cordova_Icons - Fatal编程技术网

Cordova/Phonegap-Android:图标未更新

Cordova/Phonegap-Android:图标未更新,android,cordova,icons,Android,Cordova,Icons,我正在使用cordova 3.3.0(CLI),并按照文档说明()替换了www/res/icons/android文件夹中的图标。 问题是,当我构建应用程序并将其发送到手机(cordova运行android)时,图标仍然是默认图标,即使我在再次安装之前从手机上卸载了该应用程序。 有没有关于如何解决这个问题的建议?谢谢 似乎www/res/icons并没有真正发挥作用,我没有看到它们发挥作用的迹象,下面是一篇有用的文章: 最好的做法是编写一次脚本,将它们复制到正确的位置我用来构建我的应用程序,它使

我正在使用cordova 3.3.0(CLI),并按照文档说明()替换了www/res/icons/android文件夹中的图标。 问题是,当我构建应用程序并将其发送到手机(cordova运行android)时,图标仍然是默认图标,即使我在再次安装之前从手机上卸载了该应用程序。
有没有关于如何解决这个问题的建议?谢谢

似乎www/res/icons并没有真正发挥作用,我没有看到它们发挥作用的迹象,下面是一篇有用的文章:

最好的做法是编写一次脚本,将它们复制到正确的位置

我用来构建我的应用程序,它使用cordova。我遇到了与您相同的问题,并且能够非常轻松地解决它

我建议首先从项目的根目录开始,运行以下程序:

grep-nr“icon.png”*

这将列出对icon.png的所有引用,并可以让您了解文件复制到的位置。我也更新了我的android/res/drawable文件夹,没有运气。但在运行上面的grep命令后,我注意到图标被复制到:

/platforms/android/ant build/res/drawable xhdpi/icon.png

我导航到此文件夹,注意到这些图像是默认的cordova png图像。我用我的图标更新了每个绘图板,现在一切都好了


希望这有助于解决您的问题。祝你好运

尝试重新启动手机。这听起来很可笑,但它为我解决了同样的问题。

我使用的是4.2版

有两种不同的情况和两种不同的解决方案

首先)我在platforms\android\ant build\res文件夹中更改图标

第二个实例)Phonegap错误地将ios图标构建到android\res文件夹中。使用phonegap build android--verbose查看日志后,我注意到它正在将ios图标从\www\res\icon\ios\icon-72.png复制到android\ant build\res\drawable hdpi\icon.png。你需要阅读日志,看看它是否有问题


祝你好运

重启对我来说很有效。设备必须缓存它们?

在与平台和www文件夹相同的文件夹中运行此python脚本。它将用您想要的图像替换“icon.png”的所有实例。在我的例子中,徽标存储在./www/img/log1.png。在Ubuntu上测试,可以在其他平台上工作

import os; 
fileList = os.popen("find ./ -name icon.png").read();
files=fileList.split("\n");
for f in files:
    if(f!=files[len(files)-1]):
        print(f);
        os.system("cp ./www/img/logo1.png "+f+";");

我惊讶地发现Cordova会自动为您缩放徽标,所以不要浪费时间为每个图像制作多个像素密度。只需使用真正大/高像素密度的图像,它将为您的低密度屏幕缩放。

从Cordova 8.0.0开始,这似乎仍然是一个问题。我用自己的图标替换了
res\icon\android
中的默认cordova图标(保持文件名不变),并期望构建会使用这些图标,但它没有

我的解决办法是在config.xml的平台部分显式指定图标的路径

<platform name="android">
    <allow-intent href="market:*" />
    <icon density="ldpi" src="res/icon/android/icon-36-ldpi.png" />
    <icon density="mdpi" src="res/icon/android/icon-48-mdpi.png" />
    <icon density="hdpi" src="res/icon/android/icon-72-hdpi.png" />
    <icon density="xhdpi" src="res/icon/android/icon-96-xhdpi.png" />
</platform>


尝试在更换图标后清除数据并清理+生成?我的常见问题解答解释了如何调试生成过程,以查看是否真的使用了图标,以及许多其他事项:非常感谢,遇到了相同的问题,并使其与您的解决方案一起工作。干杯