O Android Studio de repente não consegue resolver símbolos


207

O Android Studio 0.4.2 estava funcionando bem e hoje eu o abri e quase tudo estava vermelho e a conclusão automática parou de funcionar. Olho para as importações e o AS parece estar me dizendo que não consegue encontrar o android.support.v4 de repente (oferecendo-me a opção de remover as importações não utilizadas). ( android.support.v7 parece estar bem).

Coisas que tentei:

  • Reconstruindo o Projeto
  • Limpando o projeto
  • Sincronizando com arquivos Gradle
  • Fechando o Projeto, fechando o AS e reiniciando / reabrindo
  • Arquivo> Invalidar caches / reiniciar
  • Examinando Lint, não vi nada óbvio
  • A verificação dupla de todas as bibliotecas de suporte está atualizada no gerenciador do SDK
  • Examinando meu Build.gradle, embora não haja alterações e seja o mesmo de sempre, do jeito que estava funcionando o tempo todo.

Aqui está, caso seja relevante:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Quando clico em "Sincronizar com o Gradle" e abro "Configurações do projeto", recebo um erro vermelho ao dizer que tenho referências de bibliotecas duplicadas e para remover as não utilizadas. insira a descrição da imagem aqui

Meu projeto compila e executa bem, mas eu realmente preciso do preenchimento automático funcionando !! Alguém tem alguma sugestão?

insira a descrição da imagem aqui


66
Toda atualização do Android Studio quebra projetos, já estou cansada disso. Por que eles não podem esperar e lançar uma versão utilizável.
Konrad Morawski

3
Antes de limpar ou remover qualquer arquivo, leia esta resposta primeiro. Isso pode resolver seu problema. stackoverflow.com/a/19223269/513413
Hesam

16
"Invalidar caches / reiniciar" funcionou para mim.
11135 Eagle_Eye

1
Teve o mesmo problema e corrigido com a resposta sobre este SO postar stackoverflow.com/a/30828772/1550233
johnw182

aceitar essa resposta para que os usuários não vai apagar tudo manualmente stackoverflow.com/a/22901534/7767664
user924

Respostas:


238

Você já desceu a lista da maioria das coisas úteis, mas pode tentar:

  • Sair do Android Studio
  • Faça backup do seu projeto
  • Exclua todos os arquivos .iml e a pasta .idea
  • Relance o Android Studio e reimporte seu projeto

A propósito, as mensagens de erro que você vê na caixa de diálogo Estrutura do projeto são em sua maioria falsas.

ATUALIZAR:

O Android Studio 0.4.3 está disponível no canal de atualização do canary e, esperamos, deve resolver a maioria desses problemas. Pode haver alguns problemas remanescentes; se você os vir na 0.4.3, informe-nos e tente fornecer um conjunto confiável de etapas para reproduzir, para garantir que cuidamos de todos os caminhos de código.


3
Isso funcionou para mim. Eu estava enlouquecendo com isso, um dia inteiro tentando descobrir! Obrigado pela resposta.
Patrick Kafka

25
Para mim, bastava excluir a pasta de bibliotecas em .idea e o projeto de sincronização de imprensa com gradle.
Gabriel Ittner 22/01

2
Eu tenho o mesmo problema com 0.8.9 e tentei todas as soluções listadas aqui sem sorte :(
Rémy DAVID

3
Não funcionou para mim no AndroidStudio 1.2 RC. Isso é um pesadelo.
RED_

7
Isso ainda está acontecendo em 2018 e sua resposta foi útil. Eu gostaria que isso fosse corrigido ... Aconteceu no AS 3.1.1.
Demogorii

302

Nenhuma das coisas mencionadas anteriormente aqui realmente funcionou para mim. Mas então eu encontrei essa entrada no menu arquivo Invalidate Caches/Restartque parece ter corrigido o problema.

Eu realmente não sei o que aconteceu em segundo plano, mas quando o Android Studio foi iniciado novamente, a barra de status disse Indexing...por um minuto mais ou menos o que aparentemente fez maravilhas.

Para referência, estou usando o Android Studio 0.5.4.


2
Trabalhou para mim em 0.5.9
Father Stack

19
Para mim, tive uma falha de energia quando o Android Studios 0.8.2 estava carregando e ele não reconhece nenhuma das minhas importações de java e tudo estava vermelho. Isso funcionou para mim, obrigado!
Simon

2
Estou usando o android studio 1.0.2, quando abri meu projeto, estava cheio de erros em vermelho. Eu o resolvi pelo android studio -> arquivo -> invalidar chaches / restart. quando o meu projeto reiniciou, funcionou ... sem erros vermelhos
SoftEye 28/01

4
Android Studio 1.1.0. Eu também tive uma falha de energia, e isso fez o truque.
Phito 27/03

2
Agora, essa deve ser a resposta correta. Eu confirmei com o Android Studio 1.4 final.
9788 Davideas

58

Passe o link e funcionou para mim.

1.) Escolha a opção Arquivo no menu no lado superior esquerdo do android studio.

