Quellen für Android API 23 Plattform nicht gefunden (Android Studio 2.0)

99

Android Studio leitet mich nicht korrekt zu API-Quellen weiter. Wenn ich eine Funktion drücke, dekompiliert sie den Bytecode der .class-Datei, anstatt über den SDK / Source-Baum auf die richtige Datei zuzugreifen. Das Drücken der Optionen "Herunterladen" und "Aktualisieren" führt zu nichts. Es ist besonders ärgerlich für die Implementierung von Listenern, da aus der Dokumentation (z. B. var1, var2 usw.) Funktionen 'Header ohne Variablen' Mähnen generiert werden. Ich habe API 23 (SDK-Plattform, Tools, Dokumente, Quellen) installiert. Ich habe das Kompilierungs- und Ziel-SDK auf 23 gesetzt. Ich habe versucht, die SDK-Tools neu zu installieren, AS vom kanarischen Kanal zu aktualisieren, den Cache ungültig zu machen, aber bisher hat nichts geholfen. Ich habe auf API 21 umgestellt und es funktioniert gut.

Was vermisse ich?

Mein 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'
}

Unten finden Sie die Gradle-Ausgabe für ein leeres Projekt (ohne Bibliotheken von Drittanbietern) mit demselben API 23-Satz und demselben Verhalten.

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
Luke
quelle
Bitte zeigen Sie Ihre Gradle-Datei
Mounir Elfassi
Ich habe mein build.gradle angehängt. Vielen Dank für die Antwort
Luke
Verwenden Sie es unter Linux?
Aamir Abro
Ich stehe vor dem gleichen Problem
Aamir Abro
2
Dies löste es für mich stackoverflow.com/a/26352763/1308530
Aamir Abro

Antworten:

211

Anscheinend wurde dieses Problem in Android Studio 2.1 behoben. Führen Sie das Android SDK Manager-Setup in Android Studio erneut aus, um Ihr Problem zu beheben.

In Android Studio:

Windows: Datei -> Einstellungen (Strg + Alt + s) -> Aussehen und Verhalten -> Systemeinstellungen -> Android SDK.

Mac: Android Studio -> Einstellungen (cmd +,) -> Aussehen und Verhalten -> Systemeinstellungen -> Android SDK.

Klicken Sie rechts neben dem Android SDK-Speicherort auf Bearbeiten . Klicken Sie während des gesamten Assistenten auf Weiter. Dies sollte das Problem beheben.

Dies wurde hier für eine andere Frage beantwortet .

Miguel Lavigne
quelle
3
Starten Sie neu, um es live zu machen.
Kai Wang
1
Brillant! Du bist ein Gewinner. Durch das erneute Importieren wurde das Problem für mich behoben.
Robert Massaioli
2
Willst du mich heiraten?
Andrea Baccega
2
Kann jemand damit mit Android Studio 2.3.3 und API 26 arbeiten? Das Problem ist in diesem Szenario genau das gleiche, aber das Befolgen dieser Anweisungen und der Neustart haben nicht geholfen.
JwBurnside
Immer noch relevant für AS 3.1.3. Vielen Dank!
Andrey Rankov
47

Für Leute, die mit demselben Problem konfrontiert sind, finden Sie die Lösung in diesem Beitrag für Linux und im selben Thema hier für Windows (dank Aamir Abro ). Grundsätzlich müssen Sie die Datei jdk.table.xml für die fehlende API-Ebene bearbeiten . Ich weiß nicht , warum, aber Android 2.0 und 2.1 RC haben nicht gefüllt <root type="composite" />in <sourcePath>. Ich habe den Pfad der Quellen aktualisiert <root type="simple" url="file://D:/android/sdk/sources/android-23" />und jetzt funktioniert es.

Speicherort für Windows-Benutzerdateien : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Für den Speicherort der Linux-Benutzerdatei : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Bearbeiten:

Für manche Menschen SDK Stelle zurückgesetzt wird geholfen Quelle .

Luke
quelle
Ich habe versucht, aber dies funktioniert nicht in Android Studio 2.1, Ubuntu 16.04
L. Swifter
14
Jemand hier hat geschrieben, dass das Zurücksetzen des SDK-Speicherorts hilfreich ist. Sie können auch versuchen, API-Quellen im SDK-Manager neu zu installieren und sicherzustellen, dass jdk.table.xml einen Eintrag zum richtigen Pfad für die von Ihnen verwendete API-Ebene enthält.
Luke
2
Das Zurücksetzen des SDK-Speicherorts hat wirklich geholfen, auch wenn ich die Datei jdk.table.xml nicht geändert habe.
L. Swifter
1
für Mac Benutzer ist das gleiche: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan
8

Wie qbeck in seinem Kommentar erwähnt hat, hat das Zurücksetzen des Pfads zum SDK das Problem für einige von uns behoben.

Lösung:

Android Studio 2.1-Berichterstellung in: Das Problem wurde durch Zurücksetzen des SDK behoben.

Einstellungen -> Aussehen und Verhalten -> Systemeinstellungen -> Android SDK.

Klicken Sie rechts neben dem Speicherort des Android SDK auf Bearbeiten. Weiter, weiter, weiter, um den Assistenten und voila zu vervollständigen!

vman
quelle
1
Dies behebt das Problem in Android Studio 2.3 mit SDK 25
Jon
unter Linux ist es:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
Lenooh
3

Das gleiche Problem trat für API Level 28 unter Android Studio 3.2.1 unter Windows 10 auf. Die Aktualisierung funktionierte nicht.

Funktionierte nach dem Neustart von Android Studio.

Matt
quelle
1

Um Ihr Android Studio auf Api 23 zu aktualisieren, gehen Sie zu:

Tools > Android > SDK Manager,

Sie können dann zur SDK ToolsRegisterkarte gehen oder auf klicken Launch Sdandalone SDK Manager. Überprüfen Sie Android SDK Build-tools 23.0.2die Installation

Aktualisieren:

Bitte entfernen Sie aus Ihren Abhängigkeiten:

compile project(':volley')

und ersetzen Sie es durch:

compile 'com.android.volley:volley:1.0.0'
Mounir Elfassi
quelle
1
Ich habe bereits API 23 (SDK-Plattform, Tools, Dokumente, Quellen) installiert. Tatsächlich habe ich versucht, alles neu zu installieren, aber es hat nicht geholfen.
Luke
ok, ich denke, das Problem hängt mit der Volleybibliothek zusammen. Bitte überprüfen Sie meine aktualisierte Antwort
Mounir Elfassi
Immer noch nichts. Ich habe sogar ein neues Projekt ohne externe Elemente eingerichtet und es ist immer noch dasselbe. Es sieht nach mehr Android Studio-bezogenen Problemen aus.
Luke
mmm, bitte bereinigen Sie Ihr Projekt => erstellen Sie die Gradle-Konsole unten rechts in Android Studio neu und überprüfen Sie sie. Aktualisieren Sie Ihre Frage mit dem Protokoll, das Sie sehen
Mounir Elfassi
Ich habe eine Ausgabe von gradle für ein anderes (leeres) Projekt angehängt, bei dem die gleichen Dinge passieren. Ich schätze Ihre Hilfe.
Luke
0

Manchmal gab es 2 Fehler, der erste sagte: "Plattform Android 28 nicht gefunden", klicken Sie auf "Weiter", "Lizenzvereinbarung akzeptieren ...". Sobald Sie die Vereinbarung akzeptieren, verschwinden beide Fehler.

Krishna
quelle