【问题标题】:What does "Failure [INSTALL_FAILED_OLDER_SDK]" mean in Android Studio?Android Studio 中的“失败 [INSTALL_FAILED_OLDER_SDK]”是什么意思?
【发布时间】:2014-01-04 12:18:28
【问题描述】:

我得到了我用来制作应用程序的 Froyo (2.2) 设备。 当我尝试将应用程序直接运行到设备时,它会显示错误提示

pkg: /data/local/tmp/com.example.HelloWorldProject
Failure [INSTALL_FAILED_OLDER_SDK]

在另一个窗口中出现错误提示

Unable to attach test reporter to test framework or test framework quit unexpectedly

似乎是什么导致了上述错误?

编辑:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.test.helloworld"
          android:versionCode="1"
          android:versionName="1.0">

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

    <application
            android:allowBackup="true"
            android:debuggable="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            >
        <activity
                android:name="com.example.HelloWorldProject.MyActivity"
                android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

【问题讨论】:

  • 您的应用运行所需的最低 sdk 是多少?也许您的应用是为高于您设备的版本创建的。
  • 我使用的是api级别8
  • 能否请您发布您的清单?
  • 我已经编辑了问题以便能够显示清单文件

标签: android android-studio android-2.2-froyo


【解决方案1】:

我改变之后

defaultConfig {
    applicationId "com.example.bocheng.myapplication"
    minSdkVersion 15
    targetSdkVersion 'L' #change this to 19
    versionCode 1
    versionName "1.0"
}

build.gradle 文件中。

有效

【讨论】:

  • 这确实是正确答案。 targetSdkVersion 不应该对设备使用“L”。 OP 应该接受这个作为正确答案。找到了许多未能解决此问题的答案。
  • @QinZhengquan 这个defaultConfing在哪里我在AndroidManifest.xml中没有看到,我在哪里可以找到这个?
  • @iqueqiorio 在build.gradle 文件中
【解决方案2】:

这个错误

Failure [INSTALL_FAILED_OLDER_SDK]

表示您尝试安装的应用在其清单中指定的 minSdkVersion 高于设备的 API 级别。将该号码更改为8,它应该可以工作。我不确定另一个错误,但它可能与这个有关。

【讨论】:

  • 是的,我已经在使用 API 级别 8,但出现错误。
  • 我尝试用 3 做一个 hello world,但仍然无法运行。
  • 我既没有设置 minSdk 也没有设置 targetSdk。但我在安装 APK 期间收到此错误。我什至反编译了最终的 APK,并没有 min/target 属性。
【解决方案3】:

除了在build.gradle 中检查正确的minSdkVersion 之外,请确保您已在SDK Manager 中为您首选的Android 版本安装了所有必要的tools 和正确的SDK Platform。在 Android Studio 中点击 Tools -> Android -> SDK 管理器。然后至少安装(对于没有模拟器的 Android 2.2):

  • Android SDK 工具
  • Android SDK 平台工具
  • Android SDK 构建工具(最新)
  • Android 2.2 (API 8)
    • SDK 平台
    • Google API

这对我有用。

