在代号一中管理我的应用程序的演示/完整版本

Managing Demo / Full version of my app in Codename One

我奉命交付 2 个版本的应用程序:一个 demo/light(功能有限)另一个完整(所有功能)。我在代码中有一个布尔值,它告诉我哪个是 运行ning。它们都 运行 符合模拟器或测试设备的预期(iOS 和 Android)。

现在我想分发它们。所以我读到有可能 with XCode to define different targets corresponding to the light / full versions and with Eclipse 可以将基础项目定义为库,然后创建 2 个项目也对应于精简版/完整版。

在我开始处理我的应用程序项目之前,是否有推荐的方法可以通过构建提示来实现我使用 CodenameOne 的目标,这些提示会根据构建提示值更改应用程序名称和代码中的布尔值?

编辑 2016 年 9 月 19 日(工作方法)

根据 Shai 的建议,我按照完整版本生成精简版的步骤(以防有人遇到相同情况):

  1. 在您的 IDE(Eclipse 或其他软件)下,将基础包复制并粘贴到 src 文件夹中,并将其重命名为 com.packageLIGHT.appName (只需将 LIGHT 附加到包名称,不要不要使用下划线或 space 因为它稍后会被 Apple 视为非法字符)

=> 所以现在在 src 文件夹中你应该有

源码

|- com.packageLIGHT.appName

|- com.package.appName

  1. 然后在 com.packageLIGHT.appName 中删除除 MyApp.java 之外的所有文件(又名主文件)。在此文件中添加 import com.package.myApp.*;

    3.1。 (ECLIPSE) 在 "Run/Run Configurations" 菜单中复制现有配置并将其粘贴为 Simulator_MyAppLIGHT 并在参数中将其更改为 "com.packageLIGHT.myApp.MyApp".

    3.2。 (NETBEANS) "Run/Set Project Configuration" 似乎没有按预期工作,因为可能选择的任何配置都会导致相同的默认行为。然而,应用第 6 步,然后 运行 在模拟器中运行项目得到了预期的结果。

  2. 现在您应该能够 运行 通过 运行 不同配置的两个版本。

  3. 对于 iOS(不确定 Android 是否也需要),您必须生成另一对配置文件。因此,移动 iosCerts/FULL 中的现有文件并使用 CN1 向导生成 "light" 版本配置文件,您将在其中调整包名称以匹配 "com.packageLIGHT.myApp"。将生成的文件存储在 iosCerts/LIGHT 中。 无需覆盖现有证书(more on certificate here)

  4. 最后将 "codenameone_settings.properties" 中的原始包名称替换为 "light" 行 codename1.ios.appidcodename1.packageName 中的一个。还要根据您要构建的内容,将 iOS 配置文件更改为 iosCerts/LIGHT 或 FULL。

  5. 现在,当您将 Android / iOS 构建发送到 CN1 服务器时,它将构建 "light" 版本或完整版本,具体取决于包是什么写在 "codenameone_settings.properties".

请注意:如果在第 6 步,您在第 469 行(android 构建)或第 344 行(iOS 构建)的 build.xml 上收到 NullPointerException使用 certPassword="${codename1.android.keystorePassword}(android 构建)或 appid="${codename1.ios.appid}"(iOS 构建)并且您在 Eclipse 下使用 CN1 插件版本 1.0.0 20160812 那么 可能是值得

如果您想要同一个应用的 2 个不同版本,那么您需要 2 个不同的包,因为在商店中唯一定义应用的是应用包。有两种常用的方法:

  • 在 cn1lib 中放置功能并构建两个应用程序
  • 构建一个应用程序,只需交换 codenameone_settings.properties 文件

第一个应该很清楚,但使用起来可能会有点痛苦,因为您不能 运行 cn1lib,并且可能 运行 调试它会遇到问题。

第二个其实比较简单。创建应用程序的主版本,然后将包添加到演示版本并将主文件复制到那里。

要运行演示版只需更改IDE"run settings"中的包即可。

将您的 codenameone_settings.properties 复制到一个单独的文件,并将所有常规包名称替换为演示包名称。当你想构建 "demo" 版本时,将 codenameone_settings.propeties 文件相互替换,显然你可以使用脚本自动完成。