2.) Selecione a opção: "Invalidar cache / reiniciar .." Ele abrirá uma caixa de diálogo.

3.) Clique no primeiro botão com a opção: "Invalidar e reiniciar"

4.) Ele fechará o estúdio e o reiniciará. Inicie a indexação do projeto.

Resolveu o meu problema:

Arquivo -> Invalidar cache / reiniciar -> Invalidar e reiniciar

Fonte: https://www.youtube.com/watch?v=FX_gCTpqhwM


1
para Android Studio 3 ou superior: stackoverflow.com/questions/50313885/…
user1506104

Trabalhou para mim no Android Studio 3.5.3
flawyte 8/01

13

Android Studio 1.3

  1. Configurações do módulo aberto
  2. Clique no seu módulo no menu Módulos
  3. Na guia Propriedades , defina a Compatibilidade de Origem e Compatibilidade de Destino como sua versão java.

Eu não fiz mais nada e funcionou para mim.


Onde posso encontrar as configurações do módulo?
bendaf

3
@bendaf Clique com o botão direito do mouse no seu módulo no explorer e selecione "Open Module Settings"
Jason Robinson

Essas configurações também podem ser encontrados no Arquivo -> Estrutura do Projeto -> Propriedades
ChumiestBucket

10

Para mim, foi uma entrada de construção "progaurd" no meu build.gradle. Eu removi toda a seção de compilação, depois fiz uma ressincronização e o problema foi resolvido.


Trabalhou para mim! Obrigado! Usando canary build 1.0RC 1. Usando minifyEnabled trueou minifyEnabled falsenão definindo proguardFiles.
Kalem

Além disso, não esqueça que os projetos AndroidLibrary não executam proguard stackoverflow.com/a/10992604/665823 .
Kalem

4

Estou usando o Android Studio 3.1.4 e estava com esse problema ao passar do ramo de desenvolvimento com um alvo de API mais baixo para outro ramo com API de destino Oreo. Tentei a primeira solução que funcionou, mas é bastante complicada, enquanto a segunda solução não resolveu o problema.

Minha solução Quando o problema voltou à tona, tentei modificar um pouco o arquivo de classificação do aplicativo o suficiente para que o AS me pedisse para sincronizar arquivos, e isso foi o que fez. Então eu apaguei a alteração.

Eu acho que o "Sincronizar projeto com arquivos Gradle" também pode funcionar, mas eu mesmo não tentei

Espero que ajude


3

Existe uma solução muito mais fácil embutida no Android Studio e, geralmente, funciona para mim sem precisar de nenhuma solução de força bruta mencionada em outras respostas - portanto, tente primeiro: insira a descrição da imagem aqui

clique no símbolo "gradle" no lado direito do Android Studio e, em seguida, na ferramenta "Atualizar todos os projetos da Gradle".


2

Pensei que eu jogaria isso lá fora também:

o que funcionou para mim foi alterar minha variante de compilação de volta para uma variante que estava funcionando anteriormente. Por alguma razão, eu havia mudado isso antes (e esqueci o porquê).

de qualquer maneira, a melhor coisa a fazer é tentar lembrar o que você mudou naquele dia (pode ser algo tão pequeno quanto limpar ou voltar a um commit anterior do git) ... etc.

também ajuda a tentar ressincronizar o gradle e forçar uma reconstrução.


1

Lutou com o mesmo problema por algumas horas esta manhã. Construir meu projeto a partir da linha de comando parece ter feito o truque para mim.

Etapas exatas -

  1. Repositório novo clonado (não há arquivos de estúdio do Android em repositório)
  2. Projeto de depuração criado a partir da linha de comando (./gradlew clean assembleDebug)
  3. Abra o Android Studio, importe projeto

Para verificar se funcionou, procure na pasta de pacotes explodidos de projetos, inspecione uma biblioteca e encontre o classes.jar. Se for expansível, tudo ficará bem.

editar - eu encontrei depois de fazer uma limpeza no estúdio Android, ele quebrou novamente. Portanto, se você precisar limpar, precisará fazer esse processo novamente.


eu não sei qual foi o problema, mas obras assembleDebug limpo Gradle e eveything é bom para agora
Assassino

1

Nenhum desses métodos me ajudou no Android Studio 0.5.8.

Minha solução foi excluir o diretório ~ / .AndroidStudioPreview (no Ubuntu). Desculpe, não tenho ideia de onde está em outro sistema operacional. Este diretório armazena arquivos temporários e configurações do Android Studio, então eu perdi todas as minhas configurações. Mas funciona!


Trabalhou para mim também. (Android Studio 0.6.0 no sistema operacional elementar)
rogeriolino 18/06/2014

1

