常见问题:ICON / SPLASH SCREEN(Cordova 5.x / 2015)
我将我的答案作为一般常见问题解答,可以帮助您解决我在处理图标/启动画面时遇到的许多问题。 你可能会发现像我这样的文档并不总是很清楚也不是最新的。 这可能会在可用时转到StackOverflow文档。
第一:回答问题
如何使用phonegap为iOS和Android添加自定义应用图标?
在您的Cordova版本中,www/icon.png标签是无用的。 它甚至没有记录在Cordova 3.0.0中。 您应该使用适合您正在使用的cli的文档版本而不是最新版本!
根据我在文档的不同版本中可以看到的内容,在3.5.0版本之前,icon标签根本不适用于Android。 在3.4.0中,他们仍建议手动复制文件
在较新的版本中:您的www/icon.png看起来更适合较新的Cordova版本。 但是,您可能还想知道很多事情。 如果你决定在这里升级一些有用的东西要修改:
您不需要www/icon.png命名空间
Android版需要www/icon.png
以下是您在尝试处理图标和启动画面时可能会问自己的问题的更多细节:
我可以使用旧版本的Cordova / Phonegap吗?
不,以前版本的Cordova中没有图标/启动画面功能,因此您必须使用最新版本。 在以前的版本中,只有Phonegap Build确实处理了图标/启动画面,因此在本地构建和处理图标只能使用钩子。 我不知道使用此功能的最低版本,但使用5.1.1它在Cordova / Phonegap cli中都能正常工作。 有了Cordova 3.5,它对我不起作用。
编辑:对于Android,您必须至少使用3.5.0
如何调试有关图标的构建过程?
cli使用CP命令。 如果您提供无效的图标路径,则会显示www/icon.png错误:
sebastien@sebastien-xps:cordova (dev *+$%)$ cordova run android --device
cp: no such file or directory: /home/sebastien/Desktop/Stample-react/cordova/res/www/stample_splash.png
编辑:您已使用www/icon.png获取cp命令用法的日志,以查看复制图标的位置
图标应根据配置进入文件夹。对我来说,它在许多子文件夹中:www/icon.png
然后你可以找到APK,并将其作为zip存档打开以检查图标是否存在。 它们必须位于www/icon.png文件夹中,因为它是Android的特殊文件夹。
我应该在哪里将图标/启动画面放在我的项目中?
在许多示例中,您会发现图标/启动屏幕在www/icon.png文件夹中声明。 www是输出APK中的一个特殊Android文件夹,但这并不意味着您必须在项目中使用res文件夹。
你可以把你的图标放在任何地方,但你使用的路径必须是相对于项目的根,而不是www/icon.png所以要小心! 这是记录,但不清楚,因为所有示例都使用www,你不知道这个文件夹在哪里:(
我的意思是如果你把图标放在www/icon.png中,你绝对必须在路径中包含www。
编辑Mars 2016:升级我的版本后,现在看来图标是相对于config.xml文件夹,但文档尚未更改(问题)
config.xml有效吗?
不,不是的!。
在Android上,它似乎以前曾经工作过(当时还不支持密度属性?)但现在还没有了。 请参阅此Cordova问题
在iOS上,似乎使用此全局声明可能会覆盖更具体的声明,因此请注意并使用config.xml进行构建,以确保一切正常工作。
我可以对所有密度使用相同的图标/启动画面文件。
是的你可以。 您甚至可以对图标和启动画面使用相同的文件(只是为了测试!)。 我使用了65kb的“大”图标文件没有任何问题。
使用平台标记与平台属性有什么区别
是相同的
如果使用Phonegap,我应该使用gap:namespace吗?
根据我的经验,新版本的Phonegap或Cordova都能够在不使用任何config.xml xml名称空间的情况下理解图标声明。
不过我还在等待一个有效的答案:cordova / phonegap插件添加VS config.xml
据我所知,config.xml命名空间的一些功能可能早于PhonegapBuild,然后在Phonegap中,然后移植到Cordova(?)
需要config.xml吗?
至少对Android来说是的。 我打开了一个问题,并附加了解释。
图标声明顺序是否重要?
是的,它确实! 它可能对Android没有任何影响,但根据我的测试它在iOS上。 这是意外和未记录的行为,所以我打开了另一个问题。
我需要config.xml吗?
是的,如果您希望启动画面工作,这是绝对必需的。文档不清楚(问题),让我们认为插件只需要提供启动画面的JavaScript API。
如何快速调整所有宽度/高度/密度的图像大小
有一些工具可以帮助您做到这一点。对我来说最好的是[http://makeappicon.com/]但它需要提供一个电子邮件地址。
其他可能的解决方案是
AndroidAssetStudio
[https://gist.github.com/LinusU/7515016]
科尔多瓦图标
你能给我一个示例配置吗?
是。 这是我的真实config.xml
x
x
x
一个很好的例子是入门套件。 像phonegap-start或Ionic starter