2012-09-05 83 views
0

我要去尝试aviary,发现这些字的文件中:支持android版本和编译android版本?

鸟舍的Android SDK支持Android 2.2+为的minSdkVersion,但必须采用Android 4.0(API级别14)编译目标sdk。这意味着您的应用程序必须在“Project Build Target”Eclipse面板中选择“Android 4.0”。

我很困惑,为什么一定要使用的Android 4.0并同时支持Android 2.2的编制?如果我使用它编写一个应用程序,它可以在Android 2.2移动版上运行吗?如果是的话,为什么它需要安卓4.0编译?

+0

简单的排序线,**如果您编译通过Android 4.0的应用程序也将在具有Android 2.2或以上无故障的设备运行**因此,对于这个让你应用程序在Android 4.0中,并在清单文件中写入'minSdkVersion = 2.2'。 – user370305

+0

为什么无法使用android 2.2编译为'minSdkVersion'? – Freewind

+1

因为它可能会利用较新版本的Android的API调用(如果这些API在设备中可用) –

回答

1

AndEngine需要Android 4.0进行编译,但它确实会检查Android版本的手机是否正在运行,以确保它只会调用与该版本兼容的API。因此,虽然它与android 4.0一起编译,但它会在Android 2.3设备中正常运行。我想这同样适用于百鸟园。

此链接有用:http://developer.android.com/training/basics/supporting-devices/platforms.html

+0

Android使用Java,哪种是静态类型语言(无宏),AndEngine如何检查版本并只调用指定版本支持的API? – Freewind

+0

我的意思是在Java中,较旧的JVM可能拒绝运行由较新的JVM生成的类字节,Dalvik VM没有此限制? – Freewind

+0

我刚刚测试了一些Java代码,发现它是一样的。我误解了java :) – Freewind