是否可以为 iOS/Android 生成具有不同图标的应用程序
Is it possible to generate an app with different icons for iOS/Android
我正在使用 Codename One 构建应用程序,应用程序图标包含在项目根目录中定义的单个 500x500 icon.png
文件中。
这很方便,但我希望我的图标样式因各种 OS(Android 和 iOS 构建目标)而不同。例如。我想 iOS 使用一个图标文件,Android 使用另一个图标文件。
我该如何实现?
您需要编辑 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 和其他目标做另一面的工作。
我正在使用 Codename One 构建应用程序,应用程序图标包含在项目根目录中定义的单个 500x500 icon.png
文件中。
这很方便,但我希望我的图标样式因各种 OS(Android 和 iOS 构建目标)而不同。例如。我想 iOS 使用一个图标文件,Android 使用另一个图标文件。
我该如何实现?
您需要编辑 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 和其他目标做另一面的工作。