具有共享代码的两个代号一个项目

Two Codename One Projects with Shared Code

我有一个应用程序有专业版和免费版,两者几乎相同,我希望有尽可能多的通用代码以避免在从一个项目移动到下一个项目时出现复制和粘贴问题.

据我所知,应用商店根据包名称识别应用,但我知道更改已完成应用的包名称很困难。

对于这种情况有最佳实践吗?

目前我唯一能想到的就是尝试将尽可能多的逻辑移动到 cn1lib 文件中并有两个单独的应用程序。其他 ideas/approaches 将不胜感激。

cn1lib 方法绝对是一个很好的方法,但并不总是简单或实用。

我们向一些开发人员提供的一种方法是照常创建应用程序的一个版本(免费或专业版),然后为另一个版本添加新的包名称,例如如果您的应用程序是 com.mycompany.myfreeapp,那么您可以在事后添加包 com.mycompany.myproversion

您的 pro main class 可以派生出 free main class 甚至具有完全相同的名称(因为它们在不同的包中),因此您可以有一个项目有两个版本。

要让它真正起作用,您需要两个技巧,复制您的 codenameone_settings.properties 文件并将所有提及的包(以及主要的 class 如果您也更改了)替换为 pro/free 版本。您还需要替换 iOS 的配置文件(只是 re-run 向导)。

要在调试器中 运行 只需编辑项目首选项中的 运行 部分以指向右侧主 class.

您可以将其编码成一个小脚本,一旦您完成此过程,它就可以完成所有这些事情。