Android模拟器:安装错误:INSTALL_FAILED_VERSION_DOWNGRADE

我目前正在编译和testing一个小的Android应用程序。

我正在使用Eclipse,并安装了SDK 4.2(Api Level 17)。 我已经设定了

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

尽pipe我也尝试了不同的值(即17/17)。

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

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

 [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是空的。 我真的没有线索,这个错误甚至意味着什么…

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

您可能已经从版本号高于您正在使用的副本的代码的单独副本安装。 无论是哪一种情况,

  • 卸载当前安装的副本

  • 或打开手机的设置>应用程序pipe理器来确定已安装应用程序的版本号,并在AndroidManifest中将您的<manifest android:versionCode增加为更高。

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

你也可以考虑添加-d标志到adb安装。 它应该忽略这个错误。

首先从模拟器卸载你的应用程序:

 adb -e uninstall your.application.package.name 

然后尝试再次安装该应用程序。

这是发生在我的项目中,因为我正在使用XML资源来设置版本代码。

 AndroidManifest.xml: android:versionCode="@integer/app_version_code" app.xml: <integer name="app_version_code">64</integer> 

这在以前版本的adb不是问题,但是,对于platform-tools r16,这不再被parsing为正确的整数。 您可以使用adb -r强制重新安装,也可以通过在清单中使用文字来完全避免此问题:

 android:versionCode="64" 

尝试在Play商店的已签名版本APK上安装debugging/未签名的APK时,可能会发生这种情况。

 H:\>adb install -r "Signed.apk" 2909 KB/s (220439 bytes in 0.074s) pkg: /data/local/tmp/Signed.apk Success H:\>adb install -r "AppName.apk" 2753 KB/s (219954 bytes in 0.078s) pkg: /data/local/tmp/AppName.apk Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 

解决scheme是卸载 ,然后重新安装或从IDE重新运行它。

根据来自… \ android-22 \ android \ content \ pm \ PackageManager.java的sdk src代码

 /** * Installation return code: this is passed to the {@link IPackageInstallObserver} by * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if * the new package has an older version code than the currently installed package. * @hide */ public static final int INSTALL_FAILED_VERSION_DOWNGRADE = -25; 

如果新软件包的版本号比当前安装的软件包旧。

在棉花糖,我得到这个错误,

 Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE Please check logcat output for more details. Launch canceled! 

寻找解决scheme,我search,来到这里。 我删除了应用程序,但在Nexus 6中仍然有这个问题。后来发现,

 Settings > Apps > [My app name] have to removed for all user. 

当我将一个Android Studio应用程序导入到eclipse中时,这发生在我身上。

我想从android studio项目导入时,需要稍微修改andoridmanifest.xml文件。 我创build了一个新的testing项目,并复制标题以使其匹配。 瞧,问题解决了。

这个错误出现在我的Android项目与多种gfx文件。 最后,清单文件没有被接受。

由于我对android设备的知识缺乏,我忘记了我的testing设备有第二个用户。 此用户也有我的应用程序的安装版本,所以我也必须删除该用户帐户的应用程序,它的工作原理。

INSTALL_FAILED_VERSION_DOWNGRADE

所有Android应用程序都有一个包名称。 包名称唯一标识设备上的应用程序。 如果与设备上已安装的应用程序的packageName相同,则显示此错误

  1. 您可以先从您的设备上卸载应用程序,然后安装新的应用程序。
  2. 每次发布新版本时,您都可以简单地增加一个号码

我有同样的问题。 当我试图在我的Android设备运行模拟器运行时,我得到错误。

 sudo ionic run android 

我可以通过运行来解决这个问题

 adb uninstall com.mypackage.name 

你可以试试这个: adb install -r -d -f your_Apk_path

一直在杀我的东西是,我不知道这个应用程序是为我的来宾帐户安装(虽然我已经卸载它的其他帐户..)

所以我在应用程序pipe理器中search应用程序,只需点击卸载所有用户

在这里输入图像说明