【讨论】:

    【解决方案4】:

    确保您的build.gradle 中没有设置大于8 的minSdkVersion。如果您根本不指定它,它应该使用您的AndroidManfiest.xml 中的值,即似乎已经正确设置了。

    【讨论】:

    • 在我的项目中哪里可以看到 build.gradle 文件
    • 我既没有设置 minSdk 也没有设置 targetSdk。但我在安装 APK 期间收到此错误。我什至反编译了最终的 APK,并没有 min/target 属性。
    【解决方案5】:

    只需删除 uses-sdk 标记即可解决此类问题。

    【讨论】:

      【解决方案6】:

      失败 [INSTALL_FAILED_OLDER_SDK] 基本上意味着安装失败,因为目标位置(AVD/设备)的 SDK 版本比您应用中指定的 targetSdkVersion 旧。

      N/B Froyo 2.2 API 8

      要解决这个问题,只需更改

      targetSdkVersion="17"targetSdkVersion="8"

      干杯。

      【讨论】:

        【解决方案7】:

        根据您在 android studio 中的安装,确保选择运行/调试配置是可穿戴的或可移动的...

        【讨论】:

          【解决方案8】:

          失败 [INSTALL_FAILED_OLDER_SDK]

          对于Sumsung note3,我只需编辑AndroidManifest.xml 文件并添加以下代码:

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

          【讨论】:

            【解决方案9】:

            在您的清单文件中,package 属性设置为com.test.helloworld,但是您的活动类位于不同的包下。将您的 MyActivity 类包更改为 com.example.helloworld

            【讨论】:

              【解决方案10】:

              这是因为您的移动设备的 sdk 版本比您的应用程序旧..!!! 这意味着您的应用程序需要 sdk 版本,假设 Lollipop 但您的手机有版本 kitkat。

              【讨论】:

                【解决方案11】:

                通过以下方式修复您的 gradle 文件

                defaultConfig {
                    applicationId "package.com.app"
                    minSdkVersion 8 //this should be lower than your device
                    targetSdkVersion 21
                    versionCode 1
                    versionName "1.0"
                }
                

                【讨论】:

                  【解决方案12】:
                  In android studio: reduce minSDKversion. It will work...
                  
                  apply plugin: 'com.android.application'
                  
                  android {
                      compileSdkVersion 23
                      buildToolsVersion "23.0.1"
                  
                      defaultConfig {
                          applicationId "healthcare.acceliant.trianz.com.myapplication"
                          minSdkVersion 11
                          targetSdkVersion 23
                          versionCode 1
                          versionName "1.0"
                      }
                      buildTypes {
                          release {
                              minifyEnabled false
                              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                          }
                      }
                  }
                  
                  dependencies {
                      compile fileTree(dir: 'libs', include: ['*.jar'])
                      compile 'com.android.support:appcompat-v7:23.1.1'
                  }
                  

                  【讨论】:

                    【解决方案13】:

                    我修复了这个问题。设备系统版本比 sdk minSdkVersion 旧。 我刚刚将 minSdkVersion 从 android_L 修改为 19 以我的nexus 4.4.4为目标。

                    buildscript {
                        repositories {
                            jcenter()
                        }
                        dependencies {
                            classpath 'com.android.tools.build:gradle:0.12.2'
                        }
                    }
                    apply plugin: 'com.android.application'
                    
                    repositories {
                        jcenter()
                    }
                    
                    android {
                        **compileSdkVersion 'android-L'** modified to 19
                        buildToolsVersion "20.0.0"
                    
                        defaultConfig {
                            applicationId "com.antwei.uiframework.ui"
                            minSdkVersion 14
                            targetSdkVersion 'L'
                            versionCode 1
                            versionName "1.0"
                        }
                        buildTypes {
                            release {
                                runProguard false
                                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                            }
                        }
                    }
                    
                    dependencies {
                        compile fileTree(dir: 'libs', include: ['*.jar'])
                        **compile 'com.android.support:support-v4:21.+'** modified to compile 'com.android.support:support-v4:20.0.0'
                    }
                    

                    如何通过 ide 修改值。 选择file->Project Structure -> Facets -> android-gradle 然后将compile Sdk Version从android_L修改为19

                    对不起,我没有足够的声誉来添加图片

                    【讨论】:

                      【解决方案14】:

                      也许去文件>项目结构>模块并在我完成此操作之前将你的源代码兼容性更改为较低版本,我在 build.gradle 中进行了更改 mindSdk 和 tragetSdk 从 31 到 30。 现在我可以毫无问题地使用模拟器了

                      【讨论】:

                        【解决方案15】:

                        更改文件 AndroidManifest.xml

                        <uses-sdk android:minSdkVersion="19"/>
                        
                        <uses-sdk android:minSdkVersion="14"/>
                        

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2015-06-10
                          • 1970-01-01
                          • 2015-04-30
                          • 2011-11-12
                          相关资源
                          最近更新 更多