由于我的htc欲望设备是api level 8(Android 2.2),我无法运行我的应用程序,我该怎么办?

时间:2013-01-22 07:46:19

标签: android eclipse

在我的应用中使用此:

private LayoutParams params;

由于它需要api等级11,因此我会收到错误。 所以在我的清单文件中,我将这一行从8改为11:

<uses-sdk android:minSdkVersion="11" />

现在我没有在日食中得到错误。 但是一旦我试图运行该应用程序,我会看到这个Android设备选择器窗口,我在设备上看到目标是2.2,其附近有红色X. 如果我单击确定并尝试运行它,我在Eclipse的控制台窗口中出现错误:

[2013-01-22 09:43:33 - AndroidVideoCapture] ERROR: Application requires API version 11. Device API version is 8 (Android 2.2).
[2013-01-22 09:43:33 - AndroidVideoCapture] Launch canceled!

如何将设备更新为api 11?我的设备上有一个等待的软件更新,但每次我点击安装它都试图重新启动但事实上它正在关闭设备并且什么都不做我所能做的就是取出电池并再次打开我的设备但是又一次将提示此软件更新。

我还能做什么? (没有在谷歌找到哪里下载api 11,如果有的话)。

6 个答案:

答案 0 :(得分:1)

好吧,瞥一眼就把日食更新到3.6

http://developer.android.com/tools/sdk/eclipse-adt.html

或将清单文件代码更改为。

    android:minSdkVersion="8"
    android:targetSdkVersion="16" 

答案 1 :(得分:0)

使用非官方版本,我建议转到XDA开发人员。

这是指手机的链接:http://forum.xda-developers.com/forumdisplay.php?f=628

XDA开发人员有很多关于如何将您的设备刷新到更新的Android版本的信息。

答案 2 :(得分:0)

API等级11是Honeycomb(3.0)或更高版本。就像平板电脑一样,您需要一部支持ICS(Android 4.0)的手机才能在现场设备上测试您的代码。由于ICS不能正式用于Desire,您最好的选择是购买新手机或尝试安装cyanogenmod 9,这是基于ICS的售后市场固件。

另外,Google提供了一个名为support library的库,允许在较旧的手机上使用一些11之后的API函数(如Fragments)。为此,您需要减少minimumversion,并安装支持库。检查它是否对你有好处。

或者,如果您不想在实时设备上进行测试,那么只需使用模拟器,因为它可以模拟所有类型的手机,最高可达Android 4.2(截至撰写此文章时)

答案 3 :(得分:0)

  1. 使用模拟器运行运行11+的虚拟Android设备 - 这是首选解决方案,您可以根据AVD执行所需操作,而不需要多点触控或蓝牙等操作

  2. 更改回最低版本8并找到另一种方法来完成您想要的任务。这不是一个很好的解决方案,但有时你只需要使用较旧的代码库。

  3. 根据您的愿望并安装所需级别的自定义ROM。我已经在我的欲望上做到了这一点,并不难,但冒着破坏你的设备的风险。不是Root和mod手机的最佳理由。

答案 4 :(得分:0)

由于还提到了支持库,我想添加如何向后兼容的文档

http://developer.android.com/training/basics/supporting-devices/platforms.html

基本上你只需要在你想要使用API​​的级别上使用目标SDK版本,并且在你想要支持的任何内容中使用最低版本的SDK版本,但是你需要为旧平台提供替代实现或者使用支持库,如果它提供了你想要的API(大部分时间都是这样)

答案 5 :(得分:0)

亲爱的,非常简单。您的应用程序支持api 11(Honey Comb),手机版本为8(Froyo)。因此,您必须将手机升级到api 11(Honey Comb)。

OR

将您的应用程序版本设为api 8(Froyo)。但是api 11支持的一些新类没有。

我给你一个测试的东西只是尝试这个但不确定它是否会起作用(这是一个技巧)。

转到“项目属性”文件并将目标api 8替换为api 11。

干杯。