为什么Phonegap会替换我的图标?

时间:2016-02-23 18:47:13

标签: android cordova android-icons

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

3 个答案:

答案 0 :(得分:0)

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

例如,在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或更新到最新版本。

〜冬青

答案 1 :(得分:0)

您必须在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

创建包含图标的这些文件夹并执行<div ng-repeat="field in fields"> <div ng-if="field.user !== undefined">user info</div> <div ng-if="field.vehicle !== undefined">vehicle info</div> <div ng-if="field.animal !== undefined">animal info</div> </div>

答案 2 :(得分:0)

答案实际上是在根级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"/>

显然,确保这些路径会导致您的图标。