我对Android世界有点陌生,我有一个简单的问题。
如果我使用API 13 (或API10)上的库开发一个应用程序,这个应用程序还会在只有API 7安装的安卓手机上运行吗?
当我尝试在我的安卓手机上用API 7运行我当前的EClipse应用程序时,我会收到一条错误消息,我的应用程序至少需要API 10,所以我害怕在API 13上开发。
我应该坚持使用API 7而不是使用新特性吗?
在这种情况下,最好的办法是什么?
非常感谢
发布于 2011-10-19 14:43:35
如果您没有使用来自API10的任何函数,那么它就会工作,而以前的API中没有这种功能。
您仍然可以使用反射的新函数。首先检查函数是否可用,然后用反射执行它。
示例:
// try to override the transition animation
if (VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
try {
Method method = getClass().getMethod("overridePendingTransition",
new Class[]{int.class, int.class});
method.invoke(this, 0, 0);
} catch (Throwable e) {
// can not override transition animation, so do nothing
}
}还要确保设置了android:minSdkVersion。
发布于 2011-10-19 14:06:32
您通常希望使用最低API版本来开发您的程序所需的特性。这将允许它在大多数设备上工作。
API 7设备可以运行API 7和更低版本。
发布于 2011-10-19 14:10:28
您收到的消息只是对清单文件中设置的内容的响应。您可以更改应用程序的min API版本:
<manifest android:minSdkVersion="9"> </manifest>正如启发式所说,由于兼容性原因,您应该使用最小的API版本,但是如果应用程序使用安装在手机上的新版本的库,则应用程序将无法工作。
https://stackoverflow.com/questions/7822497
复制相似问题