Не могу использовать некоторые функции L SDK

Я пытаюсь использовать новые переходы Activity в новом SDK.

Я попробовал эту строку:

getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

Но проблема в том, что Window не включает FEATURE_CONTENT_TRANSITIONS.

Я также пробовал эту строку:

getWindow().setExitTransition(new Explode());

И класса Explode не существует...

Я уже настроил свой проект для компиляции с помощью L SDK (android-L) и использую новые инструменты SDK (20.0.0)

построить.градле:

apply plugin: 'com.android.application'

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "com.android.support:support-v4:+"
}

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

person Eli Revah    schedule 27.06.2014    source источник
comment
вы получили эту ошибку при компиляции или во время выполнения? Где вы выполняете этот код?   -  person light_303    schedule 27.06.2014
comment
Я получаю этот код как синтаксическую ошибку, таких классов не существует. (Я использую Android Studio)   -  person Eli Revah    schedule 27.06.2014
comment
опубликуйте свой build.gradle   -  person Gabriele Mariotti    schedule 27.06.2014
comment
@GabrieleMariotti Добавлен build.gradle.   -  person Eli Revah    schedule 27.06.2014
comment
У меня точно такая же проблема с бета-версией Android Studio... Я открываю пример проекта github.com/ romainguy/google-io-2014, скомпилируйте и запустите на эмуляторе, но Android Studio говорит, что некоторых классов (новый предварительный просмотр L) не существует....   -  person sabadow    schedule 27.06.2014
comment
Я сделал новую установку Android Studio, и теперь все работает нормально!   -  person sabadow    schedule 27.06.2014
comment
@sabadow Я уже пробовал, не сработало.   -  person Eli Revah    schedule 27.06.2014
comment
установка Build Target на уровень API 21 исправляет это. Но интересно, что будет, когда я использую приложение на 4.4.2... посмотрим   -  person Someone Somewhere    schedule 09.12.2014


Ответы (2)


похоже, вы не включаете библиотеку L SDK в свой путь сборки. Библиотеки перечислены как зависимость вашего проекта?

person light_303    schedule 27.06.2014
comment
com.android.support:support-v4:+ — единственная библиотека, указанная в моих зависимостях. - person Eli Revah; 27.06.2014

Попробуйте File -> Invalidate Caches/Restart.

Если это не сработает, попробуйте удалить ~/.AndroidStudioBeta (или ~/.AndroidStudioPreview, в зависимости от того, что вы используете). Это очистит все ваши настройки, так что будьте к этому готовы, но в моем случае это решило проблему.

Для Mac очистите:
~/Library/Application Support/AndroidStudioBeta
~/Library/Caches/AndroidStudioBeta
~/Library/Logs/AndroidStudioBeta
~/Library/Preferences/AndroidStudioBeta

person chris.d    schedule 28.06.2014
comment
Пробовал оба решения, тоже не работает. Я заметил кое-что, в редакторе я щелкнул Window, удерживая нажатой клавишу Control, чтобы перейти к исходному коду класса Window, и я заметил, что он использует API-уровень 20. Он должен использовать API-уровень L, не так ли? - person Eli Revah; 28.06.2014
comment
Должно быть примерно так: это. В вашем каталоге /sdk/platforms есть ли у вас папка «android-L»? Возможно, удалите пакеты L из диспетчера SDK и переустановите. При необходимости повторите описанные выше шаги, чтобы сбросить кэши. - person chris.d; 29.06.2014
comment
У меня есть папка android-L. И я уже пробовал переустанавливать пакеты из SDK Manager. - person Eli Revah; 29.06.2014