Android Studio 中的“失败 [INSTALL_FAILED_OLDER_SDK]”是啥意思?
Posted
技术标签:
【中文标题】Android Studio 中的“失败 [INSTALL_FAILED_OLDER_SDK]”是啥意思?【英文标题】: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 能否请您发布您的清单? 我已经编辑了问题以便能够显示清单文件 【参考方案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):
这对我有用。
【讨论】:
【参考方案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"/>
【讨论】:
以上是关于Android Studio 中的“失败 [INSTALL_FAILED_OLDER_SDK]”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
大神, 我的android studio中的虚拟机怎么联网?
无法按照 Google“入门”页面中的说明在 Android Studio 中添加地图; Android Studio 报错