Eu enfrentei dois problemas principais no Android Studio. Antes de tudo, não consigo executar as habilidades copiar e colar ( ctrl+ c- ctrl+ v- ctrl+ x) em algumas classes. Para corrigir esse problema, clique em "invalide caches / reiniciar", mas ele será quebrado novamente imediatamente.
O segundo problema é (acho que está relacionado ao primeiro problema) o compilador não reconhece métodos e atributos já definidos. A sugestão automática etc. não funciona.
As etapas que eu tomei para tentar corrigir o problema são;
- Arquivo -> invalide caches / reinicia,
- Arquivo -> Modo de economia de energia -> Desativar,
- Feche todas as guias abertas e reinicie novamente,
- Arquivo -> Sincronizar projeto com arquivos Gradle,
- Arquivo -> Sincronizar com o sistema de arquivos,
- Exclua o JDK e reinstale,
- Exclua o Android Studio e reinstale,
- Exclua os arquivos SDK já baixados e a pasta ".Android",
- Desative e exclua todos os plugins.
- Marcado copiar-colar keymap em Arquivo -> Configurações -> Keymap
- Puxou o projeto do bitbucket para diferentes 2 computadores
- Criado novo projeto, copie classes de projeto inteiras com o NotePad ++ para o novo Projeto
- Tente converter todos os códigos Java para Kotlin, não é possível converter
Aqui estão as especificações do meu sistema; Windows 10 Home Single Language (TR), versão 1909. RAM de 16 GB. Android Studio 3.5.3 e Gradle Versão 3.5.3
Eu li todos os posts sobre o mesmo problema, mas não há sorte (os posts são apenas sobre a plataforma MAC e Linux).
ATUALIZAÇÃO 1.0 -> Descobri que algumas classes não podem executar as operações descritas acima, mas outras podem.
Percebi que, não há ícones para classes que não podem executar as operações que descrevi acima. (Às vezes, aparecem magicamente os ícones "J" e, quando clico em outra classe, esse ícone J desaparece imediatamente.) Acho que o sistema gradle ou de arquivos do Android Studio não reconhece esses arquivos como classes.
ATUALIZAÇÃO 2.0 -> Percebi que, quando cliquei na seção Estrutura do DuoFragment (que possui mais de 500 códigos de linhas e uma das classes não compiladas) não pode carregar nada. O tamanho do DuoFragment é maior para processar?
Além disso, quando verifiquei a seção Build, alguns processos não podem ser executados (não sei se isso é normal ou não);
- Tarefa: app: compileDebugAidl NO-SOURCE,
- Tarefa: app: compileDebugRenderscript NO-SOURCE,
- Tarefa: app: processDebugJavaRes NO-SOURCE
ATUALIZAÇÃO 3.0 ->
Aqui estão meus arquivos Gradle. Arquivo Gradle no nível do projeto:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Arquivo Gradle no nível do aplicativo.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.lotusif.dump2"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.core:core:1.1.0'
// material widgets
implementation 'com.google.android.material:material:1.2.0-alpha03'
// progress bar with text
implementation "com.github.skydoves:progressview:1.0.3"
// sequence progress
implementation 'com.github.transferwise:sequence-layout:1.0.11'
// flash bar
implementation 'com.andrognito.flashbar:flashbar:1.0.2'
// toggle - switch button
implementation 'com.github.GwonHyeok:StickySwitch:0.0.15'
// Custom Toast message
implementation 'com.github.GrenderG:Toasty:1.4.2'
// liquid effect bar
implementation 'com.mikhaellopez:circularfillableloaders:1.3.2'
// bubble tab bar
implementation 'com.fxn769:bubbletabbar:1.0.3'
//glide image library
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
// scaling layout
implementation 'com.github.iammert:ScalingLayout:1.2.1'
// lottie animation
implementation 'com.airbnb.android:lottie:3.3.1'
//Gson
implementation 'com.google.code.gson:gson:2.8.6'
//RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.2.15'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'com.daimajia.easing:library:2.1@aar'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
//retrofit
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
}
ATUALIZAÇÃO 1.0 Imagens
ATUALIZAÇÃO 2.0 Imagens
fonte
Respostas:
ATUALIZAÇÃO -> Há um erro nas bibliotecas do Kotlin com o Windows 10 Single Language Turkish . (Talvez algumas das outras distribuições do Windows em um único idioma tenham o mesmo problema, eu ainda não sabia.) Algumas bibliotecas do Kotlin não podem funcionar no sistema operacional turco. Resolvi esse problema com a instalação do Windows 10 Pro English .
Outros desenvolvedores que usam o Windows 10 Single Language Turkish enfrentam o mesmo problema com ângulos diferentes. ( Exemplo1 e Exemplo2 )
RESPOSTA ANTIGA
TL; DR -> O problema é sobre bibliotecas de terceiros que são escritas com o Kotlin . Eu converti meu projeto Java para Kotlin e todas as bibliotecas de terceiros problemáticas funcionam bem. O problema é sobre o conflito Java - Kotlin .
Gostaria de compartilhar como resolvi o problema para aqueles que enfrentarão esses problemas mais tarde.
Executei todas as etapas mencionadas acima, uma a uma, mas não encontrei nenhuma solução e resolvi examinar minhas bibliotecas de terceiros.
Primeiro, desabilitei todas as bibliotecas de terceiros e verifiquei o status das minhas classes que não reconheciam métodos e atributos já definidos. Depois de desativar as bibliotecas de terceiros e fazer o Rebuild Project e o Sync Gradle, o recurso de sugestão automática dessas classes corrompidas começou a funcionar novamente. Em seguida, descobrindo quais bibliotecas de terceiros eram problemáticas, ativei essas bibliotecas de terceiros uma por uma. Eu descobri quais bibliotecas de terceiros quebraram meu projeto.
Havia quatro bibliotecas de terceiros que interromperam meu projeto: StickySwitch , ProgressView , SequenceLayout e Flashbar . Quando removi essas bibliotecas, tudo funcionou corretamente. Depois de remover as bibliotecas, meu arquivo Gradle ficou como abaixo.
Então, qual era o recurso comum dessas bibliotecas que corromperam meu projeto? Meu projeto foi escrito com Java, mas essas bibliotecas foram escritas com o Kotlin . Um segundo, não posso usar as bibliotecas Kotlin no meu projeto Java? Sim, eu posso . Eu tenho que adicionar
android.useAndroidX=true
eandroid.enableJetifier=true
no meu gradle.properties , é isso. Mas e se eu já tiver adicionado essas linhas no meu gradle.properties e ele não funcionar?Não entendi por que as bibliotecas kotlin não podem funcionar com meu projeto Java. Como você pode ver no meu arquivo Gradle , estou usando
apply plugin: 'kotlin-android'
eapply plugin: 'kotlin-android-extensions'
para o suporte do Kotlin.Como eu salvei meu projeto? Havia 2 opções disponíveis como eu sabia. Embora o primeiro método tenha sido o de remover essas 4 bibliotecas de terceiros e não pudesse usá-las, o segundo foi o de converter todas as classes Java para classes Kotlin (eu tentei isso antes, mas não funcionou até desativar todas as bibliotecas de terceiros). Eu escolhi converter todas as classes Java em classes Kotlin. Assim, pude usar 4 bibliotecas de terceiros mencionadas acima.
Levei 30 dias para resolver este problema. Agora, estou trabalhando na linguagem Kotlin. Como resultado, meu projeto está sendo executado sem nenhum problema.
fonte
Sugiro que você o abra em outro computador, retirando-o do bitbucket e veja se ele age da mesma maneira.
fonte