Dalam setiap contoh di semua kelas saya di mana saya referensi R. id.sesuatu
, R
dengan warna merah dan bertuliskan "tidak dapat menyelesaikan simbol R". Juga setiap kali ada R. layout.sesuatu
hal ini digarisbawahi dengan warna merah dan mengatakan "tidak dapat menyelesaikan metode setContentView(?)". Proyek selalu membangun baik-baik saja. Hal ini menjengkelkan untuk melihat ini sepanjang waktu. Saya telah membaca banyak pertanyaan lainnya di sini tentang sesuatu yang serupa tapi kebanyakan yang terlibat mengimpor proyek Eclipse. Saya menggunakan apa yang saya percaya untuk menjadi versi terbaru dari Android Studio dan proyek ini dibuat dengan Android Studio dan bekerja tanpa "tidak bisa mengatasi R" masalah. Saya ingin tahu apa yang menyebabkan ini jika ada yang tahu.
Dalam versi terbaru dari Android Studio, setidaknya bagi saya, karya-karya berikut:
"Alat" -> "Android" -> "Sinkronisasi Proyek dengan Gradle File"
Di Android terbaru Studio 3.1.3 (juli 2018), "Sinkronisasi Proyek dengan Gradle File" tersedia di menu utama.
Saya menggunakan gradle 3.3.0. Itu adalah penyebab utama. Terbuang 6,50 jam dari hidup saya. Gradle 3.2.1 dihapus kesalahan.
classpath 'com.android.tools.build:gradle:3.2.1'
Masalah terselesaikan setelah mengubah gradle versi. Rincian sejarah dapat ditemukan di sini.
Saya memiliki masalah yang sama dan di sini adalah apa yang saya lakukan:
proyek bersih dan Sinkronisasi Proyek dengan Gradle ,
cek buildTools di sdk
Dari membangun gradle (modul ) perubahan minSdkVersion dari 8 ke 9
defaultConfig {
applicationId "PackageName"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
Tapi semua ini tidak't membantu.
Akhirnya saya menemukan jawabannya (ini bekerja dalam kasus saya)
Perubahan dari membangun.gradle(modul:aplikasi)
android {
compileSdkVersion 21
buildToolsVersion '21.0.1'
......
....
}
Atau
pilih File | Proyek perubahan Struktur Membangun Tools Versi untuk 21.1.1
Ini adalah itu.
Misalnya saya memiliki sebuah entri di saya strings.xml
:
<string name="A">Some text</string>
Dan dalam activity_main.xml
saya menggunakan string ini entri
<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>
Sementara'd telah bekerja dengan proyek, saya yang dihapus
<string name="A">Some text</string>
Dan akibatnya activity_main.xml
menjadi tidak valid. Sebagai akibat: tidak dapat menyelesaikan R.
Jadi, periksa *.xml
file dan bersih proyek.
Jika anda melihat kesalahan ini setelah bergerak java file atau direktori ke lokasi lain, maka anda bisa menjamin bahwa Android Studio yang sudah bingung. Dan coba tebak? undo-ing tindakan-tindakan doesn't memperbaiki masalah.
Jadi anda mencoba yang bersih, tapi itu doesn't bekerja.
Dan restart doesn't bekerja dengan baik.
Tapi coba File -> Membatalkan Cache / Restart... -> Membatalkan dan Restart
Android Studio menyimpan informasi tentang file yang bergantung pada yang lain file. Dan sejak pindah file tidak dilaksanakan dengan benar, memindahkan file penyebab kesalahan. Dan yang's tidak semua: cache dependensi ini digunakan dalam upaya untuk mempercepat membangun.
Ini berarti anda tidak hanya harus me-restart, tapi anda perlu untuk membatalkan mereka cache untuk mengembalikan (atau lebih tepatnya, kembali) kewarasan.
Tampaknya ada banyak penyebab untuk masalah ini. Baru-baru ini, saya menambahkan sebuah kegiatan untuk menguji dengan yang disebut NewActivity. Hal ini menciptakan sebuah file yang bernama res/menu/new.xml
dan gradle tidak suka nama itu karena baru adalah reserved word.
gradlew bersih
atau
"Alat" -> "Android" -> "Sinkronisasi Proyek dengan Gradle File"`
Mereka pasti hal-hal yang baik untuk mencoba, tetapi anda mungkin memiliki beberapa masalah lain yang anda butuhkan untuk menyelesaikan sebelum anda menjalankan perintah tersebut.
Saya pikir jika anda menempatkan Kegiatan file ke folder lain dari yang default. Anda perlu untuk mengimpor com.contoh.yourproject.R (ini adalah proyek R file TIDAK Android.R file) untuk SEMUA kegiatan yang menggunakan R. misalnya, di MainActivity file menyisipkan baris ini:
impor com.contoh.yourproject.R;
R. jawa file berisi link antara xml dan java halaman. "R tidak dapat diselesaikan" hanya muncul jika ada masalah dengan beberapa file sumber. Jadi cara terbaik dan efektif adalah menghapus terakhir dilakukan xml atau drawable di file res. dan kemudian lagi mulai dari sana menurut android coding norma-norma. Ini adalah satu-satunya cara. Efektif dan cara yang tepat.
Juga menggunakan Git untuk pelacakan tepat dari kode. ..
Anda telah diperbarui SDK tools baru-baru ini? Jalankan android SDK manager dan pastikan anda memiliki terbaru SDK tools, yang sekarang terpisah dari platform yang sesuai. Aku punya masalah yang sama ketika saya pertama kali saya diperbarui SDK manager, SDK membangun alat-alat paket tidak muncul untuk menginstal/update sampai saya ditutup dan dibuka kembali SDK manager.
Baru-baru ini saya punya masalah ini dan bersih/membangun dll. didn't mengatasinya. Aku menduga aku punya masalah di suatu tempat tapi tidak't yakin ke mana harus mencari untuk menemukan itu (apakah itu dalam manifest, sumber daya xml file dll?).
Ketika ada sesuatu yang salah, anda dapat mengetahui apa itu adalah dengan melakukan analisis kode dijalankan.
Dari menu di atas pilih:
Menganalisis -> Memeriksa code, scan seluruh proyek menggunakan 'Default' profil.
Anda hasil pemeriksaan akan mengandung sebuah unsur yang disebut 'Android'. Di sini anda akan mendapatkan daftar dari apa-apa yang menyebabkan masalah dalam sumber daya dan file manifest. Kesalahan akan membuka file xml yang dihasilkan dari build yang akan menunjukkan kesalahan dalam warna merah.
Saya pasti masalah itu disebabkan karena saya menggunakan rasa berdasarkan manifest dan saya menyalin beberapa izin dalam <aplikasi>
tag di rasa oleh kecelakaan.
UPDATE: saya tidak memiliki masalah setelah mana Android Studio masih menunjukkan kesalahan setelah memperbaiki, meskipun aku bisa sekarang membangun dan menjalankan baik-baik saja sementara kesalahan itu masih ada. (Saya menjalankan canary build jadi meletakkannya bahwa untuk saat ini)
Saya menghadapi masalah ini ketika saya secara manual berganti nama domain folder aplikasi saya. Untuk memperbaiki masalah ini, saya harus
paket
struktur folder <nyata>
di AndroidManifest.xml
.android:name
<kegiatan>
di AndroidManifest.xml
.File Menu -> Membatalkan Cache / Restart ...
Masalah akan hilang, setelah studio Android restart dan membangun segar indeks.
Ini adalah pertanyaan kuno, tetapi masih banyak terjadi dan tidak ada yang benar-benar komprehensif jawabannya di sini.
Saya memiliki masalah ini lebih dari saya ingin mengakui. Hal ini dapat disebabkan oleh berbagai macam masalah yang sebagian besar semua harus dilakukan dengan struktur proyek yang tidak sesuai dengan apa yang's diharapkan. Berikut ini's daftar semua masalah saya've punya:
Mengimpor dari Eclipse ke Android Studio tidak selalu bekerja dengan lancar, terutama dengan versi Android Studio. Pastikan anda're menggunakan direktori yang benar pohon. Seharusnya terlihat seperti ini untuk waktu yang cukup matang app:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
Ini mungkin tidak terlihat seperti ini dalam IDE anda. Ada tarik-turun di atas pohon berkas yang menampilkan file anda dengan cara yang berbeda, dan itu default pada sistem saya ke salah satu yang disebut Android yang memecah file anda ke mereka berbeda jenis. It's mudah untuk memperbaiki masalah seperti ini dari satu disebut Proyek, dan bahkan lebih mudah langsung dari OS's file sistem, karena Android Studio runtuh folder yang berisi folder lain pada satu garis.
Terutama jika anda pernah mengubah nama aplikasi anda, anda perlu memastikan bahwa sumber utama/jawa/com/domain/AppName diperbarui. Juga pastikan bahwa paket tag di AndroidManifest.xml adalah benar.
Jika ada kesalahan baik anda Gradle file atau anda AndroidManifest.xml ini akan mencegah Android Studio dari benar membangun sumber daya file. Gradle file dapat rusak oleh upgrade Android Studio kadang-kadang, terutama dari pra-versi 1.0. Kadang-kadang ini adalah karena berhenti mendukung versi Gradle plugin, sehingga anda perlu untuk memperbarui nomor versi. Kadang-kadang bisa sulit untuk menemukan apa yang saat ini versi. Seperti hari ini, 7/17/15, aplikasi saya menyusun baik-baik saja dengan com.android.alat-alat.membangun:gradle:1.2.3
. Ini adalah ketergantungan blok terluar gradle,
Jika anda AndroidManifest referensi non-ada drawable atau string sumber daya atau kegiatan, itu akan pecah dan menyebabkan kesalahan ini. Kadang-kadang jika ada referensi tidak ada drawable atau string sumber daya yang anda akan mendapatkan kesalahan ini.
Jika anda memiliki file sumber yang rusak, atau tidak valid xml file, anda akan mendapatkan kesalahan ini.
Dalam pengalaman saya, kadang-kadang Android Studio hanya cegukan tanpa alasan, dan anda perlu untuk me-restart dan/atau PC anda. Saya don't tahu mengapa, tapi kadang-kadang bekerja.
Jika anda memiliki dua sumber daya xml dengan nama yang sama, di direktori yang tidak menimpa satu sama lain, 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 di menu, maka akan menimbulkan masalah. Mengubah nama atau menghapus salah satu file.
Jika hanya beberapa sumber yang mengalami masalah ini, mereka sumber daya yang paling mungkin dalam direktori yang salah.
Dalam satu kasus, saya harus benar-benar menginstal ulang Android Studio. Saya don't tahu apa yang salah, tapi itu bekerja.
Dalam satu hal saya pindah seluruh proyek direktori yang berbeda dan re-impor itu sebagai sebuah proyek baru. Saya don't tahu apa yang salah, tapi itu bekerja.
File Xml dengan kata-kata dicadangkan untuk nama-nama yang dapat menyebabkan masalah ini. Mengubah nama atau menghapus mereka.
Ada beberapa cara anda Gradle yang dapat berakhir referensi versi build-alat yang anda tidak memiliki diinstal. Memperbaiki hal ini dengan mengubah Gradle atau men-download sesuai build-tools.
Akhirnya, setelah anda've tetap apa yang salah, anda perlu membersihkan Gradle proyek. Anda melakukan ini dengan pergi untuk Membangun menu di bagian atas dan memilih Proyek Bersih.
Saya memiliki masalah yang sama: Android Studio 3.2 Proyek mengkompilasi dan berjalan dengan baik, tapi saya mendapatkan "Tidak dapat menyelesaikan simbol "R" pada layar peringatan
Tidak tidak membantu:
Membantu:
baik
dalam membangun.gradle
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
...
}
ganti dengan
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
...
}
atau
Update Android Studio untuk 3.3
Saya memiliki kasus khusus untuk masalah ini.
Di proyek saya, setiap hal berjalan dengan baik, hal ini dapat menyusun dan membangun sukses, tapi di Android Studio IDE(dan saya juga mencoba IDE Cerdas, mereka berada dalam situasi yang sama) yang R.java file tidak dapat diselesaikan dengan baik dan selalu menjadi drop di garis merah.
Ini hampir membuat saya gila, aku bisa't menanggung membaca warna ketika saya programing.
Akhirnya saya menemukan ini sulit masalah adalah penyebab oleh R. jawa's file size. Proyek saya adalah sangat besar, mendukung banyak multi-bahasa dan multi ukuran layar. Ada begitu banyak sumber daya yang saya R. jawa's file size sekitar 2.5 M.
Ukuran maksimal dari file di Android Studio adalah 2,5 M dalam pengaturan default, jadi file yang lebih besar dari batas ini dapat't tidak dapat diselesaikan dengan baik. Dan anda dapat mengubah pengaturan default di "AndroidStudio-root/bin/ide.sifat".
ubah baris ini:
idea.max.intellisense.filesize=2500
untuk :
idea.max.intellisense.filesize=5000
Kemudian restart Android studio, warna merah diberhentikan, saya dapat program bahagia lagi.