Джерела для платформи Android API 23 не знайдено (Android Studio 2.0)


99

Android Studio не перенаправляє мене коректно до джерел API. Коли я потрапляю на будь-яку функцію, він декомпілює байт-код файлу .class замість доступу до потрібного файлу з дерева sdk / source. Натискання параметрів "завантажити" та "оновити" нічого не робить. Це особливо прикро для впровадження слухачів, оскільки він генерує з документації функції "заголовки без змінних" (наприклад, 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'
}

Нижче ви можете знайти ступінь результатів для пустого проекту (без сторонніх ліфтів) з тим самим набором 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
Mounir Elfassi

Я додав свій build.gradle. Дякую за відповідь
Лука

ви використовуєте його в Linux?
Аамір Abro

Я зіткнувся з тією ж проблемою
Аамір

2
це вирішило це для мене stackoverflow.com/a/26352763/1308530
Аамір Abro

Відповіді:


211

Мабуть, ця проблема була виправлена ​​в Android Studio 2.1. Перезапустіть налаштування Android SDK Manager в Android Studio, і це має вирішити вашу проблему.

В Android Studio:

Windows: Файл -> Налаштування (ctrl + alt + s) -> Зовнішній вигляд та поведінка -> Налаштування системи -> SDK для Android.

Mac: Android Studio -> Налаштування (cmd +,) -> Зовнішній вигляд та поведінка -> Налаштування системи -> Android SDK.

Натисніть Редагувати праворуч від місця розташування Android SDK. Клацніть Далі по всьому майстру, і це має вирішити проблему.

Це була дана відповідь тут на інше питання.


3
Перезапустіть, щоб жити.
Кай Ван

1
Блискуче! Ви чемпіон. Повторний імпорт вирішив проблему для мене.
Роберт Массайолі

2
Ви б за мене заміж?
Andrea Baccega

2
Хтось змушує це працювати з Android Studio 2.3.3 та API 26? Проблема точно така ж у цьому сценарії, але дотримання цих інструкцій та перезапуск не допомогли.
jwBurnside

Все ще актуально для AS 3.1.3. Дякую!
Андрій Ранков

47

Для людей, які стикаються з тією ж проблемою, рішення знаходиться в цій публікації для Linux і в тій же темі, що тут для Windows (завдяки Ааміру Абро ). В основному, ви повинні відредагувати файл 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: \ Користувачі {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Для розташування файлів користувача Linux : ~ / Бібліотека / Налаштування / 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 така сама: ~ / Бібліотека / Налаштування / AndroidStudioBeta / options / jdk.table.xml
evan

1
Існує проблема про це: code.google.com/p/android/issues/detail?id=207555
цзи

8

Як згадував qbeck у своєму коментарі, скидання шляху до SDK вирішило проблему для деяких із нас.

Рішення:

Android Studio 2.1 звітування в: вирішив проблему шляхом скидання SDK.

Налаштування -> Зовнішній вигляд та поведінка -> Налаштування системи -> Android SDK.

Натисніть Редагувати праворуч від місця розташування SDK для Android. Далі, далі, поруч, щоб виконати майстра та вуаля!


1
Це вирішило проблему в студії Android 2.3 w / SDK 25
Jon

в Linux це:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

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 консоль в правому нижньому кутку андроїда студії .. оновити своє питання з колодою ви бачите
Мунір Elfassi

Я додав висновок з gradle для іншого (порожнього) проекту, де відбуваються ті ж самі речі. Я вдячний за твою допомогу.
Лука

0

Іноді буде 2 помилки, перша сказала б: "платформа android 28 не знайдена", натисніть кнопку далі, "прийняти деяку ліцензійну угоду ...". Після прийняття угоди обидві помилки зникнуть.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.