是否可以为iOS / Android生成具有不同图标的应用程序

时间:2016-04-07 11:09:27

标签: icons codenameone

我正在使用Codename One构建应用,并且应用图标包含在项目根目录中定义的单个500x500 icon.png文件中。

这很方便,但我希望我的图标样式与各种操作系统(Android和iOS构建目标)不同。例如。我希望iOS使用一个图标文件,而Android则使用另一个图标文件。

我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您需要编辑build.xml文件并替换发送每个平台构建的相关任务中的icon.png文件。

E.g。对于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和其他目标做另外一步。