繁体   English   中英

Eclipse构建Android应用程序:如何在编译时创建两个版本/版本?

[英]Eclipse building Android app: How can I create two versions/editions at compile-time?

我正在编写一个Android应用程序,并希望基于相同的代码创建两个版本-一个免费版本和一个高级版本。 我对两个版本都有一个代码库,具有各种运行时检查以启用或禁用某些功能,例如

public class MyAppContext extends Application
{
    public static final boolean isPremium = true;
}

// later, in another file....
if (!MyAppContext.isPremium) {
   CoolFeatures.setVisibility(View.GONE);
}

我正在使用最新的开发人员工具(带有Google ADT 16的Eclipse Indigo)。 现在,我遵循一个相当麻烦的过程,即在源文件中将isPremium设置为true,将应用程序导出到APK,然后将其设置为false,然后再次将其导出到另一个APK。 这既烦人又容易出错。

有没有办法使这个过程自动化? 那是,

1)创建两个不同的构建配置,以便在我导出应用程序时生成两个APK文件。

2)让构建配置在编译时影响代码-例如,将静态布尔值设置为true或false。

谢谢!

接受您的项目并将其更改为库项目。 然后创建两个应用程序(免费,高级)并导入库。 然后,您可以继承MyAppContext对象并根据需要更改isPremium成员,也许可以使用其他setPremium()函数。

请注意,在清单XML中,您必须为每个活动,服务等使用库项目的包名称。

您为什么不使用ant自动化构建。 您可以使用具有不同参数的相同目标(例如,将在Java代码中读取的属性文件的路径)。 当然,您需要确保两个apk的名称不同,但这是大多数连续构建工具针对不同环境使用的方法,本质上是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM