2013-12-16 5 views
31

Я получил это Froyo (2.2) устройство, которое я использую для создания приложения. Когда я пытаюсь запустить приложение непосредственно на устройстве он показывает ошибку говоряЧто означает «Неудача [INSTALL_FAILED_OLDER_SDK]» в Android Studio?

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 

Что, кажется, делают указанные ошибки?

EDIT:

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> 
+0

Каков минимальный sdk, с которым будет работать ваше приложение? Возможно, ваше приложение создается для версии, которая выше вашего устройства. – Houseman

+0

Я использую уровень api ** 8 ** –

+0

Не могли бы вы опубликовать свой манифест? – hichris123

ответ

20

Эта ошибка

Failure [INSTALL_FAILED_OLDER_SDK] 

означает, что вы пытаетесь установить приложение, которое имеет более высокий minSdkVersion указанный в манифесте чем уровень API устройства. Измените это число на 8, и оно должно работать. Я не уверен в другой ошибке, но это может быть связано с этим.

+0

Да, я уже использую уровень API ** 8 ** при наличии ошибки. –

+0

Я попытался сделать мир привет с 3 и все еще не мог заставить его работать. – baash05

+0

Я не установил ни minSdk, ни targetSdk. Но я получаю эту ошибку во время установки APK. Я даже декомпилировал окончательный APK, и нет атрибута min/target. –

0

В вашем файле манифеста package атрибут установлен в com.test.helloworld, однако ваш класс активности находится в другом пакете. Изменение пакета класса MyActivity к com.example.helloworld

4

Убедитесь, что вы не имеете minSdkVersion, установленный в вашем build.gradle со значением выше, чем 8. Если вы не укажете его вообще, он должен использовать значение в вашей AndroidManfiest.xml , который, кажется, уже правильно установлен.

+3

где я могу увидеть файл build.gradle в моем проекте – praveen

+0

В редакторе проекта под «Gradle Scripts» –

+0

Я не установил ни minSdk, ни targetSdk. Но я получаю эту ошибку во время установки APK. Я даже декомпилировал окончательный APK, и нет атрибута min/target. –

3

Просто удалите uses-sdk бирка работает для меня для таких проблем.

23

После того как я изменил

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

в build.gradle файле.

работает

+1

Это действительно правильный ответ. TargetSdkVersion не должен использовать «L» для устройств. OP должен принять это как правильный ответ. Нашли несколько ответов, которые не смогли решить эту проблему. –

+0

@QinZhengquan где это defaultConfing Я не вижу его в AndroidManifest.xml, где я могу найти это? – iqueqiorio

+1

@iqueqiorio в файле 'build.gradle' – chengbo

10

Помимо проверки права minSdkVersion в build.gradle, убедитесь, что вы установили все необходимые tools и правильно SDK Platform для предпочитаемого Android версии в SDK Manager. В Android студии Klick на Инструменты ->Android ->SDK менеджер. Затем установите на минимум (для Android 2.2 без эмулятора):

  • Android SDK Tools
  • Android SDK Platform-инструменты
  • Android SDK Строить-инструменты (последний)
  • Android 2.2 (API 8)
    • SDK Platform
    • Google APIs

Это то, что работает для меня.

+0

спасибо .. это было идеально – baash05

-1

Изменить файл AndroidManifest.xml

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

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

Failure [INSTALL_FAILED_OLDER_SDK] в основном означает, что установка не удалась из-за целевое местоположение (AVD/Device), имеющим более старую версию SDK, чем targetSdkVersion указанного в вашем приложение.

Н/В Froyo 2.2 API-8

Чтобы исправить это просто изменить

targetSdkVersion = "17" к targetSdkVersion = "8"

ура.

0

Я установил это problem.The устройство системы версии старше на minSdkVersion SDK. я просто изменял minSdkVersion от android_L до 19 , чтобы ориентировать нексус 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' 
} 

как изменить значение по идее. выберите File-> Структура проекта -> Грани -> Android-Gradle и затем модифицировали компиляции SDK версии от android_L до 19

жаль, что я не хватает репутации, чтобы добавить фотографии

1

Убедитесь, что Выбрать Run/Конфигурация отладки является изнашивающейся или мобильной в соответствии с вашей установкой в ​​андроид-студии ...

0

Это потому, что у вас есть версия для старшей версии sdk, чем ваше приложение .. !!! Это означает, что ваше приложение должно использовать версию sdk Lollipop, но у вас есть версия kitkat.

1

Failure [INSTALL_FAILED_OLDER_SDK]

Для Sumsung Note3 Я просто отредактировать файл AndroidManifest.xml и добавьте следующий код:

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

Fix ваш Gradle файл следующим образом

defaultConfig { 
    applicationId "package.com.app" 
    minSdkVersion 8 //this should be lower than your device 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 
0
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' 
} 
Смежные вопросы