Android 模拟器:安装错误:INSTALL_FAILED_VERSION_DOWNGRADE

2022-01-08 00:00:00 sdk android java

我目前正在尝试编译和测试一个小型 Android 应用程序.

我正在使用 Eclipse,并安装了 SDK 4.2(Api 级别 17).我已经设置了

虽然我也尝试过不同的值(即 17/17).

我不使用任何 GoogleAPI 函数,也不使用 API 级别 8 中不可用的函数.或者至少在这方面我没有收到任何编译错误或警告.

当我编译项目并在运行 Android 2.2.1 的真实设备上运行它时,应用程序运行良好.但是,当我尝试在具有 Android 4.2、Api Level 17 的模拟器(Android 虚拟设备)上运行应用程序时,出现以下错误:

[2012-12-10 21:10:29 - SoftKeyboard] 安装错误:INSTALL_FAILED_VERSION_DOWNGRADE[2012-12-10 21:10:29 - SoftKeyboard] 请检查 logcat 输出以获取更多详细信息.[2012-12-10 21:10:29 - SoftKeyboard] 发布取消!

然而,Logcat 是空的.我真的不知道,这个错误甚至意味着什么......

解决方案

这意味着您正在尝试安装一个与已安装在模拟器上的应用程序具有相同 packageName 的应用程序,但您正在尝试安装的应用程序具有较低的 versionCode(您的版本号的整数值).

您可能已经从版本号高于您现在正在使用的副本的代码的单独副本安装.无论哪种情况,都可以:

  • 卸载当前安装的副本

  • 或打开手机的设置>应用程序管理器来确定已安装应用程序的版本号,并在AndroidManifest中增加你的.p>

  • 或https://stackoverflow.com/a/13772620/632951

I am currently trying to compile and test a small Android Application.

I am using Eclipse, and have SDK 4.2 (Api Level 17) installed. I've set

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" />

although I've tried also different values (i.e. 17/17).

I do not use any GoogleAPI functions, nor do I use functions that are not available in API Level 8. Or at least I do not get any compile errors or warnings in that regard.

When I compile the project and run it on a real device running Android 2.2.1 the Application runs fine. However when I try to run the application on an emulator (Android Virtual Device) with Android 4.2, Api Level 17 I get the following error:

[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!

Logcat however is empty. I have really no clue, what this error even means...

解决方案

It means you're trying to install an app with the same packageName as an app that's already installed on the emulator, but the one you're trying to install has a lower versionCode (integer value for your version number).

You might have installed from a separate copy of the code where the version number was higher than the copy you're working with right now. In either case, either:

  • uninstall the currently installed copy

  • or open up your phone's Settings > Application Manager to determine the version number for the installed app, and increment your <manifest android:versionCode to be higher in the AndroidManifest.

  • or https://stackoverflow.com/a/13772620/632951

相关文章