Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Настройка minSdkVersion не работает в Android Studio

Автор вопроса: CliffОтветов: 2

У меня есть совершенно новый проект, который я начал с помощью мастера создания новых проектов, где я экспериментирую с материалом и Android L SDK. У меня установлен эмулятор sdk L, где на моем фактическом устройстве работает SDK 19. Я попытался создать отдельные "productFlavors", "современный" для "L" и "старый" для 19 и, наконец, используя "старый" для запустить на устройстве, но это не сработало. Я, наконец, попытался удалить все следы SDK "L" из моего build.gradle и даже дошел до установки минимальной/целевой версии на 19 в AndroidManifest.xml, но когда я пытаюсь запустить его, средство выбора устройства все равно каким-то образом улавливает это. "L" - это minSDK.

скриншот выбора устройства

Я синхронизировал и повторно синхронизировал свои файлы сборки gradle, я выполнил чистую работу перед запуском конфигурации запуска, я даже просмотрел файлы свойств, чтобы увидеть, был ли где-то установлен целевой объект, который я пропустил. Кажется, что просто используя "L" SDK, minimunTarget фиксируется на "L", что я не считаю правильным. Где я ошибаюсь?

Вот мой build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion '20.0.0'
    defaultConfig {
        applicationId 'com.craig.mymaterial'
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
        modern {
//            minSdkVersion 'L'
//            targetSdkVersion 'L'
        }
        old {
            minSdkVersion 19
            targetSdkVersion 19
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // You must install or update the Support Repository through the SDK manager to use this dependency.
    compile 'com.android.support:support-v4:19.+'
}

Вот мой AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.craig.mymaterial" >

    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".ItemListActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ItemDetailActivity"
            android:label="@string/title_item_detail"
            android:parentActivityName=".ItemListActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".ItemListActivity" />
        </activity>
    </application>

</manifest>

android-studioandroidandroid-gradle-plugin

Ответы

Ответ 1 · рейтинг 2 · ImmortalDev

Поскольку Material Design не будет официально поддерживаться до выпуска Android L, Google сделал так, что все, что скомпилировано с "Android-L", привязано к этой версии.

Может быть обходной путь, но "официальным" решением будет изменение вашей версии компиляции, чтобы решить проблему.

Ответ 2 · Herb

Ваша версия компиляции - 20, но версия, которую вы установили в эмуляторе, - 19. Если вы установите для compileSdkVersion значение 19, он должен работать

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы