Sources pour la plate-forme Android API 23 introuvables (Android Studio 2.0)

99

Android Studio ne me redirige pas correctement vers les sources API. Lorsque je frappe une fonction, il décompile le bytecode du fichier .class au lieu d'accéder au bon fichier à partir de l'arborescence sdk / sources. Les options "télécharger" et "rafraîchir" ne font rien. C'est particulièrement ennuyeux pour l'implémentation des écouteurs car il génère des têtes de fonctions 'headers sans variables' manes à partir de la documentation (ie var1, var2 etc.). J'ai installé l'API 23 (plate-forme SDK, outils, documents, sources). J'ai mis le SDK de compilation et de cible à 23. J'ai essayé de réinstaller les outils du SDK, de mettre à jour AS à partir du canal Canary, d'invalider le cache mais rien n'a aidé jusqu'à présent. Je suis passé à l'API 21 et cela fonctionne très bien.

Qu'est-ce que je rate?

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

Ci-dessous vous pouvez trouver la sortie gradle pour un projet vierge (sans bibliothèques tierces) avec le même jeu d'API 23 et le même comportement.

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
la source
s'il vous plaît montrer votre fichier de graduation
Mounir Elfassi
J'ai attaché mon build.gradle. Merci pour la réponse
Luke
l'utilisez-vous sous Linux?
Aamir Abro
Je suis confronté au même problème
Aamir Abro
2
cela l'a résolu pour moi stackoverflow.com/a/26352763/1308530
Aamir Abro

Réponses:

211

Apparemment, ce problème a été résolu dans Android Studio 2.1. Réexécutez la configuration du gestionnaire de SDK Android dans Android Studio et cela devrait résoudre votre problème.

Dans Android Studio:

Windows: Fichier -> Paramètres (ctrl + alt + s) -> Apparence et comportement -> Paramètres système -> SDK Android.

Mac: Android Studio -> Préférences (cmd +,) -> Apparence et comportement -> Paramètres système -> SDK Android.

Cliquez sur Modifier à droite de l'emplacement du SDK Android. Cliquez sur Suivant tout au long de l'assistant et cela devrait résoudre le problème.

Cela a été répondu ici pour une question différente.

Miguel Lavigne
la source
3
Redémarrez pour le faire vivre.
Kai Wang
1
Brillant! Tu es un champion. La réimportation a résolu le problème pour moi.
Robert Massaioli
2
Voudriez-vous m'épouser?
Andrea Baccega
2
Quelqu'un fait-il fonctionner cela avec Android Studio 2.3.3 et l'API 26? Le problème est exactement le même dans ce scénario, mais suivre ces instructions et redémarrer n'a pas aidé.
jwBurnside
Toujours pertinent pour AS 3.1.3. Merci!
Andrey Rankov
47

Pour les personnes confrontées au même problème, la solution est dans ce post pour Linux et dans le même sujet ici pour Windows (merci à Aamir Abro ). Fondamentalement, vous devez modifier le fichier jdk.table.xml pour le niveau d'API qui vous manque. Je ne sais pas pourquoi, mais Android 2.0 et 2.1 RC n'ont pas rempli <root type="composite" />dans <sourcePath>. J'ai mis à jour le chemin des sources <root type="simple" url="file://D:/android/sdk/sources/android-23" />et maintenant cela fonctionne.

Pour l' emplacement du fichier utilisateur Windows : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Pour l' emplacement du fichier utilisateur Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Éditer:

Pour certaines personnes, la réinitialisation de l'emplacement du SDK a aidé à la source .

Luke
la source
J'ai essayé, mais cela ne fonctionne pas dans Android Studio 2.1, Ubuntu 16.04
L. Swifter
14
Quelqu'un ici a écrit que la réinitialisation de l'emplacement du SDK a aidé. Vous pouvez également essayer de réinstaller les sources d'API dans le gestionnaire de SDK et vous assurer que jdk.table.xml a une entrée dans le bon chemin pour le niveau d'API que vous utilisez.
Luc
2
La réinitialisation de l'emplacement du SDK a vraiment aidé, même si je n'ai pas modifié le jdk.table.xml.
L. Swifter
1
pour l'utilisateur Mac est le même: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan
1
Il y a un problème à ce sujet: code.google.com/p/android/issues/detail?id=207555
tse
8

Comme qbeck l'a mentionné dans son commentaire, la réinitialisation du chemin d'accès au SDK a résolu le problème pour certains d'entre nous.

Solution:

Rapports Android Studio 2.1 dans: résolu le problème en réinitialisant le SDK.

Préférences -> Apparence et comportement -> Paramètres système -> SDK Android.

Cliquez sur Modifier à droite de l'emplacement du SDK Android. Ensuite, ensuite, à côté de terminer l'assistant et le tour est joué!

vman
la source
1
Cela a résolu le problème dans le studio Android 2.3 avec SDK 25
Jon
sur Linux c'est:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
3

J'ai rencontré le même problème pour le niveau d'API 28 sur Android Studio 3.2.1 sous Windows 10. L'actualisation n'a pas fonctionné.

A fonctionné après le redémarrage d'Android Studio.

Mat
la source
1

pour mettre à jour votre Android Studio vers Api 23, accédez à:

Tools > Android > SDK Manager,

vous pouvez aller puis aller à l' SDK Toolsonglet ou cliquer sur Launch Sdandalone SDK Manager. vérifierAndroid SDK Build-tools 23.0.2 pour installer

Mettre à jour:

veuillez supprimer de vos dépendances:

compile project(':volley')

et remplacez-le par:

compile 'com.android.volley:volley:1.0.0'
Mounir Elfassi
la source
1
J'ai déjà installé l'API 23 (plateforme SDK, outils, docs, sources). En fait, j'ai essayé de tout réinstaller, mais je n'ai pas aidé.
Luc
ok, je pense que le problème est lié à la bibliothèque de volley. s'il vous plaît vérifier ma réponse mise à jour
Mounir Elfassi
Toujours rien. J'ai même configuré un nouveau projet sans aucun externe et c'est toujours le même. Cela ressemble à un autre problème lié à Android Studio.
Luke
mmm, veuillez nettoyer votre projet => reconstruire et vérifier la console gradle en bas à droite du studio android .. mettre à jour votre question avec le journal que vous voyez
Mounir Elfassi
J'ai joint une sortie de gradle pour un autre projet (vide), où les mêmes choses se produisent. J'apprécie ton aide.
Luc
0

Il y aurait parfois 2 erreurs, la première disait: «plate-forme android 28 introuvable», cliquez sur suivant, «acceptez un accord de licence…». Une fois que vous acceptez l'accord, les deux erreurs disparaîtront.

Krishna
la source