【问题标题】:Why does Phonegap replace my icon?为什么 Phonegap 会替换我的图标?
【发布时间】:2016-02-23 18:47:13
【问题描述】:

我在 SO 上关注了 Phonegap 图标问题的教程和解决方案。从我正在阅读的内容来看,如果我在本地构建,我需要用我自己的替换platforms/android/res/drawable(drawable 中有3个包含图标的差异文件夹)中的PG图标。这就是我正在做的事情。这就是它变得奇怪的地方。我用我自己的(不同的图标,相同的名称)替换这些图标,然后转到终端并执行phonegap build android,然后如果我导航回drawables文件夹,我看到我的新图标再次被替换为默认的Phonegap机器人图标。我错过了什么?

【问题讨论】:

    标签: android cordova android-icons


    【解决方案1】:

    是的,问题是每次您从 PhoneGap CLI 执行 buildrun 时都会重建 platform 文件夹,因此您不想手动替换它们。相反,您应该将它们保存在项目根目录中的某个文件夹中(命名为您喜欢的任何名称),然后在给定平台的config.xml 文件中引用它们的路径。当您执行buildrun 等操作时,PhoneGap CLI 会自动为您将它们复制到平台级别。对于 Android,它会根据它们的密度将它们复制到 platforms/android/res/drawable* 文件夹(ldpi ETC)。您只需要确保在 config.xml(或 iOS 的宽度/高度)中指定正确的 density 属性,以匹配根项目中可以找到这些路径的正确路径。

    例如,在 config.xml 中,您可能有以下 Android 图标:

    <platform name="android">
        <icon density="ldpi" src="resources/android/ldpi-icon.png" />
        <icon density="mdpi" src="resources/android/mdpi-icon.png" />
        <icon density="hdpi" src="resources/android/hdpi-icon.png" />
        <icon density="xhdpi" src="resources/android/xhdpi-icon.png" />
        <icon density="xxhdpi" src="resources/android/xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="resources/android/xxxhdpi-icon.png" />
    </platform>
    

    其中resources 位于项目的根目录中,与www 文件夹处于同一级别(即:myProj/resources)。

    您可以找到有关此in the Cordova docs 的更多详细信息,以获取有关配置图标的更多详细信息。

    如果由于某种原因它不起作用,请检查以确保您拥有最新版本的 PhoneGap CLI 或更新到最新版本。

    ~冬青

    【讨论】:

    • config.xml 文件应该位于www 内部还是根级别?
    • 复制您的代码并按照您对信件的答复无效。
    • @lola_the_coding_girl 您能否提供有关结果或具体错误消息的更多详细信息?
    • @devgirl - 没有错误,只是图标仍然是 Phonegap 机器人。
    • 如果您查看可绘制文件夹,您是否看到了 icon.png 文件?例如在路径~/myProj/platforms/android/res/drawable-ldpi/?另外,请确认resources 文件夹在您项目的根目录中(而不是在www 文件夹中),并仔细检查您的路径和文件名是否正确。然后使用-d 选项运行您的命令以启用详细模式,以便显示调试信息以更好地了解正在发生的事情。例如$ phonegap build -d.
    【解决方案2】:

    您必须在config.xml 文件中添加图标配置到您的www 根文件夹中。尝试添加如下内容:

    <platform name="android">
           <icon src="res/android/ldpi.png" density="ldpi" />
           <icon src="res/android/mdpi.png" density="mdpi" />
           <icon src="res/android/hdpi.png" density="hdpi" />
           <icon src="res/android/xhdpi.png" density="xhdpi" />
     </platform>
    

    创建这些包含您的图标的文件夹并执行phonegap build android

    【讨论】:

      【解决方案3】:

      答案其实是在config.xml的根级(与www目录同级)使用这个代码块:

      <icon src="www/res/icon/android/ldpi.png" platform="android" density="ldpi" />
      <icon src="www/res/icon/android/mdpi.png" platform="android" density="mdpi" />
      <icon src="www/res/icon/android/hdpi.png" platform="android" density="hdpi" />
      <icon src="www/res/icon/android/xhdpi.png" platform="android" density="xhdpi" />
      <icon src="www/res/icon/android/xxhdpi.png" platform="android" density="xxhdpi" />
      <icon src="www/res/icon/android/xxxhdpi.png" platform="android" density="xxxhdpi"/>
      

      显然,确保这些路径通向您的图标。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-25
        • 2012-05-13
        • 2017-08-08
        • 1970-01-01
        • 1970-01-01
        • 2019-10-22
        • 1970-01-01
        • 2020-05-29
        相关资源
        最近更新 更多