Fontes para Android API 23 Platform não encontradas (Android Studio 2.0)

99

O Android Studio não me redireciona para fontes de API corretamente. Quando eu acerto qualquer função, ele descompila o bytecode do arquivo .class em vez de acessar o arquivo correto da árvore sdk / sources. Clicar nas opções "baixar" e "atualizar" não faz nada. É particularmente irritante para implementar ouvintes, uma vez que gera cabeçalhos de funções sem manes de variáveis ​​da documentação (ou seja, var1, var2 etc.). Eu instalei a API 23 (plataforma SDK, ferramentas, documentos, fontes). Eu configurei a compilação e o SDK de destino como 23. Tentei reinstalar as ferramentas do SDK, atualizar o AS do canal canário, invalidar o cache, mas nada ajudou até agora. Mudei para a API 21 e funciona bem.

o que estou perdendo?

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

Abaixo você pode encontrar a saída do Gradle para um projeto em branco (sem bibliotecas de terceiros) com o mesmo conjunto de API 23 e o mesmo 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
Lucas
fonte
mostre seu arquivo gradle
Mounir Elfassi
Anexei meu build.gradle. Obrigado pela resposta
Lucas
você está usando no Linux?
Aamir Abro
Estou enfrentando o mesmo problema
Aamir Abro
2
isso resolveu para mim stackoverflow.com/a/26352763/1308530
Aamir Abro

Respostas:

211

Aparentemente, esse problema foi corrigido no Android Studio 2.1. Execute novamente a configuração do Android SDK Manager no Android Studio e isso deve resolver o seu problema.

No Android Studio:

Windows: Arquivo -> Configurações (ctrl + alt + s) -> Aparência e comportamento -> Configurações do sistema -> Android SDK.

Mac: Android Studio -> Preferências (cmd +,) -> Aparência e comportamento -> Configurações do sistema -> SDK do Android.

Clique em Editar à direita do local do Android SDK. Clique em Avançar em todo o assistente e isso deve resolver o problema.

Isso foi respondido aqui para uma pergunta diferente.

Miguel Lavigne
fonte
3
Reinicie para torná-lo ativo.
Kai Wang
1
Brilhante! Você é um campeão. A reimportação resolveu o problema para mim.
Robert Massaioli
2
Você se casaria comigo?
Andrea Baccega
2
Alguém fez isso funcionar com o Android Studio 2.3.3 e a API 26? O problema é exatamente o mesmo neste cenário, mas seguir essas instruções e reiniciar não ajudou.
jwBurnside
Ainda relevante para AS 3.1.3. Obrigado!
Andrey Rankov
47

Para pessoas que enfrentam o mesmo problema, a solução está neste post para Linux e no mesmo tópico aqui para Windows (agradecimento a Aamir Abro ). Basicamente, você deve editar o arquivo jdk.table.xml para o nível de API que está faltando. Eu não sei por que, mas o Android 2.0 e 2.1 RC não ter preenchido <root type="composite" />no <sourcePath>. Eu atualizei o caminho das fontes <root type="simple" url="file://D:/android/sdk/sources/android-23" />e agora funciona.

Para localização do arquivo de usuário do Windows : C: \ Usuários {USER_NAME} .AndroidStudio2.0 \ config \ options \ jdk.table.xml

Para localização do arquivo do usuário Linux : ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml

Editar:

Para algumas pessoas, redefinir a localização do SDK ajudou a fonte .

Lucas
fonte
Eu tentei, mas isso não funciona no Android Studio 2.1, Ubuntu 16.04
L. Swifter
14
Alguém aqui escreveu que redefinir o local do SDK ajudou. Você também pode tentar reinstalar as fontes de API no gerenciador de SDK e certificar-se de que jdk.table.xml tenha uma entrada para o caminho correto para o nível de API que você está usando.
Lucas
2
Redefinir a localização do SDK realmente ajudou, mesmo eu não modifiquei o jdk.table.xml.
L. Swifter
1
para o usuário Mac é o mesmo: ~ / Library / Preferences / AndroidStudioBeta / options / jdk.table.xml
evan
1
Há um problema sobre isso: code.google.com/p/android/issues/detail?id=207555
tse
8

Como qbeck mencionou em seu comentário, redefinir o caminho para o SDK corrigiu o problema para alguns de nós.

Solução:

Relatório do Android Studio 2.1 em: resolveu o problema redefinindo o SDK.

Preferências -> Aparência e comportamento -> Configurações do sistema -> Android SDK.

Clique em Editar à direita da localização do Android SDK. Em seguida, próximo, próximo para concluir o assistente e voila!

vman
fonte
1
Isso corrigiu o problema no Android Studio 2.3 c / SDK 25
Jon
no Linux é:File -> Settings -> Appearance&Behavior -> System Settings -> Android SDK
lenooh
3

O mesmo problema foi encontrado para a API de nível 28 no Android Studio 3.2.1 no Windows 10. A atualização não funcionou.

Funcionou após reiniciar o Android Studio.

Matt
fonte
1

para atualizar seu Android Studio para Api 23, vá para:

Tools > Android > SDK Manager,

você pode acessar a SDK Toolsguia ou clicar em Launch Sdandalone SDK Manager. verifique Android SDK Build-tools 23.0.2para instalar

Atualizar:

por favor, remova de suas dependências:

compile project(':volley')

e substitua por:

compile 'com.android.volley:volley:1.0.0'
Mounir Elfassi
fonte
1
Já instalei a API 23 (plataforma SDK, ferramentas, documentos, fontes). Na verdade, tentei reinstalar tudo, mas não adiantou.
Lucas
ok, acho que o problema está relacionado à biblioteca de vôlei .. verifique minha resposta atualizada
Mounir Elfassi
Nada ainda. Eu até configurei um novo projeto sem nenhum externo e ainda é o mesmo. Parece mais um problema relacionado ao Android Studio.
Lucas
mmm, limpe seu projeto => reconstruir e verifique o console do gradle no canto inferior direito do android studio .. atualize sua pergunta com o log que você vê
Mounir Elfassi
Anexei uma saída do gradle para outro projeto (em branco), onde as mesmas coisas acontecem. Eu aprecio sua ajuda.
Lucas
0

Às vezes, haveria 2 erros, o primeiro diria: 'plataforma android 28 não encontrada', clique em próximo, 'aceitar algum contrato de licença ...'. Depois de aceitar o acordo, ambos os erros desaparecerão.

Krishna
fonte