Saya mendapatkan paket yang ditakuti R
tidak ada, itu membunuh saya. Kode baik-baik saja Saya memiliki aplikasi di pasar yang menjalankan kode tersebut.
Sekarang ini mempengaruhi webview
aplikasi sederhana . o.0
R.string.app_name
adalah kesalahan saya main.xml
dan string.xml
baik-baik saja. Saya sangat bingung.
Saya membuka kembali versi yang lebih lama ke "borrow"
beberapa kode dan dibanjiri R. errors.
Saya melakukan pembersihan dan tidak ada yang berubah kecuali untuk impor R.android
yang ditambahkan di bagian atas.
Saya bahkan memuat ke Netbeans dan saya mendapatkan hal yang sama. Bersih tidak berfungsi. Bisakah saya menulis R.java
file sendiri?
Benda apa ini R
? tidak R
. seharusnya sesuai denganR.java
Jawaban:
Bagi siapa saja yang mengalami ini, saya refactored dengan mengganti nama folder namespace. Saya baru saja lupa juga mengedit AndroidManifest dan itulah mengapa saya mendapat kesalahan ini.
Pastikan Anda memeriksanya juga.
sumber
Sederhananya:
Tentu saja, menggantinya
your.app.package
dengan paket aplikasi Anda.Di semua kelas yang menggunakan referensi sumber daya R, hapus yang lain
import
dengan.R
, yaituimport android.R;
sumber
phonegap platform remove android
danphonegap platform add android
TL; DR , jika Anda mendapatkan error "paket R tidak ada", kemungkinan penyebabnya adalah
-> perbaiki kesalahan XML
R
paket (lihatpackage
atribut di AndroidManifest.xml)->
R
kelas impor , misalnyaimport com.example.android.R;
-> atau gunakan paket yang sesuai di sumber Anda, misalnya
package com.example.android;
-> atau ubah atribut paket di AndroidManifest.xml ke
<manifest xmlns:android="..." package="com.example.android" ...>
, jika sesuaiR
id yang digunakan berasal dari sumber daya sistem-> jangan impor
android.R
, tetapi awali id yang melanggar denganandroid.
, misalnyaandroid.R.layout.simple_list_item_2
Anda dapat mengimpor
android.R
alih-alih memberi awalan id tentunya, tetapi kemudian Anda tidak dapat mengimporR
kelas aplikasi lagi dan harus memberi awalan id aplikasi, mis.com.example.android.R.id.main_menu
.The
R
kelas dihasilkan secara otomatis dari sumber aplikasi. Ini berisiid
s untuk sumber daya ini dan terdapat dalam paket yang diberi nama dalam<manifest>
tag diAndroidManifest.xml
file yang sesuai .Jika tidak ada kesalahan dalam file XML sumber daya,
R.java
sumber akan dibuat dalam subdirektori paket di bawah inigen/
dan dikompilasi.Ada
R
kelas lain yang terletak di dalamandroid
paket.android.R
Kelas ini berisi beberapa kelas bersarang, yang pada gilirannya berisiid
s dan nilai lain untuk sumber daya sistem .Untuk menggunakan kelas di Java, Anda harus memberi nama kelas dengan seluruh paket, misalnya
atau impor kelas dan kemudian gunakan tanpa paket
Anda juga dapat menggunakan kelas tanpa menamai paket, jika kelas saat ini dan kelas yang digunakan berada dalam paket yang sama, mis.
sumber
Jangan pernah mencoba menulis kelas R sendiri!
Sudahkah Anda mengimpor kelas R yang tepat di file Anda?
Perbuatan
dari pada
tampaknya menjadi masalah bagi banyak orang. Setelah membersihkan dan membangun, terkadang kelas saya mengimpor yang salah.
sumber
jika Anda mengembangkan aplikasi di android studio dan memfaktorkan ulang nama paket, Anda harus mengubah nama paket di manifes android dan file gradle aplikasi.
dan dalam file manifes
sumber
R.java adalah file yang dibuat secara otomatis, biasanya tidak dapat dikompilasi jika Anda memiliki kesalahan dalam file xml.
Tidak Anda tidak dapat menulis file R.java Anda sendiri, itu harus dibuat oleh kompilator sumber daya.
Periksa kesalahan di semua file xml Anda.
sumber
Kelas R adalah kode Java yang dibuat secara otomatis dari file XML Anda (tata letak UI, string internasionalisasi, dll.) Jika kode dulu berfungsi sebelumnya (seperti yang terlihat), Anda perlu memberi tahu IDE Anda untuk membuat ulang file ini entah bagaimana caranya :
sumber
Saya kira dulu berfungsi tetapi sekarang tidak ..
Ini dapat terjadi jika Anda mengubah nama PAKET di dalam file MANIFEST Anda
Jika Anda ingin mengubah nama paket
sumber
com.example.rickydam.txtbooks
menjadicom.txtbooks.txtbooks
dengan membuat proyek baru dan saya memindahkan semuanya ke proyek baru tetapi tidak dapat menemukan R. Saya mencoba membuat cache tidak valid, menyinkronkan dengan gradle, membersihkan proyek, membangun kembali proyek, menginstal ulang SDK-tools ... Tidak ada yang berhasil! Tetapi solusi Anda memperbaiki masalah saya! Terima kasih lagi! Terus koding!Saya baru saja mengalami kesalahan ini saat menggunakan Bazel untuk membangun aplikasi Android:
Pastikan
android_library
/ Andaandroid_binary
menggunakanAndroidManifest.xml
denganpackage=
atribut yang benar , dan jika Anda menggunakancustom_package
atribut padaandroid_library
atauandroid_binary
, pastikan dieja dengan benar.sumber
Hapus impor android.R; dari semua file .. setelah membersihkan proyek dan membangun proyek .... Ini akan menghasilkan
sumber
Contoh: Paket saya adalah com.example.mypc.f01 , untuk memperbaiki kesalahan Anda menambahkan baris di bawah ini ke Aktivitas:
import com.example.mypc.f01.R;
sumber
Di bawah ini adalah beberapa teknik yang dapat Anda gunakan untuk menghilangkan kesalahan ini: -
sumber
Dalam kasus saya, saya menyadari bahwa saya membuat beberapa paket dalam proyek tersebut. Dalam Manifes Android saya menemukan bahwa nama penyedia salah memegang nilai MyContentProvider, bukan .provider.MyContentProvider. Paket utama saya (dengan UI) adalah co.companyname.database.provider, bukan co.companyname.database.
Kemudian pada pernyataan impor untuk kelas yang terpengaruh, saya cukup mengklik kanan dan meminta Android Studio (0.8.6) untuk mengoptimalkan pernyataan impor saya. Saya juga mencatat bahwa jika Anda mencari .R di bilah pencarian AS di sudut kanan atas IDE, Anda dapat menemukan file R.java yang dibuat secara otomatis yang merupakan bagian dari paket Anda. Saat ini Anda tidak perlu mengubah apa pun. Studio harus memperbaiki proyek setelah Anda memperbaiki file Manifes Android dan membangunnya kembali.
Satu item lainnya adalah bahwa dalam satu kelas saya melakukan penggunaan toString (). Length () untuk mengevaluasi string tetapi menukar mereka untuk TextUtils.IsEmpty (stringVal); Tidak dapat memikirkan hal lain yang saya lakukan untuk menyelesaikan masalah ini.
Semoga ini bisa membantu seseorang.
NB - Semua ini dengan AS 0.8.6
PS
R.java dibuat secara otomatis jadi baca tajuknya: / * FILE yang DIHasilkan Otomatis. JANGAN MODIFIKASI. * * Kelas ini secara otomatis dibuat oleh alat * aapt dari data sumber daya yang ditemukannya. Ini * tidak boleh dimodifikasi dengan tangan. * /
sumber
Ketika saya mengalami ini, saya membuat proyek baru, dan menyalin file dari proyek lama saya ke yang baru.
Namun, saya masih memiliki masalah yang sama:
R does not exist
. Kemudian saya menyadari bahwa saya telah menyalin dan menempelkan Manifest dari notepad saya ke manifes Android Studio dan saya belum mengubah nama paket di file manifes.Oleh karena itu, setelah saya mengubah nama paket di manifes menjadi nama proyek baru, proyek baru yang saya buat berfungsi dengan baik.
sumber
File apa yang Anda impor ke dalam file yang mendapatkan error R?
Pemahaman saya tentang file R adalah bahwa mereka secara otomatis menghasilkan daftar referensi untuk semua atribut dalam aplikasi Android. Oleh karena itu, Anda tidak dapat mengubahnya sendiri.
Apakah Anda menggunakan Eclipse untuk membangun proyek ini? Apakah proyek lama mendapatkan kesalahan ini sebelum memperbarui Eclipse? Apa referensi yang mendapatkan kesalahan?
Periksa untuk memastikan bahwa Anda tidak mengimpor file R lain dari kode lain yang disalin di aplikasi lain.
sumber
Saya mengalami masalah ini setiap kali saya berpindah komputer dan mencoba mengimpor proyek lama dari file yang ditransfer melalui USB.
Solusi saya adalah membuat proyek baru dan menyalin (menyeret) file ke dalam IDE (saat ini menggunakan Netbeans) dan membangun kembali. Ini adalah gangguan dan sedikit solusi yang meretas, tetapi ini memperbaiki masalah.
Jika ini terjadi pada Anda, kasus terburuknya adalah Anda mungkin harus membuat cadangan file Anda, menghapus proyek, dan hanya menyeret file ke sana dan mengkompilasi ulang. Mudah-mudahan tidak sampai seperti itu, tetapi itu akan menjadi opsi nuklir Anda.
sumber
Anda boleh mencoba
Menu atas Android Studio> File> Cache tidak valid / restart ...
Klik tombol cache / restart yang tidak valid untuk memulai kembali proyek Anda
Selesaikan R.xxxx.xxx lagi jika beberapa kelas fragmen kelas R tidak diselesaikan dengan benar
kemudian bangun kembali proyek Anda
Semoga membantu
sumber
Jika Anda mengalami kesalahan ini di Android Studio:
Periksa file modul Gradle -> defaultConfig -> setelan applicationId.
Periksa AndroidManifest.xml -> tag paket manifes.
Periksa deklarasi paket di semua file java src.
Sinkronkan, Bersihkan, lalu Bangun Ulang dengan Gradle.
JANGAN PERNAH membangun file R Anda sendiri. R dibuat secara otomatis dari file java sumber dan setelan build Anda.
sumber
Saya mendapat: "error: paket R tidak ada" dan menganggap javac tidak memiliki akses ke R.java.
Jadi saya menambahkan% PROJ_LOC% \ gen ke sourcepath, dan berhasil! SOURCEPATH =% PROJ_LOC% \ src;% PROJ_LOC% \ gen
Saya tidak menggunakan Android Studio atau Ant (atau XML).
sumber
Jika kesalahan ini muncul setelah menyelesaikan konflik penggabungan, proyek Build -> Clean sederhana dapat membantu.
sumber
Singkirkan saja kesalahan dalam proyek saya. Saya telah mengimpor proyek sampel, saya telah mengubah folder paket tetapi saya belum memperbarui paket di salah satu file java.
Kemungkinan besar penyebab kesalahan ini 'paket R tidak ada' adalah nama paket di Java atau file manifes salah. Pastikan itu benar dan sinkron dan kemudian lakukan build yang bersih.
sumber
Terkadang, masalah terselesaikan saat Anda baru saja mengimpor ulang proyek ke Android Studio.
sumber
Jalur yang salah: Proyek "menguangkan" petunjuk ke gambar dan jika Anda telah membuat perubahan nama ke jalur, misalnya paket atau folder Refactored. Kemudian cukup tulis huruf R lagi dan editor menyarankan jalan yang benar dan itu akan berhasil. Dalam hal ini nama file Anda benar dan konten yang dirujuk di R. pointer ada tetapi jalurnya salah, sehingga clean and build tidak akan berfungsi.
sumber
Kasus lain R. kerusakan adalah Pemrosesan Anotasi .
Beberapa pemrosesan dapat merujuk ke kelas yang terletak di folder atau tingkat folder tertentu. Jika Anda memindahkan kelas yang diperlukan ke lokasi lain, Anda bisa mendapatkan R. sebagai kelas yang tidak diketahui.
Sayangnya penunjuk kesalahan untuk masalah ini tidak terbukti di Android Studio.
sumber
Tidak ada manfaat menulis R.java sendiri karena diubah di setiap bangunan,
Ingatlah untuk menggunakan R.something misalnya: R.raw.filename dari dalam kelas yang memiliki nilai paket yang mirip dengan nilai paket di dalam AndroidManifest.xml
karena R. resource ID ditentukan untuk aplikasi atau pustaka saat ini dan semuanya diperiksa jika ada pada waktu kompilasi, jadi tidak masuk akal untuk mengizinkannya diakses dari "kode" yang tidak menargetkan aplikasi atau pustaka saat ini dan dapat digunakan di tempat lain.
sumber
Saya lupa menambahkan "nama" dari "paket" saya di bagian atas kelas java saya. Periksa apakah milik Anda benar-benar ditambahkan.
sumber
Saya memecahkan masalah saya:
.
Goto
AndroidManifest.xml
file dan ubahminSDKVersion="17"
dari 19sumber