Dalam setiap contoh di semua kelas saya di mana saya referensi R.id.something
, R
berwarna merah dan berbunyi "tidak dapat menyelesaikan simbol R". Juga setiap kali ada yang R.layout.something
digarisbawahi dalam warna merah dan mengatakan "tidak dapat menyelesaikan metode setContentView (?)". Proyek ini selalu dibangun dengan baik. Sangat menyebalkan melihat ini sepanjang waktu. Saya telah membaca banyak pertanyaan lain di sini tentang sesuatu yang serupa tetapi paling banyak melibatkan proyek impor dari Eclipse. Saya menggunakan apa yang saya yakini sebagai versi terbaru dari Android Studio dan proyek ini dibuat dengan Android Studio dan bekerja tanpa masalah "tidak dapat menyelesaikan R". Saya ingin tahu apa penyebabnya jika ada yang tahu.
android
android-studio
r.java-file
ez4nick
sumber
sumber
Jawaban:
Saya punya masalah ini juga. Sebuah 'gradlew clean' dan 'gradlew build' yang sederhana berhasil.
Klik pada Build-> Clean Project dan itu akan melakukan gradle clean
sumber
Di versi terbaru Android Studio, setidaknya bagi saya, berikut ini berfungsi:
"Alat" -> "Android" -> "Sinkronkan Proyek dengan File Gradle"
Di Android Studio 3.1.3 terbaru (Juli 2018), "Sinkronkan Proyek dengan File Gradle" tersedia di bilah menu utama.
sumber
Saya menggunakan gradle 3.3.0. Itu adalah penyebab utamanya. Terbuang 6,50 jam dari hidupku. Gradle 3.2.1 menghapus kesalahan.
Masalah teratasi setelah mengubah versi gradle. Detail sejarah dapat ditemukan di sini .
sumber
3.2.1
sebenarnya adalah satu-satunya solusi yang berhasil bagi saya ...3.2.1
Anda juga dapat meningkatkan Android Studio ke versi3.3
. Lihat jawaban saya di siniSaya memiliki masalah yang sama dan inilah yang saya lakukan:
Bersihkan Proyek dan Sinkronkan Proyek dengan Gradle,
periksa versi buildTools di SDK saya
Dari build gradle (module) ubah minSdkVersion dari 8 menjadi 9
Tetapi semua ini tidak membantu.
Akhirnya saya menemukan jawabannya (ini berhasil dalam kasus saya)
Ubah dari build.gradle (module: app)
Atau
Pilih File | Struktur Proyek mengubah Versi Alat Bangun ke 21.1.1
sumber
Ini dia.
Misalnya saya punya entri di
strings.xml
:Dan
activity_main.xml
saya menggunakan entri string iniSaat sedang bekerja dengan proyek, saya menghapusnya
Dan akibatnya
activity_main.xml
menjadi tidak valid. Akibatnya: tidak dapat menyelesaikan R.Jadi, periksa
*.xml
file Anda dan bersihkan proyek.sumber
Jika Anda melihat kesalahan ini setelah memindahkan file atau direktori java ke lokasi lain, maka Anda dapat menjamin bahwa Android Studio menjadi bingung. Dan coba tebak? membatalkan tindakan tersebut tidak memperbaiki masalah.
Jadi Anda mencoba membersihkan, tetapi itu tidak berhasil.
Dan memulai kembali tidak berhasil.
Tapi coba File -> Batalkan Cache / Restart ... -> Validate dan Restart
Android Studio menyimpan informasi tentang file mana yang bergantung pada file lainnya. Dan karena memindahkan file di sekitar tidak diterapkan dengan benar, memindahkan file menyebabkan kesalahan. Dan itu belum semuanya: cache dari dependensi ini digunakan dalam upaya untuk mempercepat pembangunan.
Ini berarti Anda tidak hanya harus memulai ulang, tetapi Anda harus membatalkan cache tersebut untuk memulihkan (atau lebih tepatnya, membangun kembali) kewarasan.
sumber
Saya pikir jika Anda meletakkan file Aktivitas Anda ke folder lain daripada yang default. Anda perlu mengimpor
com.example.yourproject.R
(iniR
file proyek BUKANAndroid.R
file) ke SEMUA aktivitas yang menggunakanR
. Misalnya, dalamMainActivity
file masukkan baris ini:sumber
Tampaknya ada banyak penyebab untuk masalah ini. Baru-baru ini, saya menambahkan aktivitas untuk diuji dengan yang disebut NewActivity. Ini membuat file bernama
res/menu/new.xml
dan gradle tidak suka nama itu karena baru adalah kata yang dilindungi undang-undang.atau
Itu pasti hal yang baik untuk dicoba, tetapi Anda mungkin memiliki beberapa masalah lain yang perlu Anda selesaikan sebelum Anda menjalankan perintah itu.
sumber
File R.java berisi tautan antara xml dan halaman java. "R tidak dapat diselesaikan" muncul hanya jika ada masalah dengan beberapa file sumber Anda. Jadi cara terbaik dan efektif adalah menghapus xml yang terakhir dilakukan atau digambar dalam file res. dan sekali lagi mulai dari sana sesuai dengan norma pengkodean android. Ini satu-satunya jalan. Cara yang efektif dan benar.
Juga gunakan Git untuk melacak kode dengan benar. ..
sumber
Kode Anda baru saja diacak. Jawabannya cukup sederhana.
Cukup buka Build -> Clean Project .
Itu harus melakukan trik.
Periksa juga versi Android Studio Anda.
Saat ini saya menggunakan Android Studio 3.0.1 .
sumber
Sudahkah Anda memperbarui alat SDK Anda baru-baru ini? Luncurkan manajer SDK android dan pastikan Anda memiliki alat SDK terbaru, yang sekarang terpisah dari alat platform. Saya memiliki masalah yang sama ketika saya pertama kali memperbarui manajer SDK saya, paket alat membangun SDK tidak muncul untuk menginstal / memperbarui sampai saya menutup dan membuka kembali manajer SDK.
sumber
Cukup bersihkan proyek Anda dan Sinkronkan Proyek dengan File Gradle.
Dan masalahnya akan teratasi.
sumber
Saya sudah memiliki ini
sumber
Build->Clean Project
Saya baru-baru ini mengalami masalah ini dan clean / build dll tidak menyelesaikannya. Saya kira saya punya masalah di suatu tempat tetapi tidak yakin di mana mencarinya (apakah ada di manifes, file xml sumber daya, dll?).
Ketika ada sesuatu yang salah, Anda dapat mengetahui apa itu dengan melakukan analisis menjalankan kode.
Dari menu di atas pilih:
Analisis -> Periksa kode, pindai seluruh proyek menggunakan profil 'Default'.
Hasil inspeksi Anda akan mengandung elemen yang disebut 'Android'. Di sini Anda akan mendapatkan daftar apa pun yang menyebabkan masalah pada sumber daya Anda dan file manifes. Kesalahan akan membuka file xml yang dihasilkan dari build Anda yang akan menampilkan kesalahan warna merah.
Masalah persis saya disebabkan karena saya menggunakan file manifes berbasis rasa dan saya menyalin beberapa izin di dalam
<application>
tag dalam rasa secara tidak sengaja.UPDATE: Saya memang punya masalah setelah mana Android Studio masih menunjukkan kesalahan setelah perbaikan, meskipun sekarang saya bisa membangun dan berjalan dengan baik sementara kesalahan itu masih ada. (Saya menjalankan membangun kenari sehingga meletakkannya untuk itu untuk saat ini)
sumber
Saya harus mengimpor
R
paket saya di studio android. Misalnya:import com.example.<package name>.R
sumber
import com.example.old-package-name.R
, jadi saya harus mengganti nama impor.Ini adalah pertanyaan yang sangat lama, tetapi masih sering terjadi dan tidak ada jawaban yang benar-benar komprehensif di sini.
Saya telah mengalami masalah ini lebih dari yang ingin saya akui. Ini bisa disebabkan oleh berbagai masalah yang sebagian besar berhubungan dengan struktur proyek Anda yang tidak sesuai dengan yang diharapkan. Berikut daftar semua masalah yang saya alami:
Mengimpor dari Eclipse ke Android Studio tidak selalu bekerja dengan lancar, terutama dengan versi Android Studio yang lebih lama. Pastikan Anda menggunakan pohon direktori yang benar. Seharusnya terlihat seperti ini untuk aplikasi yang cukup matang:
Ini mungkin tidak terlihat seperti ini di IDE Anda. Ada drop-down di atas pohon file yang menampilkan file Anda dengan cara yang berbeda, dan itu default pada sistem saya untuk yang disebut Android yang memecah file Anda menjadi tipe yang berbeda. Lebih mudah untuk memperbaiki masalah semacam ini dari yang disebut Project, dan bahkan lebih mudah langsung dari sistem file OS Anda, karena Android Studio menciutkan folder yang hanya berisi folder lain ke satu baris.
Terutama jika Anda pernah mengubah nama aplikasi Anda, Anda perlu memastikan bahwa pohon induk main / java / com / domain / AppName diperbarui. Pastikan juga tag paket di AndroidManifest.xml Anda sudah benar.
Jika ada kesalahan dalam file Gradle Anda atau AndroidManifest.xml Anda, ini akan mencegah Android Studio membangun dengan benar file sumber daya Anda. File gradle dapat dipecah dengan memperbarui Android Studio kadang-kadang, terutama dari versi pra-1.0. Terkadang ini karena berhenti mendukung versi lama dari plugin Gradle, jadi Anda perlu memperbarui nomor versi Anda. Terkadang sulit menemukan versi yang sekarang. Pada hari ini, 7/17/15, aplikasi saya sedang dikompilasi dengan baik
com.android.tools.build:gradle:1.2.3
. Ini berada di blok dependensi di file gradle terluar,Jika AndroidManifest merujuk referensi yang tidak ada atau sumber daya atau aktivitas string, itu akan merusak dan menyebabkan kesalahan ini. Terkadang jika ada referensi sumber daya string atau tidak ada yang ada, Anda akan mendapatkan kesalahan ini.
Jika Anda memiliki file di sumber daya Anda yang rusak, atau file xml tidak valid, Anda akan mendapatkan kesalahan ini.
Dalam pengalaman saya, kadang-kadang Android Studio hanya cegukan tanpa alasan, dan Anda perlu me-restart dan / atau PC Anda. Saya tidak tahu mengapa, tetapi kadang-kadang berhasil.
Jika Anda memiliki dua sumber xml dengan nama yang sama, di direktori yang tidak saling menimpa, Anda dapat memiliki masalah ini. Misalnya, Anda dapat memiliki nama yang sama di drawable-mhdpi dan drawable-xhdpi karena mereka menimpa satu sama lain tergantung pada perangkat target, tetapi jika Anda memiliki nama yang sama dalam tata letak dan menu, itu akan menyebabkan masalah. Ganti nama atau hapus salah satu file.
Jika hanya beberapa sumber daya yang mengalami masalah ini, sumber daya tersebut kemungkinan besar berada di direktori yang salah.
Dalam satu kasus saya harus menginstal ulang Android Studio sepenuhnya. Saya tidak tahu apa yang salah, tetapi itu berhasil.
Dalam satu kasus saya memindahkan seluruh proyek saya ke direktori yang berbeda dan mengimpornya kembali sebagai proyek baru. Saya tidak tahu apa yang salah, tetapi itu berhasil.
File xml dengan kata-kata yang dicadangkan untuk nama dapat menyebabkan masalah ini. Ganti nama atau hapus.
Ada beberapa cara file Gradle Anda dapat merujuk pada versi alat build yang tidak Anda instal. Perbaiki ini dengan mengubah Gradle atau mengunduh alat bantu yang sesuai.
Akhirnya, setelah Anda memperbaiki apa pun yang salah, Anda perlu membersihkan proyek Gradle Anda. Anda melakukan ini dengan pergi ke menu Bangun di atas dan memilih Bersihkan Proyek.
sumber
Buka saja daftar menu Top Android. klik pada Bangun Menu, di bawah Bangun klik pada Rebuild Project.
sumber
Saya menghadapi masalah ini ketika saya secara manual mengganti nama folder domain aplikasi saya. Untuk memperbaiki masalah ini, saya harus melakukannya
package
struktur folder yang tepat<manifest>
diAndroidManifest.xml
.android:name
dari<activity>
dalamAndroidManifest.xml
.Masalah akan hilang, begitu studio Android memulai kembali dan membangun indeks baru.
sumber
Saya memiliki masalah yang sama: Android Studio 3.2 Proyek mengkompilasi dan berjalan dengan baik, tapi saya mendapatkan "Tidak dapat menyelesaikan simbol" R "peringatan di layar
Apakah tidak membantu:
Membantu:
antara
di build.gradle
ubah dengan
atau
Perbarui Android Studio ke 3.3
sumber
Saya punya kasus khusus untuk masalah ini.
Dalam proyek saya, semuanya berjalan dengan baik, dapat dikompilasi dan dibangun dengan sukses, tetapi di Android Studio IDE saya (dan saya juga mencoba Intelligent IDEA, mereka berada dalam situasi yang sama) file R.java tidak dapat diselesaikan dengan baik dan selalu menjadi turun di garis merah.
Seperti ini:
Ini hampir membuat saya gila, saya tidak tahan dengan warna baca ketika saya memprogram.
Akhirnya saya menemukan masalah rumit ini disebabkan oleh ukuran file R.java saya. Proyek saya sangat besar, mendukung banyak bahasa dan ukuran layar multi. Ada begitu banyak sumber daya sehingga ukuran file R.java saya sekitar 2,5 juta .
Ukuran maksimal file di Android Studio adalah 2,5 juta dalam pengaturan default, jadi file yang lebih besar dari batas ini tidak dapat diselesaikan dengan baik. Dan Anda dapat mengubah pengaturan default di "AndroidStudio-root / bin / idea.properties".
ubah baris ini:
untuk:
Kemudian restart studio Android, warna merah diberhentikan, saya dapat memprogram dengan senang hati lagi.
sumber
Build> Clean Project
Ini berhasil untuk saya. Punya masalah yang sama beberapa kali, dan ini tampaknya memperbaikinya. Kecuali Anda telah mengubah sesuatu atau disebut variabel R. Masalah ini biasanya terjadi entah dari mana, ketika itu terjadi pada saya, jadi saya membayangkan hanya studio Android yang panik. ha ha
Selamat bersenang-senang, dan semoga sukses dengan proyek Anda.
sumber
Apakah: Membangun> Proyek Bersih
PENTING: Pastikan Anda tidak memiliki kesalahan setelah Proyek Bersih di Panel Pesan (Alt + 0). Jika Anda menemukan lingkaran merah dengan tanda seru, maka Anda harus menghapus kesalahan itu dalam kode Anda.
Sebagian besar kesalahan ini terkait dengan @ string / atau @ array /. Bersihkan Proyek lagi dan selesai!
sumber
Saya memiliki masalah yang sama, dan itu terjadi ketika saya membuat proyek baru.
Apa yang saya lakukan adalah:
Itu bekerja untuk saya.
sumber
Saya kesulitan memperbaiki ini sendiri.
Itu bekerja untuk saya, semoga berhasil juga untuk Anda.
sumber
Saya memiliki masalah yang sama dan seringkali diselesaikan dengan
Tetapi kali ini kesalahan tetap ada bahkan setelah melakukan semua hal ini dan akhirnya saya menemukan pelakunya.
Masalahnya adalah dalam file xml , di mana saya telah memberikan nilai string biasa untuk
android:id
bukan tipe sumber daya id .KESALAHAN
KOREKSI
CATATAN
Dalam kebanyakan kasus, kompiler menunjukkan kepada Anda sumber kesalahan dalam Pesan. Cobalah untuk memeriksanya terlebih dahulu sebelum mencoba solusi lain
sumber
`Saya memiliki masalah yang sama dan diselesaikan dengan:
sumber
Notasi ini tampaknya berfungsi dengan baik.
Panel desain Android Studio tampaknya tidak berfungsi dengan baik.
sumber
Permasalahan yang sama. Dimulai ketika saya menambahkan beberapa gambar di folder yang dapat digambar dan mencoba mengaksesnya. Juga gambar yang ditambahkan memiliki ekstensi dengan huruf kapital. Tampaknya telah menabrak bangunan, karena bahkan jika saya mengganti nama mereka, pesannya sama dan R tidak dapat diakses. Apa yang saya lakukan adalah, dalam file .iml saya mencari excludeFolder dan menghapusnya (seperti di bawah):
Setelah itu saya membangun kembali proyek dan R secara ajaib muncul kembali.
sumber
Ada banyak penyebab kesalahan ini.
<Button/>
tetapi item tersebut masih dinyatakan dalam Aktivitas atau Fragmen .java.Cara terbaik untuk melacak kesalahan adalah Bangun kembali itu agak bersih atau sinkronisasi melakukan beberapa kesalahan yang disengaja.
Jika itu tidak menyelesaikan masalah Anda maka harus ada kesalahan atau kesalahan runtime atau kesalahan terjadi karena penggunaan sumber daya yang tidak tepat dapat berupa file java atau xml dalam kode atau desain Anda yang memaksa gradle untuk berhenti karena (R ) file esource tidak dapat mengindeks sumber daya Anda dengan benar dan Anda harus mengakuinya.
Jika proyek Anda berjalan sebelum Anda melakukan perubahan maka komentarlah perubahan yang telah Anda buat dan cobalah untuk membangun kembali proyek.
Ini pasti akan berhasil karena tidak akan ada perubahan.
Untuk melacak kesalahan sebenarnya, periksa perubahan dengan memecah perubahan menjadi modul yang lebih kecil.
Misalnya - Jika Anda membuat daftar terlihat dengan klik tombol dan memasukkan nilai daftar dalam adaptor, periksa dulu apakah Anda dapat membuatnya terlihat atau tidak, kemudian periksa kesalahan adaptor.
sumber
Ini adalah sakit kepala besar bagi saya. Dalam kasus saya kesalahan muncul setelah mengonfigurasi "Google Play Services" di Android Studio (menginstal + build.gradle config). Hal ini pada gilirannya memerlukan menitdk> 7 tetapi kesalahannya sangat tidak jelas (sebenarnya keluhan tentang ini hanya muncul sebagai "info"). Bagaimanapun .. setelah mengubah menitdk ke 8 baik dalam file manifes dan file build.gradle dan membangun kembali proyek, kesalahan sudah hilang.
Jadi .. saran umum tentang ini, jika saya dapat menggeneralisasi - Anda mungkin memiliki beberapa masalah dalam file manifes Anda, atau beberapa file konfigurasi lainnya, yang mencegah pembangunan yang benar. Coba cari dengan sangat keras pada laporan kesalahan, bahkan pesan berjudul "info" untuk petunjuk apa pun tentang ...
sumber