我有一个Android应用程序,分为试用版和付费的“专业”版两种形式。这两个版本在Android市场上共存,并具有不同的包名称(称它们为com.app.trial和com.app.pro)。它们共享相同的代码库。每次在Eclipse中切换试用版和专业版时,我都需要花费至少20分钟来编辑代码以构建正确的版本。我的过程如下:
1. 在AndroidManifest.xml中重命名包名称(还要重命名应用程序versionName和versionCode)。 2. 单击主包名称“com.app.pro”(如果pro是最新版本,现在我想制作试用版),然后选择Refactor->Rename(选中“Update references”和“Rename subpackages”),让Eclipse完成重命名。 3. 然后来到困难的部分:在我的代码中,许多文件仍然导入“旧”的包名称“com.app.pro”,而不是自动更改为“com.app.trial”。在某些情况下,Eclipse会在重命名过程中添加这些引用,原因不明(给定Java文件中没有对这个特定包的引用)。我必须手动编辑所有实例。
我的问题是:
如何使这个过程更少耗时?我也一直在使用NetBeans,它有一个很方便的# ifdef支持(也称为Abilities),可以轻松地在构建之间切换。不幸的是,Eclipse没有支持(至少没有内置的支持)# ifdef。
任何建议都将不胜感激。
注:我使用的是Eclipse Ganymede版本3.4.2,但也尝试了更新的版本,它的情况相同。
1. 在AndroidManifest.xml中重命名包名称(还要重命名应用程序versionName和versionCode)。 2. 单击主包名称“com.app.pro”(如果pro是最新版本,现在我想制作试用版),然后选择Refactor->Rename(选中“Update references”和“Rename subpackages”),让Eclipse完成重命名。 3. 然后来到困难的部分:在我的代码中,许多文件仍然导入“旧”的包名称“com.app.pro”,而不是自动更改为“com.app.trial”。在某些情况下,Eclipse会在重命名过程中添加这些引用,原因不明(给定Java文件中没有对这个特定包的引用)。我必须手动编辑所有实例。
我的问题是:
如何使这个过程更少耗时?我也一直在使用NetBeans,它有一个很方便的# ifdef支持(也称为Abilities),可以轻松地在构建之间切换。不幸的是,Eclipse没有支持(至少没有内置的支持)# ifdef。
任何建议都将不胜感激。
注:我使用的是Eclipse Ganymede版本3.4.2,但也尝试了更新的版本,它的情况相同。