Saya menemukan bahwa R.java saya tidak pernah diperbarui, jadi tidak mengandung informasi tentang sumber daya baru saya, jadi saya memutuskan untuk menghapusnya dan berpikir bahwa Eclipse akan menghasilkan yang baru. Tetapi itu tidak terjadi, dan saya tidak memiliki R.java sekarang. Bagaimana saya bisa membuat ulang?
Saya menggunakan Windows 7.
Dari salah satu komentar: "Melakukan Proyek -> Bersihkanlah yang menyebabkan masalah bagi saya. Pembersihan menghapus R.java ... dan untuk alasan apa pun plugin tidak membuat ulang file."
android
eclipse
r.java-file
Peter Mortensen
sumber
sumber
Jawaban:
Situs ini menyarankan:
...dan...
Situs ini menyarankan solusi lain.
sumber
R.java
, bukan regenerasi itu. stackoverflow.com/questions/13065425/…Saya menemukan ini terjadi pada saya dengan tata letak yang rusak dan semuanya meledak. Tenang, ini seperti kesalahan lama ketika Anda pertama kali belajar pemrograman C di mana Anda lupa satu titik koma dan menghasilkan seratus kesalahan. Banyak panik, tekan semua tombol, dan membuat segalanya lebih buruk.
Larutan
R.
tautan tidak rusak. Perbaiki semua kesalahan dalam file XML Anda . Jika ada sesuatu di ADK rusak,R
tidak akan diperbarui.import android.R
aktivitas Anda, hapuslah .Menu -> Project -> Build Project
.Apa yang harus dilakukan jika R tidak regenerasi
Ini biasanya terjadi ketika Anda memiliki file XML yang rusak.
/res/
folder/layout/
dan/values/
, terutama jika Anda telah mengubah salah satunya baru-baru iniAndroidManifest.xml
. Saya menemukan bahwa sering saya mengubah string dan lupa mengubah nama stringAndroidManifest.xml
.Android SDK Build-tools
sudah diinstal. Window -> Android SDK Manager -> Tools -> Android SDK Build-toolsAndroid SDK Tools
, Anda juga memperbaruiAndroid SDK Platform-tools
danAndroid ADK Build-tools
. Build gagal secara diam-diam jika tidak cocok.sumber
Saya memiliki masalah yang sama. Ketika saya memeriksanya, saya menemukan bahwa nama sumber daya XML di bawah tata letak tidak memiliki konvensi penamaan yang benar. Itu memiliki beberapa huruf kapital. Jadi saya menamainya untuk membuat semua huruf menjadi huruf kecil dan keajaiban itu berhasil.
sumber
Salah satu alasan R.class dapat hilang secara tiba-tiba adalah ketika ada kesalahan dalam file XML Anda. Misalnya, ketika Anda menambahkan file XML dengan huruf besar dalam nama seperti myCoolLayout.xml yang tidak diizinkan. Atau ketika Anda memiliki referensi yang tidak mengarah ke file yang ada, dll.
sumber
Jika karena alasan tertentu dos tidak berfungsi: Pastikan file layout.xml Anda tidak mengandung kesalahan. Eclipse tampaknya agak bermasalah di sini: kadang-kadang tidak menandai kesalahan dalam XML atau paket explorer. Dalam kasus seperti itu: Lihatlah tampilan "konsol" atau "masalah" setelah menggunakan "bersih". Semua kesalahan harus ditampilkan di sana. Perbaiki dan ulangi pembersihan.
CATATAN: BUKAN perlunya memperbaiki kesalahan yang Anda dapatkan karena file R yang hilang! Perbaiki file XML dan kesalahan proyek lainnya dan gunakan clean!
sumber
Perbaikan cepat:
Nama paket dalam manifes harus sama dengan yang ada di
/src
folder,/gen
paket folder akan secara otomatis direproduksi.Pengamatan detail:
Amati nama paket di
/gen
folder tersebut. Dalam kasus saya itu berbeda dari yang ada di/src
folder.Paket yang dirujuk dalam manifes adalah dari
/gen
folder.Saya mencoba untuk menambahkan paket dengan nama
/src
folder ke/gen
folder juga melihat apa yang akan terjadi, tetapi ini tidak menyelesaikan masalah. Saya kemudian melanjutkan untuk menghapus nama paket yang tidak sama dengan nama paket/src
folder. Paket ini dengan nama yang tidak sesuai dengan/src
folder itu dibuat kembali segera setelah saya menghapusnya.Karena referensi paket di manifes berhubungan dengan yang dibuat ulang tanpa alasan dan yang tidak sesuai dengan paket di
/src
folder, ini diminta untuk mengganti namapackage = "oldPackage"
denganpackage = "srcFolderPackage"
.sumber
Saya memiliki masalah yang sama, dan akhirnya saya menemukan masalah: Di strings.xml, saya tidak menjaga garis
<string name="app_name">program-name</string>
yang ada secara default saat membuat proyek Android baru. Saya pikir itu hanya digunakan untuk program HelloWord, yang merupakan program asli.Namun, AndroidManifest.xml merujuk pada nilai ini, karenanya:
=> Kesalahan kompilasi;
=> R.java tidak diperbarui;
=> ID tidak dikenali ...
sumber
Android telah menambahkan dalam SDK build tool ADT 22 untuk mekanisme pembangunan. Anda hanya perlu melakukan langkah-langkah berikut.
Ini akan menyelesaikan masalah.
sumber
Jika R.java Anda tidak dibuat, salah satu solusinya adalah menghapus file tata letak bernama "blabla.out.xml".
Setelah menghapus file ini, coba bersihkan proyek dari menu Project -> Clean .
sumber
Sebagai generalisasi dari jawaban glaux ini, jika Anda memiliki setiap kesalahan dalam
res
direktori, maka R.java mungkin tidak menghasilkan - bahkan jika Anda bersih dan membangun kembali. Atasi kesalahan itu terlebih dahulu.Sebagai contoh: ketika Anda menambahkan file gambar katakanlah, "myimage-2.jpg", sistem akan menganggap ini sebagai kesalahan, karena nama file terbatas pada nilai alfanumerik. Lakukan penyegaran pada direktori 'res' Anda setelah menambahkan file apa pun dan tonton hasilnya di jendela konsol Anda untuk peringatan nama file apa pun.
sumber
Jika OS Anda adalah Ubuntu, saya dapat memberikan beberapa saran:
Pasang atau tingkatkan ia32-lib:
Periksa apakah Anda memiliki izin yang benar pada folder aapt:
Mulai Eclipse:
Jalankan Project -> Clean in Eclipse
sumber
Anda 100% memiliki kesalahan dalam file XML , tetapi verifikasi XML tidak menunjukkan kesalahan. Inilah alasan mengapa Anda perlu memeriksa file XML Anda terlebih dahulu!
sumber
SELALU bermanfaat untuk melihat Tab Masalah di Eclipse. Dalam kasus saya, saya mendapatkan pesan kesalahan " android tidak dapat menyelesaikan target 'android-8' " yang membuat R.java tidak dihasilkan. Jadi, saya mengoreksi target yang diimpor ke yang saya gunakan di file default.properties , kemudian saya melakukan pembersihan melalui Projects-> Clean dan voila! R.java dihasilkan secara otomatis! Semoga ini bisa membantu!
sumber
Membersihkan proyek, menutup Eclipse, membuka kembali dan meluncurkan proyek saya akhirnya membuat R.java saya muncul kembali ... Semoga ini membantu
sumber
Pastikan Anda tidak mengimpor
android.R;
sumber
R.java tidak akan pernah dihasilkan jika ada kesalahan dalam
res
folder. Misalnya, dalam subfolder yang dapat ditarik ada dua file yang memiliki nama yang sama, satu adalah icon.png dan yang lainnya adalah icon.html.Anda dapat melihat beberapa kesalahan di jendela log konsol Eclipse yang mengatakan "Ikon entri sumber daya sudah ditentukan.". Setelah menghapus icon.html, Anda dapat membersihkan atau menghapus
gen
folder. Anda akan menemukan bahwa R.java dibuat.sumber
Saya menemukan bahwa file apa pun yang memiliki huruf kapital di
res
folder akan membuat kesalahan ini. Ini terjadi pada saya dengan file PNG yang saya tambahkan dan lupakan.sumber
Setelah membaca banyak posting dan video YouTube, saya menemukan bahwa masing-masing dari kita
R.java
kehilangan karena alasan yang berbeda.Inilah cara saya memperbaikinya di Eclipse:
gen
folder secara manual dan simpan.Pesan berikut akan ditampilkan dan file Anda akan secara otomatis ditulis ulang:
sumber
Bagi saya, saya telah menautkan v7 appcompat dua kali. Bagaimanapun, di Eclipse, klik kanan nama proyek di Package Explorer atau Navigator, buka Properties, Android, dan hapus centang duplikat apa pun di bagian Perpustakaan. Anda mungkin perlu Membangun -> Bersihkan setelah itu.
sumber
Jelas tidak ada satu jawaban terakhir untuk ini, tapi ini satu lagi yang belum saya lihat di sini:
Aku sudah
R.java
hilang setelah (mencoba) Tim Sinkronisasi, dan ada file resolusi konflik dalam proyek (yaitu,thingy.xml.mine
,thingy.xml.r35
, dll). Menghapusnya / menyelesaikan konflik yang muncul kembaliR
.sumber
Saya punya masalah ini. Secara tidak sengaja saya menghapus ini
yang mulai menyebabkan kesalahan pembangunan di seluruh proyek dalam file XML saya serta file Java saya. Segera setelah saya mengetik ulang apa yang saya hapus, itu berhasil lagi :)
sumber
OK jadi jelas bahwa ada banyak penyebab untuk masalah ini. Jika Anda menggunakan mesin linux 64 bit dan Anda baru saja mengatur ADT untuk pertama kali, Anda mungkin mendapatkan masalah ini ketika R tidak secara otomatis menghasilkan. Periksa tab konsol dan Anda mungkin melihat kesalahan yang mirip dengan:
Jika itu masalahnya Anda perlu menginstal ia32-libs, menggunakan sesuatu seperti:
Lihat di sini untuk detail: Android adb tidak ditemukan
sumber
Saya telah menemukan masalah ini beberapa kali. Saya menemukan bahwa jika saya tidak mengimpor paket R melalui nama aplikasi saya, misalnya, jika aplikasi saya memiliki contoh nama paket.test maka saya menemukan bahwa saya harus mengimpor example.test.R untuk mengakses salah satu sumber daya.
Jika ini tidak diimpor maka sumber daya yang dikembalikan adalah sumber daya default tanpa termasuk saya sendiri.
Dengan itu dikatakan jika Anda menemukan bahwa Anda hanya mendapatkan daftar sumber daya default maka hanya memeriksa untuk memastikan bahwa Anda mengimpor application_package_name.R dan bukan android.R.
sumber
Masalah saya adalah bahwa
appcompat
direktori itu tidak sama dengan proyek saya.Saya menemukan ini ketika menyusun aplikasi saya dengan Ant .
sumber
Pastikan juga Anda memiliki versi terbaru dari plugin ADT, dan buka manajer Android SDK untuk memperbarui semua alat SDK ke versi terbaru. Periksa pembaruan di Eclipse sendiri. Versi yang tidak cocok menyebabkan masalah bagi saya.
sumber
Masalah saya ada di dalam file menu. Kompiler tampaknya tidak memperingatkan Anda jika string yang tidak ada di dalamnya
strings.xml
dirujuk dalam file menu. Periksa apakahitem
file XML Anda di menu Anda referensi string apa pun yang tidak ada di file Andastrings.xml
. Biasanya diandroid:title
.sumber
Bagi saya, kesalahan ini disebabkan ketika saya mencoba menduplikasi yang sudah ada
res/menu
alih - alih membuatnya denganwizard
.sumber
Semua jawaban ini tidak dapat berfungsi jika Anda menggunakan Maven. Solusi bagi saya adalah menambahkan
ke bagian konfigurasi android-maven-plugin.
sumber
Saya menemukan solusi mengapa R.class tidak dibuat oleh Eclipse setelah membuatnya lagi - 2 bersih, bangun, dll.
Masalahnya ada di sini di strings.xml:
Ini secara default dibuat oleh Eclipse ketika Anda membuat proyek.
Tentunya Anda mengubah strings.xml untuk kebutuhan Anda sendiri. Terkadang Anda menghapus string.xmls dua baris ini dari kode Anda:
Itu membuat masalah di file AndroidManifest.xml:
Jadi itu tidak dapat berkomunikasi dengan strings.xml.
sumber
Saya mengubah nama file XML layout saya dan mengetahui kemudian bahwa file XML (penyedia widget dalam hal ini) masih mengacu pada layout XML lama yang tidak ada, dan yang mencegah pembuatan otomatis / koreksi kelas R.
sumber