Исходники для платформы Android API 23 не найдены (Android Studio 2.0)

100

Android Studio неправильно перенаправляет меня к источникам API. Когда я нажимаю любую функцию, она декомпилирует байт-код файла .class вместо доступа к нужному файлу из дерева sdk / sources. Нажатие параметров «загрузка» и «обновление» ничего не дает. Это особенно раздражает для реализации слушателей, поскольку он генерирует заголовки функций без переменных из документации (например, var1, var2 и т. Д.). Я установил API 23 (платформа SDK, инструменты, документы, источники). Я установил для компиляции и целевого SDK значение 23. Я попытался переустановить инструменты SDK, обновить AS из канареечного канала, аннулировать кеш, но пока ничего не помогло. Я перешел на API 21, и он работает нормально.

Что мне не хватает?

Мой build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.myapp.app"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile project(':volley')
    compile 'com.jakewharton:butterknife:7.0.1'
}

Ниже вы можете найти вывод gradle для пустого проекта (без сторонних библиотек) с тем же набором API 23 и таким же поведением.

Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]

Configuration on demand is an incubating feature.
Incremental java compilation is an incubating feature.
:clean
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2330Library
:app:prepareComAndroidSupportAppcompatV72330Library
:app:prepareComAndroidSupportDesign2330Library
:app:prepareComAndroidSupportRecyclerviewV72330Library
:app:prepareComAndroidSupportSupportV42330Library
:app:prepareComAndroidSupportSupportVectorDrawable2330Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:mergeDebugShaders
:app:compileDebugShaders
:app:generateDebugAssets
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:prepareDebugAndroidTestDependencies
:app:compileDebugAndroidTestAidl
:app:processDebugAndroidTestManifest
:app:compileDebugAndroidTestRenderscript
:app:generateDebugAndroidTestBuildConfig
:app:mergeDebugAndroidTestShaders
:app:compileDebugAndroidTestShaders
:app:generateDebugAndroidTestAssets
:app:mergeDebugAndroidTestAssets
:app:generateDebugAndroidTestResValues UP-TO-DATE
:app:generateDebugAndroidTestResources
:app:mergeDebugAndroidTestResources
:app:processDebugAndroidTestResources
:app:generateDebugAndroidTestSources
:app:mockableAndroidJar
:app:preDebugUnitTestBuild UP-TO-DATE
:app:prepareDebugUnitTestDependencies

BUILD SUCCESSFUL
Люк
источник
пожалуйста, покажите свой файл gradle
Мунир Эльфасси
Я прикрепил свой build.gradle. Спасибо за ответ
Люк
вы используете его в Linux?
Аамир Абро
Я столкнулся с той же проблемой
Амир Абро
2
это решило это для меня stackoverflow.com/a/26352763/1308530
Аамир Абро

Ответы:

212

По-видимому, эта проблема была исправлена ​​в Android Studio 2.1. Повторно запустите установку Android SDK Manager в Android Studio, и это должно решить вашу проблему.

В Android Studio:

Windows: Файл -> Настройки (ctrl + alt + s) -> Внешний вид и поведение -> Системные настройки -> Android SDK.

Mac: Android Studio -> Настройки (cmd +,) -> Внешний вид и поведение -> Системные настройки -> Android SDK.

Нажмите « Изменить» справа от местоположения Android SDK. На всех этапах работы мастера нажимайте Далее, и это должно решить проблему.

Это был дан ответ здесь на другой вопрос.

Мигель Лавин
источник
4
Перезагрузите, чтобы он заработал.
Кай Ван
1
Гениально! Ты чемпион. Повторный импорт устранил проблему для меня.
Роберт Массайоли
3
Ты выйдешь за меня?
Андреа Баччега
2
Кто-нибудь заставит это работать с Android Studio 2.3.3 и API 26? Проблема точно такая же в этом сценарии, но выполнение этих инструкций и перезапуск не помогли.
jwBurnside
По-прежнему актуально для AS 3.1.3. Спасибо!
Андрей Ранков
47

Для людей , которые сталкиваются с той же проблемой, решение в этой должности для Linux и в одной и той же теме здесь для Windows (благодаря Аамиром ABRO ). По сути, вам нужно отредактировать файл jdk.table.xml для уровня API, которого вам не хватает. Я не знаю , почему, но Android 2,0 и 2,1 RC не залили <root type="composite" />в <sourcePath>. Я обновил путь к источникам, <root type="simple" url="file://D:/android/sdk/sources/android-23" />и теперь он работает.

Для расположения файла пользователя Windows : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Для пользовательского файла Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Редактировать:

Для некоторых людей ПЕРЕЗАГРУЗКИ местоположения SDK помог источнику .

Люк
источник
Я пробовал, но это не работает в Android Studio 2.1, Ubuntu 16.04
L. Swifter
14
Кто-то здесь написал, что помогла сброс местоположения SDK. Вы также можете попробовать переустановить источники API в диспетчере SDK и убедиться, что jdk.table.xml имеет запись с правильным путем для уровня API, который вы используете.
Люк
2
Сброс местоположения SDK действительно помог, даже я не модифицировал jdk.table.xml.
Л. Свифтер
1
для Mac Пользователь такой же: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan
1
По этому поводу есть проблема: code.google.com/p/android/issues/detail?id=207555
tse
8

Как упомянул qbeck в своем комментарии, сброс пути к SDK устранил проблему для некоторых из нас.

Решение:

Отчеты Android Studio 2.1 в: проблема решена путем сброса SDK.

Настройки -> Внешний вид и поведение -> Системные настройки -> Android SDK.

Нажмите «Изменить» справа от местоположения Android SDK. Дальше, дальше, дальше доделываем мастера и вуаля!

vman
источник
1
Это
Джон,
в Linux это:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh 09
3

Обнаружена та же проблема для уровня API 28 в Android Studio 3.2.1 в Windows 10. Обновление не работает.

Сработало после перезапуска Android Studio.

Мэтт
источник
1

чтобы обновить Android Studio до Api 23, перейдите по ссылке:

Tools > Android > SDK Manager,

вы можете перейти, затем перейти на SDK Toolsвкладку или щелкнуть Launch Sdandalone SDK Manager. проверьте, Android SDK Build-tools 23.0.2чтобы установить

Обновить:

пожалуйста, удалите из своих зависимостей:

compile project(':volley')

и замените его на:

compile 'com.android.volley:volley:1.0.0'
Мунир Эльфасси
источник
1
Я уже установил API 23 (платформа SDK, инструменты, документы, исходники). На самом деле я пытался все это переустановить, но не помогло.
Люк
хорошо, я думаю, что проблема связана с библиотекой волейбола .. пожалуйста, проверьте мой обновленный ответ
Мунир Эльфасси
Еще ничего. Я даже создал новый проект без каких-либо внешних элементов, и он все тот же. Похоже, проблема связана с Android Studio.
Люк
ммм, пожалуйста, очистите свой проект => перестройте и проверьте консоль gradle в правом нижнем углу студии Android .. обновите свой вопрос с помощью журнала, который вы видите
Мунир Эльфасси
Я прикрепил вывод Gradle для другого (пустого) проекта, где происходит то же самое. Я ценю вашу помощь.
Люк
0

Иногда возникали 2 ошибки, первая говорила: «платформа android 28 не найдена», нажмите «Далее», «примите какое-то лицензионное соглашение ...». Как только вы примете соглашение, обе ошибки исчезнут.

Кришна
источник