Nie znaleziono źródeł dla platformy Android API 23 (Android Studio 2.0)

99

Android Studio nie przekierowuje mnie poprawnie do źródeł API. Kiedy trafię na jakąkolwiek funkcję, dekompiluje kod bajtowy pliku .class zamiast uzyskać dostęp do odpowiedniego pliku z drzewa sdk / sources. Kliknięcie opcji „pobierz” i „odśwież” nic nie daje. Jest to szczególnie denerwujące w przypadku implementowania detektorów, ponieważ generuje nagłówki funkcji bez zmiennych z dokumentacji (tj. Var1, var2 itp.). Zainstalowałem API 23 (platforma SDK, narzędzia, dokumenty, źródła). Ustawiłem kompilację i docelowy zestaw SDK na 23. Próbowałem ponownie zainstalować narzędzia SDK, zaktualizować AS z kanału canary, unieważnić pamięć podręczną, ale jak dotąd nic nie pomogło. Przerzuciłem się na API 21 i działa dobrze.

czego mi brakuje?

Mój 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'
}

Poniżej możesz znaleźć wyjście gradle dla pustego projektu (bez bibliotek innych firm) z tym samym zestawem API 23 i tym samym zachowaniem.

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
Łukasz
źródło
proszę pokazać plik gradle
Mounir Elfassi
Dołączyłem mój build.gradle. Dzięki za odpowiedź
Luke
czy używasz go w systemie Linux?
Aamir Abro
Mam ten sam problem
Aamir Abro
2
to rozwiązało to dla mnie stackoverflow.com/a/26352763/1308530
Aamir Abro

Odpowiedzi:

211

Najwyraźniej ten problem został rozwiązany w Android Studio 2.1. Uruchom ponownie konfigurację Menedżera Android SDK w Android Studio i to powinno rozwiązać problem.

W Android Studio:

Windows: Plik -> Ustawienia (ctrl + alt + s) -> Wygląd i zachowanie -> Ustawienia systemowe -> Android SDK.

Mac: Android Studio -> Preferencje (cmd +,) -> Wygląd i zachowanie -> Ustawienia systemu -> Android SDK.

Kliknij Edytuj po prawej stronie lokalizacji Android SDK. Kliknij przycisk Dalej w kreatorze, co powinno rozwiązać problem.

Ten odpowiedział tutaj dla innej kwestii.

Miguel Lavigne
źródło
3
Uruchom ponownie, aby zacząć działać.
Kai Wang
1
Znakomity! Jesteś mistrzem. Ponowne importowanie rozwiązało problem.
Robert Massaioli
2
Wyjdziesz za mnie?
Andrea Baccega,
2
Czy ktoś może to współpracować z Android Studio 2.3.3 i API 26? Problem jest dokładnie taki sam w tym scenariuszu, ale wykonanie tych instrukcji i ponowne uruchomienie nie pomogło.
jwBurnside,
Nadal istotne dla AS 3.1.3. Dzięki!
Andrey Rankov
47

Dla osób borykających się z tym samym problemem rozwiązanie jest w tym poście dla Linuksa iw tym samym temacie tutaj dla Windows (dzięki Aamir Abro ). Zasadniczo musisz edytować plik jdk.table.xml dla brakującego poziomu API. Nie wiem dlaczego, ale z Androidem 2.0 i 2.1 RC nie zostały wypełnione <root type="composite" />w <sourcePath>. Zaktualizowałem ścieżkę źródeł <root type="simple" url="file://D:/android/sdk/sources/android-23" />i teraz działa.

Lokalizacja pliku użytkownika systemu Windows : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Lokalizacja pliku użytkownika systemu Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Edytować:

Dla niektórych osób zresetowanie lokalizacji SDK pomogło w źródle .

Łukasz
źródło
Próbowałem, ale to nie działa w Android Studio 2.1, Ubuntu 16.04
L.Swifter
14
Ktoś tutaj napisał, że pomogło zresetowanie lokalizacji SDK. Możesz również spróbować ponownie zainstalować źródła API w menedżerze SDK i upewnić się, że jdk.table.xml ma wpis do właściwej ścieżki dla używanego poziomu API.
Luke
2
Zresetowanie lokalizacji SDK naprawdę pomogło, nawet ja nie modyfikowałem jdk.table.xml.
L. Swifter
1
dla Mac Użytkownik jest taka sama: ~ / Library / Preferences / AndroidStudioBeta / Opcje / jdk.table.xml
Evan
8

Jak wspomniał qbeck w swoim komentarzu, zresetowanie ścieżki do SDK rozwiązało problem dla niektórych z nas.

Rozwiązanie:

Raportowanie Android Studio 2.1 w: rozwiązano problem, resetując pakiet SDK.

Preferencje -> Wygląd i zachowanie -> Ustawienia systemowe -> Android SDK.

Kliknij Edytuj po prawej stronie lokalizacji Android SDK. Następnie, obok, aby zakończyć kreatora i voila!

vman
źródło
1
To rozwiązało problem w Android Studio 2.3 z SDK 25
Jon
w systemie Linux jest to:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
3

Napotkano ten sam problem dla poziomu API 28 w Android Studio 3.2.1 w systemie Windows 10. Odświeżanie nie działa.

Działał po ponownym uruchomieniu Android Studio.

Matt
źródło
1

aby zaktualizować Android Studio do Api 23 przejdź do:

Tools > Android > SDK Manager,

możesz przejść, a następnie przejść do SDK Toolszakładki lub kliknąć Launch Sdandalone SDK Manager. sprawdź, Android SDK Build-tools 23.0.2aby zainstalować

Aktualizacja:

proszę, usuń ze swoich zależności:

compile project(':volley')

i zamień na:

compile 'com.android.volley:volley:1.0.0'
Mounir Elfassi
źródło
1
Mam już zainstalowane API 23 (platforma SDK, narzędzia, dokumenty, źródła). W rzeczywistości próbowałem zainstalować wszystko ponownie, ale nie pomogło.
Luke
ok, myślę, że problem jest związany z biblioteką volley .. proszę sprawdzić moją zaktualizowaną odpowiedź
Mounir Elfassi
Wciąż nic. Skonfigurowałem nawet nowy projekt bez żadnych zewnętrznych elementów i nadal jest taki sam. Wygląda na to, że problem związany jest z Androidem Studio.
Luke
mmm, należy oczyścić swój projekt => odbudować i sprawdzić Gradle konsolę w prawym dolnym rogu android studio .. aktualizować swoje pytanie z dziennika widać
Mounir Elfassi
Dołączyłem wyjście z gradle dla innego (pustego) projektu, w którym dzieje się to samo. Doceniam twoją pomoc.
Luke
0

Czasami pojawiały się 2 błędy, pierwszy brzmiał: „platforma android 28 nie została znaleziona”, kliknij dalej, „zaakceptuj umowę licencyjną ...”. Po zaakceptowaniu umowy oba błędy znikną.

Kryszna
źródło