Outra maneira é baixar o JDK 1.7 e alterar o caminho do Android Studio na mensagem de erro ... e escolha a pasta Home que está contida na pasta Jdk 1.7


1

Hoje tenho o mesmo problema. Corrigido alterando a localização do jdk na estrutura do projeto de \java\jdk1.7.0_05para \java\jdk1.7.0_25(que eu não sabia que existia até agora).

Estou usando o Android Studio 0.8.6.



1

Tentei limpar o projeto e invalidar o cache, nenhum dos quais funcionou. O que funcionou para mim foi comentar todas as minhas dependências em build.gradle (app), sincronizar, descomentar novamente as dependências e sincronizar novamente. Bob é seu tio.


0

Eu enfrentei um problema semelhante, mas segui as seguintes etapas no meu caso: -

1) projeto .inside na pasta .idea, abra modules.xml. 2). Verifique se há duas entradas para o mesmo arquivo iml. 3) .delete uma entrada duplicada e feche o android studio ou crie o arquivo gradle novamente.

No meu caso, funcionou. Espero que ajude


0

Eu o resolvi definindo o JDK. Recebi um pop-up dizendo que o Setup JDK quando coloquei o mouse sobre o erro.


0

Eu tive o mesmo problema, nenhuma das soluções listadas aqui funcionou. O problema foi que meus arquivos de origem não estavam na pasta correta.

A estrutura de diretórios DEVE ser:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]


0

Finalmente descobri o que causa esse problema.

Na verdade, você deve evitar enviar a .idea/librariespasta para o seu repositório. Ele cria coisas estranhas no Android Studio, que tendem a remover todas as bibliotecas baixadas.

Se você tiver histórico de confirmação, recrie todos os arquivos de biblioteca ausentes e evite que eles sejam confirmados novamente. Caso contrário, basta remover a .ideapasta inteira e reimportá-la para o AS.


0

tente alterar seu build.gradle com estes valores:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

0

Uso preferências compartilhadas, mas o Android Studio reclamou do símbolo do Editor. Então eu adicionei

import android.content.SharedPreferences.Editor;

e o símbolo está legal agora.


0

Verifique se você possui um caminho de projeto com caracteres especiais como! (ponto de exclamação).

Em um problema semelhante ao que experimentei , essa foi a causa raiz - já que muitos aplicativos Java parecem não tolerar esses caracteres especiais (por exemplo, fazer uma limpeza gradlew do terminal falharia e lançaria uma RunTimeException.). Nenhuma das outras soluções postadas online me ajudou. Mas, depois que eu removi o! do caminho e fez uma compilação limpa, o Android Studio funcionou magicamente.


0

Eu tentei de tudo listado aqui. Em seguida, verifiquei meu androidmanifest.xml. Eu tive alguns problemas estúpidos devido a renomeação de pastas e renomeações de pacotes.


0

No meu projeto com vários módulos, o problema era que a versão do "com.android.support:appcompat-v7" no módulo A era "22.0.0", mas em B - "22.2.0".

Solução : verifique se a
versão 1. das bibliotecas comuns é a mesma entre os módulos.
2. cada um dos módulos é compilado sem erros (tente criar cada um deles a partir da CLI).


0

Esteja ciente de que o nome dos arquivos e especialmente das pastas pode resultar nesse erro. Por exemplo, se você tiver uma pasta "Helpers" e o pacote para arquivos nessa pasta for "com.whatever.helpers", isso não resultará em nenhum erro de compilação, mas fará com que o Android studio falhe ao carregar os símbolos nessa pasta . Uma razão típica para isso é quando você nomeia uma pasta com a primeira letra maiúscula, confirma-a no Git e depois altera o nome da pasta para todas as letras minúsculas. O sistema Git não reconhecerá a alteração, resultando em uma discrepância entre os repositórios locais e remotos pelos quais somente os novos clones do repositório serão afetados.



0

Eu tive uma solução muito mais estranha. Caso alguém se depare com isso, vale a pena conferir seu arquivo de classificação. Acontece que, enquanto eu clonava esse git e o gradle estava em execução, ele excluiu uma linha do meu arquivo build.gradle (app).

dependencies {
     provided files(providedFiles)

Obviamente, o problema aqui era apenas adicioná-lo novamente e sincronizar novamente com o gradle.


0

Eu tive um problema semelhante quando reconstruí um arquivo aar e substitui o antigo no meu projeto pelo novo. Passei por todas as soluções aqui e nenhuma resolveu meu problema. Mais tarde, percebi que o minifyEnabled havia sido definido como true no projeto da biblioteca, o que efetivamente removeu muito código morto que não estava sendo usado no projeto da biblioteca.

Minha solução foi definir minifyEnabled como false no projeto da biblioteca, montar o aar, copiá-lo no meu projeto, invalidar caches e sincronizar o projeto de classificação e tudo funcionou bem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.