Eclipse构建Android应用程序:如何在编译时创建两个版本/版本?
我正在编写一个Android应用程序,并希望基于相同的代码创建两个版本 – 免费版和高级版。 我有两个版本的代码库,具有各种运行时检查,以启用或禁用某些function,例如
public class MyAppContext extends Application { public static final boolean isPremium = true; } // later, in another file.... if (!MyAppContext.isPremium) { CoolFeatures.setVisibility(View.GONE); }
我正在使用最新的开发工具(Eclipse Indigo和Google的ADT 16)。 现在我遵循一个相当麻烦的过程,在我的源文件中将isPremium设置为true,将应用程序导出到APK,然后将其设置为false并将其第二次导出到另一个APK。 这既烦人又容易出错。
有没有办法自动化这个过程? 那是,
1)创建两个不同的构建配置,以便在导出我的应用程序时生成两个APK文件。
2)构建配置是否在编译时影响代码 – 例如,将静态布尔值设置为true或false。
谢谢!
获取项目并将其更改为库项目。 然后创建两个应用程序(免费,高级)并导入库。 然后,您可以inheritanceMyAppContext
对象并根据需要更改isPremium
成员,也可以使用其他setPremium()
函数。
注意,在清单XML中,您必须为每个活动,服务等使用库项目的包名称。
为什么不用ant自动化构建。 您可以使用具有不同参数的相同目标(例如,您将在java代码中读取的属性文件的路径)。 您需要确保两个apks的名称当然不同,但这是大多数连续构建工具针对不同环境执行的方法,这基本上是相同的。