是否有可能为Android项目创build多个目标,如Xcode目标

我使用iPhone Xcode Traget与单个代码库创build多个iPhone应用程序。 我的问题是,是否有可能为Android项目创build多个目标。 如果是的话,Eclipse有可能吗?

编辑:

Xcode目标:单个项目可以包含一个或多个目标,每个目标生成一个产品(应用程序)。 这总是只有一个项目,我们可以select具体的目标和运行所需的应用程序

iPhone只有一个项目的许多产品(App1,App2,App3等),现在我可以有同样的,一个Android项目和多个产品(App1,App2,App3等)

提前致谢

Solutions Collecting From Web of "是否有可能为Android项目创build多个目标,如Xcode目标"

经过广泛的研究,我意识到Android Library Project将为我的需求提供解决scheme

Android库项目是一个持有共享Android源代码和资源的开发项目。 其他Android应用程序项目可以引用库项目,并在构build时将其编译源包含在.apk文件中。 多个应用程序项目可以引用同一个库项目,任何单个应用程序项目都可以引用多个库项目。

注意:您需要使用SDK Tools r14或更新版本才能使用新库项目function将每个库项目生成到自己的JAR文件中。 您可以使用Android SDK和AVD Manager下载工具和平台,如添加SDK组件中所述。

•如果您拥有多个Android项目所共有的源代码和资源,则可以将它们移动到一个库项目中,以便在应用程序和版本之间进行维护。 以下是您可以使用库项目的一些常见场景:

•如果您正在开发使用某些相同组件的多个相关应用程序,则应将冗余组件移出其各自的应用程序项目,并在库项目中创build一组可重复使用的相同组件。 如果您正在创build免费和付费版本的应用程序。 您将这两个版本通用的应用程序的一部分移动到一个库项目中。 这两个依赖项目以及其不同的包名称将引用库项目,并只提供两个应用程序版本之间的区别。

有点晚了,但对于那些仍在寻找解决scheme的人来说:

Gradle Build System使用Build Variant和产品风格的组合来生成具有共享/通用代码库和资源的不同应用程序。

根据Android开发人员参考网站:

构build系统使用产品风味为您的应用创build不同的产品版本。 您的应用的每个产品版本都可能具有不同的function或设备要求。 构build系统还使用构buildtypes将不同的构build和打包设置应用于每个产品版本。 每种产品的味道和构buildtypes组合形成构build变体。 构build系统为您的应用程序的每个构build版本生成一个不同的APK。

现在可以有两个或更多的产品口味,例如(付费口味,免费/演示口味)等等,用于一个代码相同的项目。

欲了解更多信息,请参阅build立变体和产品风味文件

在单个项目中,android中只有一个构build目标。 在安装时使用清单文件中的minSdkVersion,targetSdkVersion和maxSdkVersion来控制背单词兼容性

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 

此外,Android市场确保如果您的应用程序具有本机代码,并且为ARM体系结构构build,则它在x86设备上不可见

您可以控制某人安装的版本,并根据该版本启动一个或多个活动。 你可以使用这样的东西:

 private static boolean version= android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB; 

然后做一些事情:

  public void onCreate(Bundle savedInstanceState){ Intent startActivity =null; if(version) startActivityIntent = new Intent( this, newVersionActivity.class ); else startActivityIntent = new Intent( this, oldVersionActivity.class ); finish();} 

这个例子来自Google I / O(min 5〜)video: http : //www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android- app-developers.html 。 所以你应该指定minSdkVersion和maxSdkVersion,然后控制启动哪个活动。