Android Studio: отказ [INSTALL_FAILED_OLDER_SDK]
Сегодня я загрузил Android Studio v 0.8.0 beta. Я пытаюсь проверить свое приложение на SDK 17. Android studio error Failure [INSTALL_FAILED_OLDER_SDK]
Вот мой манифест андроида
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vahe_muradyan.notes" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Main_Activity"
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>
Кажется, что студия Android использует конфигурации в build.gradle.Here is build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 'L'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
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:appcompat-v7:19.+'
}
Ответы
Ответ 1
Есть моя конфигурация для поддержки L и старых версий android:
apply plugin: 'com.android.application'
android {
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.uladzimir_klyshevich.myapplication"
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
l {
minSdkVersion 'android-L'
targetSdkVersion 'android-L'
compileSdkVersion 'android-L'
}
old {
minSdkVersion 10
targetSdkVersion 20
//TODO comment second line if build is not compiles for "L"
compileSdkVersion 20
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
lCompile 'com.android.support:appcompat-v7:21.+'
oldCompile 'com.android.support:appcompat-v7:19.1.0'
}
В результате у вас будут ароматы:
oldDebug
oldRelease
lDebug
lRelease
И можете установить приложение на старые версии Android.
Ответ 2
Выполняйте эти изменения в файле build.gradle
в модуле износа
compileSdkVersion 20
targetSdkVersion 20
Таким образом, окончательный контент wear/build.gradle будет выглядеть следующим образом:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your package name"
minSdkVersion 20
targetSdkVersion 20
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.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
}
Ответ 3
Я использую версию Android Studio Beta 0.8.1, и у меня такая же проблема. Теперь я продал свою проблему, изменив AVD (я использую Genymotion) на API 19.
и вот мой файл build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.example.daroath.actionbar"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
![enter image description here]()
Надеюсь на эту помощь!
Ответ 4
Я столкнулся с той же проблемой и решил ее, загрузив 20-й уровень api с помощью диспетчера sdk и изменив каждую строку, которая указывает на android-L. Я сделал это, потому что у меня нет устройства kitkat и вы не хотите использовать эмулятор.
Смотрите изображение, загруженное отмеченным.
Здесь моя конфигурация сборки:
apply plugin: 'com.android.application'
android {
compileSdkVersion 20//changed this from default
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.subash.test"
minSdkVersion 12//changed this from default
targetSdkVersion 20//changed this from default
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Ответ 5
Как упоминалось ранее, переход на сборку 19 - это предлагаемый маршрут здесь до тех пор, пока v20 не станет "фиксированным". Эта тема помогла мне решить проблему, но похоже, что аналогичные ответы были опубликованы здесь. https://code.google.com/p/android/issues/detail?id=72840
Ответ 6
Изменить файл AndroidManifest.xml
<uses-sdk android:minSdkVersion="19"/>
<uses-sdk android:minSdkVersion="14"/>
Ответ 7
<uses-sdk android:minSdkVersion="19"/>
В AndroidManifest.xml
работал у меня на Android Studio (Beta) 0.8.2.
Ответ 8
Отказ [INSTALL_FAILED_OLDER_SDK]
в основном означает, что установка завершилась неудачно из-за целевого местоположения (AVD/Device) с более старой версией SDK, чем targetSdkVersion
, указанной в вашем приложении.
С
apply plugin: 'com.android.application'
android {
compileSdkVersion 'L' //Avoid String change to 20 without quotes
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
targetSdkVersion 'L' //Set your correct Target which is 17 for Android 4.2.2
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:appcompat-v7:19.+' // Avoid Generalization
// can lead to dependencies issues remove +
}
С
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.vahe_muradyan.notes"
minSdkVersion 8
targetSdkVersion 17
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:appcompat-v7:19.0.0'
}
Это обычная ошибка от eclipse до Android Studio 0.8-.8.6
Что нужно делать в Android Studio (сейчас)
- Избегайте строк вместо заданного уровня API/Number
- Избегайте обобщения зависимостей + быть конкретными
Ответ 9
в файле AndroidManifest.xml измените версию user-sdk на более раннюю версию
<uses-sdk android:minSdkVersion="19"/>
Ответ 10
После многих исследований я нашел решение этой огромной ошибки, с которой я боролся в течение 2 дней.
Вместо изменения minSdkVerison и targetSdkVersion в build.gradle
Просто откройте файл манифеста и используйте этот
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="21"/
Ответ 11
Реальная проблема заключается в том, что с vanilla Android Studio v 0.8 beta, она устанавливает или распознает SDK 20, который является android L. Чтобы настроить таргетинг на другой complieSDK, вам нужно установить его через менеджер SDK. После его установки вы можете сменить compileSDK на более низкую версию и работать.
вы также можете ограничить библиотеку совместимости, ее нужно ограничить использованием последней версии библиотеки, поэтому измените dependecy на что-то вроде:
compile('com.android.support:appcompat-v7:19.1.0') {
// really use 19.1.0 even if something else resolves higher
force = true
}
Ответ 12
Я исправил эту проблему.
Я только что изменил версию compileSdk от 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'
}
как изменить значение на ide.
выберите файл- > Структура проекта → Facets → android- gradle, а затем измените версию Sdk для компиляции с android_L на 19
Извините, у меня недостаточно репутации, чтобы добавлять фотографии
Ответ 13
Сначала я вошел в диспетчер SDK и обновил все, что он установил для обновления.
Я также добавил в версию SDK для версии Android, которую я имел на Droid, который у меня был... Версия 2.3.4 (10)
Я не думаю, что это действительно исправлено, и после перезагрузки Android Studio, как было рекомендовано после установки SDK, я изменил minSdkVersion на 8 в файле build.gradle
Затем я смог загрузить приложение в свой Droid.
defaultConfig {
applicationId "com.cmcjr.chuck.droid_u"
minSdkVersion 8
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
Это Android Studio, установленная на Ubuntu 12.04
Ответ 14
Просто перейдите к build.gradle(Module:App)
и измените minSdkVersion
на все, что вы используете с эмулятором.
Пример:
defaultConfig {
applicationId "com.example.raghu.sample"
// Change the version in following line
minSdkVersion 10 // <-- Whatever you are using with Emulator
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
Ответ 15
Просто установил бета-версию Android Studio v 0.8.1 и столкнулся с той же проблемой, ориентированной на SDK 19.
Скопировано 19 из adt-bundle в android-studio, изменено build.gradle на:
compileSdkVersion 19
targetSdkVersion 19
затем project → app → открыть настройки модуля (aka project structure): сменить скомпилированную версию sdk на 19.
Теперь работает нормально.
Ответ 16
Как и несколько предыдущих сообщений, я пошел в SDK Manager и удалил v20 и версию L. Затем я установил версию 19, и эта проблема была решена, и я мог отлаживать с помощью моего устройства Android, никаких ошибок.
Ответ 17
Другим способом поддержки Android L является использование специального свойства lpreview
для Gradle. Например:
lpreview = hasProperty('lpreview')
apply plugin: 'com.android.application'
android {
compileSdkVersion lpreview ? "android-L" : 19
buildToolsVersion "20.0.0"
productFlavors { lpreview ? lpreview{} : classic{} }
defaultConfig lpreview ? {} : {
minSdkVersion 14
targetSdkVersion 19
}
Теперь вы можете создать свое приложение с помощью
./gradlew clean
./gradlew -Plpreview assembleDebug
или
./gradlew -Plpreview installLpreviewDebug
Таким образом вы можете создать свое приложение с свойством lpreview
для Android L и без него для предыдущих версий.
Ответ 18
Попробуйте изменить версию sdk min
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="19" />
Ответ 19
Проверьте "minSdkVersion" в файле build.gradle
Проект по умолчанию создает его с использованием новейшего API, поэтому, если телефон еще не обновлен (например, minSdkVersion 21), это, вероятно, ваш случай.
Убедитесь, что значение minSdkVersion соответствует версии API устройства или если устройство имеет более высокий уровень.
Пример:
defaultConfig {
applicationId 'xxxxxx'
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
Ответ 20
ваше устройство старше minSDK
, отредактируйте minSdkVersion
в файле build.gradle
Ответ 21
Еще одно место, где miSdkVersion имеет смысл, - это вкус:
productFlavors {
dev {
minSdkVersion 22
}
prod {
minSdkVersion 9
}
}
minSdkVersion (22) не будет устанавливаться на устройства разработки с уровнем API старше 22.
Ответ 22
вам нужно обновить.
Это мое текущее решение (09/2015).
В поиске в Android Studio.
Menu --> Help --> check for update
Углубление и проблема решена!
Удача
Ответ 23
Проверьте минимальный уровень API внутри build.gradle(module: app) [внутри сценариев gradle].
Thatt должен быть равен или ниже, чем устройство, которое вы используете
Ответ 24
В build.gradle изменить minSdkVersion 17 или новее.