【问题标题】:Cordova/Phonegap - Android: Icon not updatingCordova/Phonegap - Android:图标未更新
【发布时间】:2014-02-08 14:29:10
【问题描述】:

我使用的是 cordova 3.3.0 (CLI),并按照文档说明 (http://cordova.apache.org/docs/en/3.3.0/config_ref_images.md.html) 替换了 www/res/icons/android 文件夹中的图标。 问题是,当我构建应用程序并将其发送到我的手机(cordova run android)时,该图标仍然是默认图标,即使我在再次安装之前从手机中卸载了该应用程序。 关于如何解决这个问题的任何建议?谢谢!

【问题讨论】:

  • 更换图标后尝试清除数据并清理+构建?
  • 我的常见问题解答在这里解释了如何调试构建过程以查看图标是否真的被使用,以及许多其他事情:stackoverflow.com/a/31674547/82609

标签: android cordova icons


【解决方案1】:

我正在使用http://ionicframework.com/ 构建我的应用程序,它使用了cordova。我遇到了和你一样的问题,并且能够很容易地解决它。

我建议首先进入项目的根目录并运行以下命令:

grep -nr "icon.png" *

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

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

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

希望这可以帮助您解决问题。祝你好运!

【讨论】:

    【解决方案2】:

    尝试简单地重新启动您的手机。这听起来很荒谬,但它为我解决了同样的问题。

    【讨论】:

      【解决方案3】:

      重新启动对我有用。设备必须缓存它们吗?

      【讨论】:

        【解决方案4】:

        似乎 www/res/icons 并没有真正起作用,我没有看到它们起作用的迹象,这是一篇有用的文章:http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/

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

        【讨论】:

          【解决方案5】:

          从 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>
          

          【讨论】:

          • 非常感谢,遇到了同样的问题并让它与您的解决方案一起使用。干杯!
          【解决方案6】:

          我使用的是 4.2 版。

          发生这种情况的 2 个不同实例和 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。您需要阅读日志,看看它是否行为不端。

          祝你好运!

          【讨论】:

            【解决方案7】:

            在与平台和 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 会自动为您缩放徽标,所以不要浪费时间为每张图像制作多个像素密度。只需使用一个非常大/高像素密度的图像,它就会为您缩放以适应较低密度的屏幕。

            【讨论】:

              猜你喜欢
              • 2017-07-28
              • 2014-07-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-01-14
              • 1970-01-01
              • 2014-02-14
              相关资源
              最近更新 更多