我使用iPhone Xcode Traget创建了多个具有单一代码库的iPhone应用程序。我的问题是,是否可以为Android项目创建多个目标。如果是,是否可以使用Eclipse?
修改
Xcode目标:单个项目可以包含一个或多个目标,每个目标生成一个产品(App)。这始终只有一个项目,我们可以在其中选择特定目标并运行所需的应用程序
iPhone对于许多产品(App1,App2,App3等)只有一个项目,现在可以和我一样,一个Android项目和多个产品(App1,App2,App3等)提前致谢
答案 0 :(得分:10)
经过广泛的研究后,我意识到 Android Library Project 将为我的要求提供解决方案
Android库项目是一个包含的开发项目 共享Android源代码和资源。其他Android应用程序 项目可以参考图书馆项目,并在建设时包括 它的.apk文件中编译的源代码。多次申请 项目可以引用相同的库项目和任何单个项目 应用程序项目可以引用多个库项目。
注意:您需要SDK工具r14或更新才能使用新的库项目 将每个库项目生成到其自己的JAR文件中的功能。您 可以使用Android SDK和AVD下载工具和平台 Manager,如添加SDK组件中所述。
•如果您拥有多个共同的源代码和资源 Android项目,您可以将它们移动到库项目中 更易于跨应用程序和版本进行维护。这里有一些 您可以使用库项目的常见场景:
•如果您正在开发使用某些应用程序的多个相关应用程序 相同的组件,您将冗余组件移出他们的 各自的应用程序项目并创建一个可重复使用的集合 库项目中的相同组件。如果你正在创建一个 存在于免费和付费版本中的应用程序。你移动了 应用程序的一部分,这两个版本共同存在于库中 项目。这两个依赖项目,包含不同的包 名称,将引用库项目并仅提供 两个应用程序版本之间的差异。
答案 1 :(得分:9)
有点晚了,但对那些仍在寻找解决方案的人来说:
Gradle Build System使用Build Variant和产品风格的组合来生成具有共享/公共代码库和资源的不同应用程序。
根据Android开发人员参考站点:
构建系统使用产品风格来创建应用程序的不同产品版本。您应用的每个产品版本都可以具有不同的功能或设备要求。构建系统还使用构建类型将不同的构建和打包设置应用于每个产品版本。每种产品风味和构建类型组合形成构建变体。构建系统为您的应用的每个构建变体生成不同的APK。
现在可以为一个具有相同代码库的项目提供两种或更多种产品风味,例如(付费风味,免费/演示风味)等。
有关详细信息,请参阅Build Variants & Product Flavors Doc
答案 2 :(得分:-1)
在单个项目中,android中只有一个构建目标。使用清单文件中的minSdkVersion,targetSdkVersion和maxSdkVersion在安装时控制后备兼容性
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
此外,Android市场确保如果您的应用程序具有本机代码并且是为ARM体系结构构建的,那么它在x86设备上是不可见的
答案 3 :(得分:-2)
您可以控制某人安装的版本,并根据该版本启动一项或另一项活动。你可以使用这样的东西:
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的视频(分钟5~):http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android-app-developers.html。 因此,您应该指定minSdkVersion和maxSdkVersion,然后控制启动哪个活动。