Ich habe zwei Hauptprobleme in Android Studio gehabt. Erstens kann ich in einigen Klassen keine Copy-Paste- und Cut-Paste- Fähigkeiten ( ctrl+ c- ctrl+ v- ctrl+ x) ausführen . Um dieses Problem zu beheben, klicke ich auf "Caches / Neustarts ungültig machen", aber es bricht sofort wieder zusammen.
Das zweite Problem ist (ich denke, es hängt mit dem ersten Problem zusammen), dass der Compiler bereits definierte Methoden und Attribute nicht erkennt. Automatischer Vorschlag usw. funktioniert nicht.
Die Schritte, die ich unternommen habe, um das Problem zu beheben, sind:
- Datei -> Caches / Neustarts ungültig machen,
- Datei -> Energiesparmodus -> Deaktivieren,
- Schließen Sie alle geöffneten Registerkarten und starten Sie neu.
- Datei -> Projekt mit Gradle-Dateien synchronisieren,
- Datei -> Mit Dateisystem synchronisieren,
- JDK löschen und neu installieren,
- Android Studio löschen und neu installieren,
- Löschen Sie bereits heruntergeladene SDK-Dateien und den Ordner ".Android".
- Deaktiviere und lösche alle Plugins.
- Überprüfte Keymap zum Kopieren und Einfügen unter Datei -> Einstellungen -> Keymap
- Das Projekt wurde von Bitbucket auf verschiedene 2 Computer gezogen
- Neues Projekt erstellt, ganze Projektklassen mit NotePad ++ in neues Projekt kopieren
- Versuchen Sie, alle Java-Codes in Kotlin zu konvertieren, kann nicht konvertieren
Hier sind meine Systemspezifikationen; Windows 10 Home Single Language (TR), Version 1909. 16 GB RAM. Android Studio 3.5.3 und Gradle Version 3.5.3
Ich habe alle Beiträge über das gleiche Problem gelesen, aber es gibt kein Glück (Die Beiträge beziehen sich nur auf die MAC- und Linux-Plattform).
UPDATE 1.0 -> Ich habe festgestellt, dass einige Klassen die oben beschriebenen Operationen nicht ausführen können, einige Klassen jedoch.
Ich habe festgestellt, dass es keine Symbole für Klassen gibt, die die oben beschriebenen Operationen nicht ausführen können. (Manchmal erscheinen auf magische Weise "J" -Symbole, und wenn ich auf eine andere Klasse geklickt habe, verschwindet dieses J-Symbol sofort.) Ich denke, Gradle oder Dateisystem von Android Studio erkennt diese Dateien nicht als Klassen.
UPDATE 2.0 -> Ich habe festgestellt, dass beim Klicken auf den Abschnitt Struktur von DuoFragment (mit mehr als 500 Zeilencodes und einer der nicht kompilierten Klassen) nichts geladen werden kann. Ist DuoFragment größer zu verarbeiten?
Auch wenn ich den Abschnitt Erstellen überprüft habe, können einige Prozesse nicht ausgeführt werden (ich weiß nicht, ob dies normal ist oder nicht).
- Aufgabe: App: compileDebugAidl NO-SOURCE,
- Aufgabe: App: compileDebugRenderscript NO-SOURCE,
- Aufgabe: app: processDebugJavaRes NO-SOURCE
UPDATE 3.0 ->
Hier sind meine Gradle-Dateien. Gradle-Datei auf Projektebene:
// 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
}
Gradle-Datei auf App-Ebene.
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'
}
UPDATE 1.0 Bilder
UPDATE 2.0-Bilder
quelle
Antworten:
UPDATE -> Es gibt einen Fehler in Kotlin-Bibliotheken mit Windows 10 Single Language Turkish . (Möglicherweise haben einige andere einsprachige Windows-Distributionen das gleiche Problem, das ich noch nicht kenne.) Einige Bibliotheken von Kotlin können unter türkischen Betriebssystemen nicht funktionieren. Ich habe dieses Problem mit der Installation von Windows 10 Pro English gelöst .
Andere Entwickler, die Windows 10 Single Language Turkish verwenden, haben das gleiche Problem mit unterschiedlichen Blickwinkeln. ( Beispiel1 und Beispiel2 )
ALTE ANTWORT
TL; DR -> Problem sind Bibliotheken von Drittanbietern, die mit Kotlin geschrieben wurden . Ich habe mein Java-Projekt auf Kotlin konvertiert und alle problematischen Bibliotheken von Drittanbietern funktionieren gut. Das Problem betrifft den Java-Kotlin-Konflikt .
Ich möchte mitteilen, wie ich das Problem für diejenigen gelöst habe, die später mit solchen Problemen konfrontiert werden.
Ich habe alle oben genannten Schritte einzeln ausgeführt, konnte jedoch keine Lösung finden und habe mich entschlossen, meine Bibliotheken von Drittanbietern zu untersuchen.
Zunächst habe ich alle Bibliotheken von Drittanbietern deaktiviert und den Status meiner Klassen überprüft, die bereits definierte Methoden und Attribute nicht erkannt haben. Nachdem ich Bibliotheken von Drittanbietern deaktiviert und Rebuild Project und Sync Gradle erstellt hatte, funktionierte die Auto Suggestion-Funktion dieser beschädigten Klassen wieder. Als ich herausfand, welche Bibliotheken von Drittanbietern problematisch waren, aktivierte ich diese Bibliotheken von Drittanbietern nacheinander. Ich habe herausgefunden, welche Bibliotheken von Drittanbietern mein Projekt kaputt gemacht haben.
Es gab 4 Bibliotheken von Drittanbietern, die mein Projekt kaputt gemacht haben : StickySwitch , ProgressView , SequenceLayout und Flashbar . Als ich diese Bibliotheken entfernte, funktionierte alles richtig. Nach dem Entfernen der Bibliotheken war meine Gradle-Datei wie folgt.
Was war das gemeinsame Merkmal dieser Bibliotheken, die mein Projekt beschädigten? Mein Projekt wurde mit Java geschrieben, aber die Bibliotheken wurden mit Kotlin geschrieben . Kann ich keine Kotlin-Bibliotheken in meinem Java-Projekt verwenden? Ja, ich kann . Ich muss hinzufügen
android.useAndroidX=true
undandroid.enableJetifier=true
in meinen gradle.properties , das ist es. Aber was ist, wenn ich diese Zeilen bereits in meine gradle.properties eingefügt habe und es nicht funktioniert hat?Ich habe nicht verstanden, warum Kotlin-Bibliotheken mit meinem Java-Projekt nicht funktionieren können. Wie Sie in meiner Gradle-Datei sehen können , verwende ich
apply plugin: 'kotlin-android'
undapply plugin: 'kotlin-android-extensions'
für die Kotlin-Unterstützung.Wie habe ich mein Projekt gerettet? Wie ich wusste, standen 2 Optionen zur Verfügung. Während die erste Methode darin bestand, diese 4 Bibliotheken von Drittanbietern zu entfernen und sie nicht verwenden zu können, die zweite darin, alle Java-Klassen in Kotlin-Klassen zu konvertieren (ich habe es zuvor versucht, aber es funktionierte erst, wenn alle Bibliotheken von Drittanbietern deaktiviert wurden). Ich habe mich entschieden, alle Java-Klassen in Kotlin-Klassen zu konvertieren. Somit konnte ich 4 Bibliotheken von Drittanbietern verwenden, die oben erwähnt wurden.
Ich habe 30 Tage gebraucht, um dieses Problem zu lösen. Jetzt arbeite ich an der Kotlin-Sprache. Dadurch läuft mein Projekt problemlos.
quelle
Ich schlage vor, dass Sie es auf einem anderen Computer öffnen, indem Sie es aus dem Bitbucket ziehen und prüfen, ob es sich genauso verhält
quelle