101 votes

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

Android Studio ne me redirige pas correctement vers les sources de l'API. Lorsque je touche une fonction, elle décompile le bytecode du fichier .class au lieu d'accéder au bon fichier à partir de l'arbre sdk/sources. L'activation des options "download" et "refreshing" ne fait rien. C'est particulièrement ennuyeux pour l'implémentation des listeners puisqu'il génère des en-têtes de fonctions sans les noms de variables de la documentation (i.e. var1, var2 etc.). J'ai défini complie et target SDK à 23. J'ai essayé de réinstaller les outils SDK, de mettre à jour l'AS à partir du canal canari, d'invalider le cache mais rien n'a aidé jusqu'à présent. Je suis passé à l'API 21 et cela fonctionne bien. Que me manque-t-il ?

EDIT J'ai installé l'API 23 (plateforme SDK, outils, documentation, sources). Veuillez donc laisser un commentaire si vous voulez voter contre.

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

Vous trouverez ci-dessous les résultats de gradle pour un projet vide (sans librairies tierces) avec le même ensemble 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

214voto

Miguel Lavigne Points 1587

Apparemment, ce problème a été corrigé dans Android Studio 2.1. Relancez l'installation du gestionnaire SDK Android dans Android Studio et cela devrait résoudre votre problème.

Dans Android Studio :

Les fenêtres : 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 -> Android SDK.

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

Il a été répondu à cette question ici pour une autre question.

47voto

Luke Points 1286

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

Pour les utilisateurs de Windows emplacement du fichier : C:\Users {USER_NAME}.AndroidStudio2.0 \config\options\jdk.table.xml

Pour les utilisateurs de Linux emplacement du fichier : ~/Bibliothèque/Préférences/AndroidStudioBeta/options/jdk.table.xml

Edit :

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

8voto

vman Points 935

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

Solution :

Rapport sur Android Studio 2.1 : le problème a été résolu en réinitialisant le SDK.

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

Cliquez sur Editer à droite de l'emplacement du SDK Android. Suivant, suivant, suivant pour compléter l'assistant et voilà !

1voto

Mounir Elfassi Points 1595

Pour mettre à jour votre Android Studio vers Api 23, allez à :

Tools > Android > SDK Manager ,

vous pouvez aller puis aller à SDK Tools ou cliquez sur Launch Sdandalone SDK Manager . vérifier Android SDK Build-tools 23.0.2 pour installer

Mise à jour :

s'il vous plaît, supprimez-les de vos dépendances :

compile project(':volley')

et le remplacer par :

compile 'com.android.volley:volley:1.0.0'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X