Fonti per la piattaforma Android API 23 non trovata (Android Studio 2.0)


99

Android Studio non mi reindirizza correttamente alle origini API. Quando premo una qualsiasi funzione, decompila il bytecode del file .class invece di accedere al file corretto dall'albero sdk / sources. Premendo le opzioni "download" e "aggiornamento" non ha effetto. È particolarmente fastidioso per l'implementazione dei listener poiché genera gli header delle funzioni senza le criniere delle variabili dalla documentazione (es. Var1, var2 ecc.). Ho installato API 23 (piattaforma SDK, strumenti, documenti, sorgenti). Ho impostato la compilazione e l'SDK di destinazione su 23. Ho provato a reinstallare gli strumenti SDK, aggiornare AS dal canale canary, invalidare la cache ma finora non è servito a niente. Sono passato all'API 21 e funziona bene.

Cosa mi sto perdendo?

Il mio 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'
}

Di seguito puoi trovare l'output gradle per un progetto vuoto (senza librerie di terze parti) con lo stesso set di API 23 e lo stesso comportamento.

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

si prega di mostrare il file gradle
Mounir Elfassi

Ho allegato il mio file build.gradle. Grazie per la risposta
Luca

lo stai usando su Linux?
Aamir Abro

Sto affrontando lo stesso problema
Aamir Abro

2
questo lo ha risolto per me stackoverflow.com/a/26352763/1308530
Aamir Abro

Risposte:


211

Apparentemente questo problema è stato risolto in Android Studio 2.1. Riesegui la configurazione di Android SDK Manager in Android Studio e questo dovrebbe risolvere il tuo problema.

In Android Studio:

Windows: File -> Impostazioni (ctrl + alt + s) -> Aspetto e comportamento -> Impostazioni di sistema -> Android SDK.

Mac: Android Studio -> Preferenze (cmd +,) -> Aspetto e comportamento -> Impostazioni di sistema -> Android SDK.

Fare clic su Modifica a destra della posizione dell'SDK Android. Fare clic su Avanti per tutto il percorso della procedura guidata e questo dovrebbe risolvere il problema.

Questa è stata risposta qui per una domanda diversa.


3
Riavvia per farlo vivere.
Kai Wang

1
Brillante! Sei un campione. La reimportazione ha risolto il problema per me.
Robert Massaioli

2
Vuoi sposarmi?
Andrea Baccega

2
Qualcuno riesce a farlo funzionare con Android Studio 2.3.3 e API 26? Il problema è esattamente lo stesso in questo scenario, ma seguire queste istruzioni e riavviare non ha aiutato.
jw Burnside

Ancora rilevante per AS 3.1.3. Grazie!
Andrey Rankov

47

Per le persone che affrontano lo stesso problema, la soluzione è in questo post per Linux e nello stesso argomento qui per Windows (grazie ad Aamir Abro ). Fondamentalmente, devi modificare il file jdk.table.xml per il livello API che ti manca. Non so perché, ma Android 2.0 e 2.1 RC non ho riempito <root type="composite" />in <sourcePath>. Ho aggiornato il percorso delle fonti <root type="simple" url="file://D:/android/sdk/sources/android-23" />e ora funziona.

Per il percorso del file utente Windows : C: \ Users {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Per la posizione del file utente Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Modificare:

Per alcune persone la reimpostazione della posizione dell'SDK ha aiutato la fonte .


Ho provato, ma non funziona in Android Studio 2.1, Ubuntu 16.04
L. Swifter

14
Qualcuno qui ha scritto che la reimpostazione della posizione dell'SDK ha aiutato. Puoi anche provare a reinstallare le origini API nel gestore SDK e assicurarti che jdk.table.xml abbia una voce nel percorso corretto per il livello API che stai utilizzando.
Luca

2
Il ripristino della posizione dell'SDK ha davvero aiutato, anche se non ho modificato jdk.table.xml.
L. Swifter

1
per l'utente Mac è lo stesso: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan

1
tse

8

Come qbeck ha menzionato nel suo commento, la reimpostazione del percorso dell'SDK ha risolto il problema per alcuni di noi.

Soluzione:

Segnalazione di Android Studio 2.1 in: risolto il problema reimpostando l'SDK.

Preferenze -> Aspetto e comportamento -> Impostazioni di sistema -> SDK Android.

Fare clic su Modifica a destra della posizione dell'SDK Android. Avanti, avanti, avanti per completare la procedura guidata e voilà!


1
Questo ha risolto il problema in Android Studio 2.3 con SDK 25
Jon

su Linux è:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh

3

È stato riscontrato lo stesso problema per il livello API 28 su Android Studio 3.2.1 su Windows 10. L'aggiornamento non funzionava.

Ha funzionato dopo il riavvio di Android Studio.


1

per aggiornare il tuo Android Studio ad Api 23 vai a:

Tools > Android > SDK Manager,

puoi andare quindi andare alla SDK Toolsscheda o fare clic su Launch Sdandalone SDK Manager. dai un'occhiataAndroid SDK Build-tools 23.0.2 per installare

Aggiornare:

per favore, rimuovi dalle tue dipendenze:

compile project(':volley')

e sostituiscilo con:

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

1
Ho già installato API 23 (piattaforma SDK, strumenti, documenti, sorgenti). In effetti ho provato a reinstallarlo tutto, ma non ho aiutato.
Luca

ok, penso che il problema sia legato alla libreria di volley .. controlla la mia risposta aggiornata
Mounir Elfassi

Ancora niente. Ho persino creato un nuovo progetto senza elementi esterni ed è sempre lo stesso. Sembra più un problema relativo ad Android Studio.
Luca

mmm, per favore ripulisci il tuo progetto => ricostruisci e controlla la console gradle in basso a destra di Android Studio .. aggiorna la tua domanda con il log che vedi
Mounir Elfassi

Ho allegato un output di gradle per un altro progetto (vuoto), in cui accadono le stesse cose. Apprezzo il vostro aiuto.
Luca

0

A volte si verificano 2 errori, il primo dice: "piattaforma Android 28 non trovata", fare clic su Avanti, "accetta un contratto di licenza ...". Una volta accettato l'accordo, entrambi gli errori scompariranno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.