Me he enfrentado a dos problemas principales en Android Studio. En primer lugar, no puedo realizar las funciones copiar-pegar y cortar-pegar ( ctrl+ c- ctrl+ v- ctrl+ x) en algunas clases. Para solucionar ese problema, hago clic en "invalidar cachés / reinicios", pero se descompone nuevamente de inmediato.
El segundo problema es (creo que está relacionado con el primer problema) el compilador no reconoce métodos y atributos ya definidos. La sugerencia automática, etc., no funciona.
Los pasos que he tomado para intentar solucionar el problema son;
- Archivo -> invalidar cachés / reinicios,
- Archivo -> Modo de ahorro de energía -> Desactivar,
- Cierre todas las pestañas abiertas y reinicie nuevamente,
- Archivo -> Proyecto de sincronización con archivos Gradle,
- Archivo -> Sincronizar con el sistema de archivos,
- Eliminar JDK y reinstalar,
- Eliminar Android Studio y reinstalar,
- Elimine los archivos SDK ya descargados y la carpeta ".Android",
- Deshabilita y elimina todos los complementos.
- Comprobado copiar-pegar mapa de teclas en Archivo -> Configuración -> Mapa de teclas
- Trasladó el proyecto de bitbucket a diferentes 2 computadoras
- Nuevo proyecto creado, copie clases de proyecto completas con NotePad ++ a un nuevo proyecto
- Intenta convertir todos los códigos Java a Kotlin, no puedes convertir
Aquí están las especificaciones de mi sistema; Windows 10 Home Single Language (TR), versión 1909. 16 GB de RAM. Android Studio 3.5.3 y Gradle Versión 3.5.3
He leído todas las publicaciones sobre el mismo problema, pero no hay suerte (las publicaciones son solo sobre la plataforma MAC y Linux).
ACTUALIZACIÓN 1.0 -> He descubierto que algunas clases no pueden realizar las operaciones descritas anteriormente, pero algunas clases sí.
Me di cuenta de que no hay iconos para las clases que no pueden realizar las operaciones que he descrito anteriormente. (A veces aparece mágicamente los íconos "J" y cuando hago clic en otra clase, este ícono J desaparece inmediatamente.) Creo que Gradle o el sistema de archivos de Android Studio no reconoce estos archivos como clases.
ACTUALIZACIÓN 2.0 -> Me di cuenta de que cuando hice clic en la sección Estructura de DuoFragment (que tiene más de 500 códigos de líneas y una de la clase sin compilar) no se puede cargar nada. ¿El tamaño de DuoFragment es más grande de procesar?
Además, cuando verifiqué la sección Compilar, algunos procesos no se pueden ejecutar (no sé si esto es normal o no);
- Tarea: aplicación: compileDebugAidl NO-SOURCE,
- Tarea: aplicación: compileDebugRenderscript NO-SOURCE,
- Tarea: aplicación: processDebugJavaRes NO-SOURCE
ACTUALIZACIÓN 3.0 ->
Aquí están mis archivos Gradle. Archivo de Gradle de nivel de proyecto:
// 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
}
Archivo Gradle de nivel de aplicación.
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'
}
ACTUALIZAR 1.0 Imágenes
ACTUALIZAR 2.0 Imágenes
fuente
Respuestas:
ACTUALIZACIÓN -> Hay un error en las bibliotecas de Kotlin con Windows 10 Single Language Turkish . (Tal vez algunas de las otras distribuciones de Windows en un solo idioma tienen el mismo problema, aún no lo sé). Algunas bibliotecas de Kotlin no pueden funcionar en el sistema operativo turco. Resolví este problema con la instalación de Windows 10 Pro English .
Otros desarrolladores que usan Windows 10 Single Language Turkish enfrentan el mismo problema con diferentes ángulos. ( Ejemplo 1 y Ejemplo 2 )
ANTIGUA RESPUESTA
TL; DR -> El problema es sobre bibliotecas de terceros que están escritas con Kotlin . He convertido mi proyecto Java a Kotlin y todas las bibliotecas problemáticas de terceros funcionan bien. El problema es sobre el conflicto Java - Kotlin .
Me gustaría compartir cómo resolví el problema para aquellos que enfrentarán tales problemas más adelante.
Hice todos los pasos que mencioné anteriormente uno por uno, pero no pude encontrar ninguna solución y decidí examinar mis bibliotecas de terceros.
En primer lugar, deshabilité todas las bibliotecas de terceros y miré el estado de mis clases que no reconocían los métodos y atributos ya definidos. Después de deshabilitar las bibliotecas de terceros y hacer Rebuild Project y Sync Gradle, la función de Sugerencia automática de esas clases dañadas comenzó a funcionar nuevamente. Luego, al descubrir qué bibliotecas de terceros eran problemáticas, activé esas bibliotecas de terceros una por una. Encontré qué bibliotecas de terceros rompieron mi proyecto.
Hubo 4 bibliotecas de terceros que rompieron mi proyecto: StickySwitch , ProgressView , SequenceLayout y Flashbar . Cuando eliminé esas bibliotecas, todo funcionó bien. Después de eliminar las bibliotecas, mi archivo Gradle fue el siguiente.
Entonces, ¿cuál era la característica común de esas bibliotecas que corrompen mi proyecto? Mi proyecto fue escrito con Java pero esas bibliotecas fueron escritas con Kotlin . Un segundo, ¿no puedo usar las bibliotecas Kotlin en mi proyecto Java? Si puedo . Tengo que agregar
android.useAndroidX=true
yandroid.enableJetifier=true
en mi gradle.properties , eso es todo. Pero, ¿qué pasa si ya he agregado esas líneas en mi gradle.properties y no funcionó?No entiendo por qué las bibliotecas kotlin no pueden funcionar con mi proyecto Java. Como puede ver en mi archivo Gradle , estoy usando
apply plugin: 'kotlin-android'
yapply plugin: 'kotlin-android-extensions'
para soporte de Kotlin.¿Cómo he rescatado mi proyecto? Había 2 opciones disponibles como sabía. Si bien el primer método fue eliminar esas 4 bibliotecas de terceros y no poder usarlas, el segundo fue convertir todas las clases de Java a clases de Kotlin (lo intenté antes pero no funcionó hasta que deshabilité todas las bibliotecas de terceros). Elegí convertir todas las clases de Java a clases de Kotlin. Por lo tanto, pude usar 4 bibliotecas de terceros que se mencionaron anteriormente.
Me llevó 30 días resolver este problema. Ahora estoy trabajando en el idioma Kotlin. Como resultado, mi proyecto se ejecuta sin ningún problema.
fuente
Le sugiero que lo abra en otra computadora sacándolo del bitbucket, y vea si funciona igual
fuente