Saya telah menghadapi dua masalah utama di Android Studio. Pertama-tama saya tidak dapat melakukan kemampuan copy-paste dan cut-paste ( ctrl+ c- ctrl+ v- ctrl+ x) di beberapa kelas. Untuk memperbaiki masalah itu, saya klik "invalide cache / restart", tetapi segera rusak kembali.
Masalah kedua adalah (saya pikir itu terkait dengan masalah pertama) kompiler tidak mengenali metode dan atribut yang sudah didefinisikan. Saran otomatis, dll. Tidak berfungsi.
Langkah-langkah yang saya ambil untuk mencoba menyelesaikan masalah adalah;
- File -> invalide cache / restart,
- File -> Mode Hemat Daya -> Nonaktifkan,
- Tutup semua tab yang terbuka dan restart baru,
- File -> Sinkronkan Proyek dengan File Gradle,
- File -> Sinkronkan dengan Sistem File,
- Hapus JDK dan instal ulang,
- Hapus Android Studio dan instal ulang,
- Hapus file SDK yang sudah diunduh dan folder ".Android",
- Nonaktifkan dan hapus semua plugin.
- Memeriksa salin-tempel keymap di File -> Settings -> Keymap
- Menarik proyek dari bitbucket ke 2 komputer yang berbeda
- Membuat proyek baru, menyalin seluruh kelas proyek dengan NotePad ++ ke Proyek baru
- Cobalah untuk mengkonversi semua kode Java ke Kotlin, tidak dapat mengkonversi
Ini spesifikasi sistem saya; Windows 10 Home Single Language (TR), versi 1909. ram 16 GB. Android Studio 3.5.3 dan Versi Gradle 3.5.3
Saya telah membaca semua posting tentang masalah yang sama tetapi tidak ada keberuntungan (Posting ini hanya tentang platform MAC dan Linux).
UPDATE 1.0 -> Saya telah menemukan bahwa beberapa kelas tidak dapat melakukan operasi yang dijelaskan di atas, tetapi beberapa kelas bisa.
Saya menyadari bahwa, Tidak ada ikon untuk kelas yang tidak dapat melakukan operasi yang telah saya jelaskan di atas. (Kadang-kadang secara ajaib muncul ikon "J" dan ketika saya mengklik kelas lain, ikon J ini segera menghilang.) Saya pikir gradle atau sistem file Android Studio tidak mengenali file-file ini sebagai kelas.
UPDATE 2.0 -> Saya perhatikan bahwa ketika saya mengklik bagian Struktur dari DuoFragment (Yang memiliki 500+ kode baris dan salah satu kelas yang tidak dikompilasi) tidak dapat memuat apa pun. Apakah ukuran DuoFragment lebih besar untuk diproses?
Juga ketika saya memeriksa bagian Build, beberapa proses tidak dapat berjalan (saya tidak tahu apakah ini normal atau tidak);
- Tugas: aplikasi: compileDebugAidl NO-SOURCE,
- Tugas: aplikasi: compileDebugRenderscript NO-SOURCE,
- Tugas: aplikasi: processDebugJavaRes NO-SOURCE
UPDATE 3.0 ->
Ini file Gradle saya. File Tingkat Proyek Level:
// 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
}
File Gradle tingkat aplikasi.
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'
}
MEMPERBARUI 1.0 Gambar
UPDATE 2.0 Gambar
sumber
Jawaban:
UPDATE -> Ada bug di perpustakaan Kotlin dengan Windows 10 Bahasa Turki . (Mungkin beberapa distribusi Windows Satu Bahasa lainnya memiliki masalah yang sama, saya belum tahu.) Beberapa perpustakaan Kotlin tidak dapat bekerja pada sistem operasi Turki. Saya memecahkan masalah ini dengan menginstal Windows 10 Pro English .
Pengembang lain yang menggunakan Windows 10 Bahasa Turki Tunggal menghadapi masalah yang sama dengan sudut yang berbeda. ( Example1 dan Example2 )
JAWABAN TUA
TL; DR -> Masalahnya adalah tentang perpustakaan pihak ketiga yang ditulis dengan Kotlin . Saya telah mengonversi proyek Java saya ke Kotlin dan semua perpustakaan pihak ketiga yang bermasalah bekerja dengan baik. Masalahnya adalah tentang konflik Jawa - Kotlin .
Saya ingin berbagi bagaimana saya memecahkan masalah bagi mereka yang akan menghadapi masalah seperti itu nanti.
Saya melakukan semua langkah yang saya sebutkan di atas satu per satu tetapi saya tidak dapat menemukan solusi dan saya memutuskan untuk memeriksa perpustakaan pihak ketiga saya.
Pertama-tama, saya menonaktifkan semua perpustakaan pihak ketiga dan melihat status kelas saya yang tidak mengenali metode dan atribut yang sudah didefinisikan. Setelah menonaktifkan perpustakaan pihak ketiga dan membuat Rebuild Project dan Sync Gradle, fitur Saran Otomatis dari kelas-kelas yang rusak mulai bekerja lagi. Kemudian, mengungkap perpustakaan pihak ketiga mana yang bermasalah, saya mengaktifkan perpustakaan pihak ketiga tersebut satu per satu. Saya menemukan perpustakaan pihak ketiga mana yang merusak proyek saya.
Ada 4 perpustakaan pihak ketiga yang merusak proyek saya: StickySwitch , ProgressView , SequenceLayout dan Flashbar . Ketika saya menghapus perpustakaan itu, semuanya bekerja dengan baik. Setelah menghapus perpustakaan, file Gradle saya seperti di bawah ini.
Jadi, apa fitur umum dari perpustakaan yang merusak proyek saya? Proyek saya ditulis dengan Java tetapi perpustakaan itu ditulis dengan Kotlin . Satu detik, tidak bisakah saya menggunakan perpustakaan Kotlin di proyek Java saya? Ya saya bisa . Saya harus menambahkan
android.useAndroidX=true
danandroid.enableJetifier=true
di gradle.properties saya , itu dia. Tetapi bagaimana jika saya telah menambahkan baris-baris itu di properti gradle.props saya dan itu tidak berhasil?Saya belum mengerti mengapa perpustakaan kotlin tidak dapat bekerja dengan proyek Java saya. Seperti yang Anda lihat di file Gradle saya , saya menggunakan
apply plugin: 'kotlin-android'
danapply plugin: 'kotlin-android-extensions'
untuk dukungan Kotlin.Bagaimana saya menyelamatkan proyek saya? Ada 2 opsi yang tersedia seperti yang saya tahu. Sementara metode pertama adalah untuk menghapus 4 perpustakaan pihak ketiga dan tidak bisa menggunakannya, yang kedua adalah untuk mengkonversi semua kelas Java ke kelas Kotlin (saya sudah mencoba sebelumnya tetapi tidak berfungsi sampai menonaktifkan semua perpustakaan pihak ketiga). Saya memilih untuk mengonversi semua kelas Java ke kelas Kotlin. Jadi, saya bisa menggunakan 4 perpustakaan pihak ketiga yang disebutkan di atas.
Butuh waktu 30 hari untuk menyelesaikan masalah ini. Sekarang, saya sedang mengerjakan bahasa Kotlin. Akibatnya, proyek saya berjalan tanpa masalah.
sumber
Saya sarankan Anda untuk membukanya di komputer lain dengan menariknya dari bitbucket, dan melihat apakah itu bertindak sama
sumber