【发布时间】:2016-04-07 19:09:27
【问题描述】:
我正在使用Codename One 构建一个应用程序,该应用程序图标包含在项目根目录中定义的单个 500x500 icon.png 文件中。
这很方便,但我希望不同操作系统(Android 和 iOS 构建目标)的图标样式不同。例如。我希望 iOS 使用一个图标文件,而 Android 使用另一个。
我如何做到这一点?
【问题讨论】:
标签: icons codenameone
我正在使用Codename One 构建一个应用程序,该应用程序图标包含在项目根目录中定义的单个 500x500 icon.png 文件中。
这很方便,但我希望不同操作系统(Android 和 iOS 构建目标)的图标样式不同。例如。我希望 iOS 使用一个图标文件,而 Android 使用另一个。
我如何做到这一点?
【问题讨论】:
标签: icons codenameone
您需要编辑build.xml 文件并在为每个平台发送构建的相关任务中替换icon.png 文件。
例如对于 iOS 目标,您将在文件中看到类似这样的内容:
<target name="build-for-ios-device" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
<codeNameOne
jarFile="${dist.jar}"
displayName="${codename1.displayName}"
packageName = "${codename1.packageName}"
mainClassName = "${codename1.mainName}"
version="${codename1.version}"
icon="${codename1.icon}"
vendor="${codename1.vendor}"
subtitle="${codename1.secondaryTitle}"
targetType="iphone"
certificate="${codename1.ios.debug.certificate}"
certPassword="${codename1.ios.debug.certificatePassword}"
provisioningProfile="${codename1.ios.debug.provision}"
appid="${codename1.ios.appid}"
/>
</target>
只需编辑它以首先复制 iOS 特定文件(假设其名为 icon-ios.png):
<target name="build-for-ios-device" depends="clean,copy-ios-override,copy-libs,jar,clean-override">
<copy file="icon-ios.png" tofile="icon.png" />
<codeNameOne
jarFile="${dist.jar}"
displayName="${codename1.displayName}"
packageName = "${codename1.packageName}"
mainClassName = "${codename1.mainName}"
version="${codename1.version}"
icon="${codename1.icon}"
vendor="${codename1.vendor}"
subtitle="${codename1.secondaryTitle}"
targetType="iphone"
certificate="${codename1.ios.debug.certificate}"
certPassword="${codename1.ios.debug.certificatePassword}"
provisioningProfile="${codename1.ios.debug.provision}"
appid="${codename1.ios.appid}"
/>
</target>
当然,您需要为 Android 和其他目标做相反的事情。
【讨论】: