2016-01-06 63 views
2

我有一个应用程序,有一个专业版和免费版本,两者几乎相同,我想有尽可能多的通用代码,以避免复制&粘贴问题从移动一个项目到下一个。两个Codename一个项目与共享代码

据我了解,应用程序商店可以根据软件包名称识别应用程序,但我知道更改已完成应用程序的软件包名称非常困难。

这种情况是否有最佳做法?

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

回答

1

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

我们为某些开发人员提供的方法是像往常一样创建应用程序的一个版本(免费或专业版),然后为其他版本添加一个新的软件包名称。如果你的应用程序是com.mycompany.myfreeapp,那么你可以在事后添加包com.mycompany.myproversion

您的专业主类可以派生出免费的主类,甚至具有相同的确切名称(因为它们位于不同的包中),因此您可以有两个版本的项目。

为了实现这个功能,您需要两个技巧,复制codenameone_settings.properties文件,并将包中的所有提及(以及主类,如果您也更改)替换为专业版/免费版。您还需要替换iOS的供应配置文件(只需重新运行该向导)。

要在调试器中运行此操作,只需编辑项目首选项中的运行部分以指向正确的主类。

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