Android Studio menandai R berwarna merah dengan pesan kesalahan "tidak dapat menyelesaikan simbol R", tetapi build berhasil

150

Di setiap proyek yang saya coba buat di Android Studio, semua penggunaan R ditandai dengan warna merah dengan pesan kesalahan "tidak dapat menyelesaikan simbol R", tetapi kompilasi berhasil dan aplikasi berjalan. Ini benar-benar menjengkelkan, karena memblokir pelengkapan otomatis dan menunjukkan garis-garis besar berwarna merah di seluruh kode saya.

Saya menjalankan Android Studio 1.7.0 dan membuat proyek dengan pengaturan default. Tangkapan layar terlampir:

Tangkapan Layar Android Studio

Ini milik saya build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Ini adalah bagaimana Struktur Proyek terlihat seperti:

masukkan deskripsi gambar di sini

Adakah cara untuk memperbaikinya?

Ilya Kogan
sumber
Pernahkah ini terjadi pada beberapa proyek saya. Untuk memperbaiki ini saya 'Bersihkan', 'Rebuild', tutup proyek dan buka kembali. Kemudian pilih Tools -> Android -> Sync Project with Gradle Files. Juga telah mencoba yang berikut ini ... Tutup proyek dan pindahkan folder secara fisik ke direktori baru atau ganti nama direktori saat ini. Sekarang impor proyek, seolah itu baru. Ada beberapa cara untuk melakukan ini, dari layar Android awal, pilih impor dan ketika Anda menemukan Direktori, jangan impor dari nama proyek atau direktori master, impor satu tingkat di di 'App'.
Snappy Cracker
Pembaca, sebelum Anda mencoba hal lain yang mungkin rumit ... coba saja untuk me-restart android studio.
eRaisedToX

Jawaban:

111

Cukup Klik pada Build -> opsi Rebuild Project di Android Studio Anda.

pathe.kiran
sumber
Saya memiliki gambar .Jpg yang telah saya ubah menjadi .png tanpa konversi yang tepat. menghapus file itu memecahkan masalah. anehnya ..
DeathRs
Saya benar-benar ingin melakukan hal ini tetapi Android Studio terkenal dalam hal pembangunannya. Milik saya akan memakan waktu lebih dari 30 menit jika saya melakukan ini.
Neon Warge
solusi sempurna !!
Akash Bisariya
Harus melakukan ini dua kali
Janac Meena
kadang-kadang karena kesalahan file XML Anda. <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">Periksa baris ini dalam file xml dan perbaiki.
meyasir
63

Saya menemukan bahwa masalah ini disebabkan karena saya memiliki kesalahan dalam file XML saya. Setelah Anda memperbaiki kesalahan XML, lakukan clean / build, itu memperbaiki masalah.

BlackHatSamurai
sumber
8
Hanya membantu siapapun yang membaca. Kemungkinan ada sesuatu dalam file XML yang menyebabkan kesalahan. Bagi saya, (tidak yakin mengapa) tetapi itu disebabkan oleh garis tata letak fragmen: android: layout_bottom = "@ id / my_list" Cukup beralih dari baris ini dari satu fragmen ke menggunakan layout_top pada fragmen lain.
Mingsheng
Hal yang sama untuk saya! Terima kasih atas bantuannya
Michael
Sama disini! Terima kasih.
Teddy Wilson
Jawaban bagus! Terima kasih
Berat Eyüboğlu
Ya, dalam kasus saya: tinggi elemen xml saya adalah '50', bukan '50dp'.
Krishna Raj Salim
44

Klik Build -> Rebuild Projectdan kemudian klik Tools -> Android -> Sync Project with Gradle Files.

pengguna2284700
sumber
2
Ini bekerja. Saya mengalami kesalahan setelah memutakhirkan versi gradle.
Vaquita
Situasi saya adalah: setiap cleanmembuat semua Rmenjadi kesalahan, setiap buildmemperbaikinya, tetapi tentu saja 'tidak menyelesaikan' proyek. Setelah mengikuti jawaban ini akhirnya saya bisa membersihkan proyek tanpa mendapatkan kesalahan.
talz
Hanya menambahkan ke jawaban @ user2284700: Di AS 3.1.3 "Sinkronkan Proyek dengan File Gradle" ada di bawah menu "File"
BMU
33

Pastikan AndroidManifest.xmlnama paket Anda benar. Itu memperbaiki masalah bagi saya ketika saya R.whateverditandai merah!

Saya juga merekomendasikan memeriksa semua gradlefile Anda untuk memastikan nama-nama paket itu benar. Seharusnya tidak membuat semuanya merah, tetapi itu akan menghentikan gradlefile Anda dari sinkronisasi dengan benar.

derek
sumber
Terima kasih! Saya sedang melakukan percobaan kecil dengan mengubah nama paket untuk lupa tentang hal itu ...
tom
17

TIDAK ADA APA PUN . Cukup Perbarui Android Studio. Selesaikan masalah saya! Bekerja dengan sempurna.

TedVN
sumber
1
Saya mencoba semua solusi yang disebutkan di sini. Memperbarui studio android memperbaiki masalah
Siva K Reddy C Shiva
1
Terima kasih telah menyelamatkan saya dari membuang lebih banyak waktu untuk ini
wmurmann
12

Saya memiliki masalah serupa dengan 'com.android.tools.build:gradle:3.3.1', saya mencoba semua solusi di atas tidak ada yang berhasil. Itu benar-benar membangun: masalah gradle 3.3.1. Saya mengubahnya menjadi 3.2.1 lalu berhasil.

Jadi itu bisa menjadi masalah dengan versi build: gradle.

Shashank Bhong
sumber
03.2019 Ini membantu. Yang menarik adalah ini terjadi hanya pada satu proyek saya dan pada dua proyek lainnya tidak. Sekarang saya berharap pembaruan Android Studio tidak mengacaukan hal lain ...
Martin Berger
9
  1. Pilih opsi menu File> Project Structure.
  2. Tekan OK pada kotak pesan (Perubahan Struktur Proyek tidak memperbarui build.gradle).
  3. Pilih "Modul" pada panel samping "Pengaturan Proyek".
  4. Untuk setiap modul (proyek), periksa bahwa bagian "Folder yang Dikecualikan" tidak mengandung folder "build". Jika ya, tekan tombol 'x' di sebelah folder "build".
  5. tekan OK

Anda sekarang akan melihat folder "MyAppProject / MyApp / build / source". Ini harus berisi folder "r" (di mana file R.java dihasilkan). Di sini, Anda harus melihat "debug", "rilis" dengan warna biru (jika Anda memiliki projectFlavour di build.gradle Anda, ini akan berada di bawah folder ""). Di dalam folder debug / rilis itu haruslah nama paket aplikasi Anda dan kemudian file R.java yang berisi semua id sumber daya Anda.

terima kasih
sumber
1
Ini tidak relevan lagi, tetapi perhatikan bahwa saya tidak memiliki file R.java di folder itu, seperti yang Anda lihat di balasan saya kepada Loïc.
Ilya Kogan
9
  1. Bangun kembali proyek.
  2. Jika (1) tidak berfungsi, restart Android Studio / Eclipse.

Jika tidak ada yang berfungsi, periksa semua file xml Anda. Kesalahan ini terjadi ketika file xml Anda salah.

Lalit Kushwah
sumber
Dalam kasus saya, ada atribut di file manifest.xml yang menyebabkan masalah. Saya mengalami malam tanpa tidur sampai saya menemukan di dan hanya menghapus garis. Atributnya adalah android: fullBackupContent = ""
Kingsley Ijike
6

Untuk beberapa alasan, studio Android menggunakan konfigurasi berbeda untuk editor dan untuk kompiler. Jika berfungsi untuk kompiler maka itu bagus. Jika tidak berhasil untuk editor. (ia melihat file yang tidak terselesaikan).

Anda perlu menambahkan beberapa direktori ke sumber proyek Anda. Misalnya semua sumber daya harus ditandai sebagai "sumber".

File-> Struktur Proyek

Pilih "Modul", lalu proyek Anda. Dan pilih sourcestab. Di sebelah kanan temukan direktori sumber daya Anda dan klik tombol "sumber" biru. Tutup semua dan itu akan berhasil.

Anda juga harus memastikan itu

build/source/r/debugjuga merupakan sumber. Di saya memiliki semua build/source/*/debugditandai sebagai sumber.

modul utama .iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":SherlockHolmes" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/build/apk" />
      <excludeFolder url="file://$MODULE_DIR$/build/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
      <excludeFolder url="file://$MODULE_DIR$/build/exploded-bundles" />
      <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/libs" />
      <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Sherlock.aar" level="project" />
    <orderEntry type="library" name="SlidingMenu.aar" level="project" />
    <orderEntry type="library" name="support-v4-13.0.0" level="project" />
  </component>
</module>

proyek iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

Sihir hitam

Tidak yakin tentang yang ini, tapi saya mendengarnya bekerja sementara saya cukup yakin itu tidak boleh mengubah apa pun. Coba kompilasi dan simpan proyek setelah mengomentari semua baris yang membutuhkan R. Lalu ketika semuanya tidak merah. Coba tambahkan kembali. Anehnya ini adalah build / sumber Anda tidak dapat dihasilkan.

Juga pertanyaan ini menyarankan untuk memeriksa "compiler use external build"

Android Studio tidak menghasilkan R.java untuk proyek impor saya

Catatan samping

Pastikan juga dalam kode java Anda tidak ada. import android.r;dari apa yang Anda perlihatkan, semuanya tampak baik-baik saja. Hanya aneh bahwa build / source tidak dibuat. Sebagai contoh, saya tidak memiliki build / apk. Mungkin Anda dalam mode rilis dan itu tidak membuat direktori tersebut.

Loïc Faure-Lacroix
sumber
Hai Loïc, saya menambahkan tangkapan layar dari struktur proyek ke pertanyaan. Seperti yang Anda lihat, seluruh resfolder ditandai sebagai "sumber", dan saya tidak memiliki build/sourcedirektori. Haruskah saya membuatnya? Jika ya, bagaimana caranya?
Ilya Kogan
baik direktori build / source harus dibuat ketika membangun sejauh yang bisa saya katakan. Studio Android menjadi versi "alfa". Muncul dengan banyak hal aneh. Saya punya 1.7.0_21. Satu ide adalah melakukan build/rebuil project. Jika Anda dapat menjalankan gradle dari baris perintah, mungkin ada beberapa kesalahan yang tidak ditampilkan di editor.
Loïc Faure-Lacroix
Itu tidak dapat dibuat, meskipun proyek mengkompilasi dan berjalan dengan sukses pada perangkat.
Ilya Kogan
File IML terlihat sangat mirip dengan Anda, dengan folder yang sama disertakan dan dikecualikan. "file: // $ MODULE_DIR $ / build / source / r / debug" dimasukkan meskipun tidak ada. Menggunakan build eksternal menyebabkan masalah lain (proyek tidak dikompilasi sama sekali). Bagaimana cara memeriksa apakah saya dalam mode rilis?
Ilya Kogan
5

Ini solusi sementara saya sampai saya menemukan yang lebih baik:

  1. Menggunakan Semuanya, temukan di mana R.java dibuat. Dalam kasus saya itu C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>

  2. Pada tampilan Proyek, klik modul dan tekan F4. Abaikan peringatan itu.

  3. Klik "+ Tambahkan Root Konten" dan pilih folder yang disebutkan di atas. Pastikan itu ditandai dengan warna biru (sebagai sumber).

Setelah saya melakukan ini, tiba-tiba semua peringatan hilang. Masalahnya adalah jika Anda berkolaborasi dengan orang lain, nama folder berbeda di setiap mesin, jadi berhati-hatilah saat menyinkronkan.

Ilya Kogan
sumber
Sudahkah Anda mencoba versi Android Studio 0.2.3 terbaru? Jika Anda masih mendapatkan masalah, laporkan ini ke code.google.com/p/android/issues agar pengembang Android Studio mengetahuinya dan dapat menyelidiki & memperbaiki masalah tersebut.
Reece
1
Tidak, saya menyerah di Android Studio. Saya suka IDE, tetapi masih ada banyak bug yang tidak cocok untuk bekerja dalam tim. Kami kembali ke Eclipse.
Ilya Kogan
2
Tidak masalah. Karena Android Studio masih dalam pengembangan, Anda harus dapat melaporkan bug apa pun yang Anda temukan (sehingga dapat diperbaiki) dan toleran terhadap tepi yang kasar. Ini bukan untuk semua orang.
Reece
5

Ini bekerja untuk saya:

  1. Tutup dan buka kembali proyek

  2. Tekan "Sinkronkan Proyek dengan file Gradle" (di sebelah ikon manajer AVD di menu atas) ulangi 1-2 jika Gradle tidak dapat menyinkronkan untuk pertama kalinya. (milik saya bekerja di kedua kalinya).

Bekerja dengan Android Studio 1.2.2

bastami82
sumber
5

Saya mengatasinya dengan:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.
Bapusaheb Shinde
sumber
Suatu hari tanpa alasan yang jelas aplikasi saya rusak ... kesalahan di mana-mana ... Terima kasih banyak! Ini sangat membantu!
JFreeman
1
Berkat Anda, cache yang tidak valid adalah satu-satunya hal yang membantu
Kibi
4

Buka saja daftar menu Top Android. klik pada Bangun Menu, di bawah Bangun klik pada Rebuild Project .

masukkan deskripsi gambar di sini

Gundu Bandgar
sumber
4

Terkadang kesalahan build ini akan berlanjut entah dari mana. Jika ini terjadi pada Anda, coba ini:

Periksa kembali validitas XML dalam file sumber daya Anda: Jika file R.java Anda tidak dibuat untuk build terakhir, Anda akan melihat kesalahan dalam proyek Anda di mana pun Anda mereferensikan sumber daya. Ini dapat disebabkan oleh salah ketik di salah satu file XML Anda. Layout XML tidak selalu divalidasi, jadi kesalahan ketik pada file-file ini mungkin tidak langsung diperhatikan. Menemukan kesalahan ketik dan menyimpan file harus menyebabkan R.java melakukan regenerasi.

Bersihkan proyek Anda! Select Build → Clean ProjectIni akan membangun kembali proyek dari awal, yang dapat menghasilkan bangunan tanpa kesalahan.

Sinkronkan proyek Anda dengan Gradle! Select Tools → Android → Sync Project with Gradle FilesAndroid Studio akan membangun kembali proyek dari awal dengan pengaturan proyek yang benar, yang dapat membantu menyelesaikan masalah setelah mengubah konfigurasi Gradle Anda.

Jalankan Android Lint! Lint dapat memberi Anda informasi yang baik mengenai suatu masalah. Jika hal di atas tidak berhasil, di sinilah kemungkinan besar Anda akan menemukan masalah Anda. Untuk menjalankan Lint,select Analyze → Inspect Code → select Whole project → OK Analisis saran Lint dengan cermat; mulai dengan kesalahan lalu peringatan.

Semoga berhasil.

Kerupuk yang tajam
sumber
Dalam kasus saya, ada atribut di file manifest.xml yang menyebabkan masalah. Saya mengalami malam tanpa tidur sampai saya menemukan di dan hanya menghapus garis. Atributnya adalah android: fullBackupContent = ""
Kingsley Ijike
3

Kesalahan ini terjadi pada saya karena ada input yang tidak valid dalam file activity_main.xml saya.

Ketika Anda mencoba membangun atau membersihkan proyek Anda, Anda akan melihat pesan kesalahan .

Saya menyelesaikan pesan saya dengan membaca pesan kesalahan itu , memperbaiki apa yang salah pada file xml saya. kemudian membangun kembali proyek .

pengguna5194610
sumber
2

Saya mengalami bug ini beberapa hari yang lalu, saya mencoba melihat sekeliling sampai saya memutuskan untuk menginstal ulang Android Studio. Ini berhasil untuk saya.

Mazvél
sumber
Menginstal ulang tidak membantu :(
Ilya Kogan
Ini adalah metode yang sangat kasar.
Taslim Oseni
2

Saat membuat proyek dari sampel, sementara tidak mengimpor proyek yang ada adalah baik (mencegah bentrok dengan gradle, .idea, .iml, build, toples dan apks, yaitu semua file yang dibuat tidak perlu), setelah membuat proyek baru, menyalin dan menempelkan semua sumber daya yang relevan, saya akan merekomendasikan:

memeriksa paket dan impor dari paket dalam proyek {deklarasi AndroidManifest dan semua impor di kelas java}, semua sumber daya (dapat ditarik, mip-peta, tata letak dan menu & build.gradle Anda (sampel build.gradle untuk digunakan dengan SDK terbaru) dapat diberikan berdasarkan permintaan)) untuk melihat apakah ada & jika string dan id yang dinyatakan benar-benar ada dan telah digunakan, setelah itu satu-satunya kesalahan Anda adalah pertanyaan yang diajukan:

Bulid-> Proyek Bersih

Alat-> Android-> Sinkronkan Proyek dengan File Gradle

File-> Batalkan Cache dan Restart

Dalam kasus terburuk, menyalakan kembali mesin Anda akan membantu.

Di atas seharusnya bekerja. Jangan ragu untuk bertanya jika perlu, yaitu mengirim komentar.

iOSAndroidWindowsMobileAppsDev
sumber
2

ini menyebabkan terutama karena kesalahan dalam file xml, periksa perubahan xml terbaru Anda dan bangun kembali, masalah yang sama dengan saya.

parvez rafi
sumber
Itu membantu, Terima kasih!
farahm
2

Saya memiliki kesalahan salin / tempel penggunaan kembali dalam deklarasi paket untuk manifes

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">

nama aktivitas Utama memiliki jalur yang benar sehingga manifes tidak memiliki kesalahan yang diperiksa.

Setelah menyelesaikan ini, file sumber masih menunjukkan kesalahan meskipun build berhasil. Saya baru saja menjalankan aplikasi dan kemudian indikator kesalahan sumber dihapus.

TheBrick
sumber
Bagi saya, ada atribut di file manifest.xml yang menyebabkan masalah. Saya hanya menghapus garis. Atributnya adalah android: fullBackupContent = ""
Kingsley Ijike
1

Ini juga bekerja untuk saya dengan melakukan secara manual membersihkan folder .idea / libraries dan mengklik sesudahnya pada "Sync Project with Gradle Files" untuk menyelesaikan masalah. Tampaknya Sinkronisasi ini tidak menghapus elemen, tetapi menyimpan yang lama dan menambahkan yang sekarang. Mungkin bug untuk dilaporkan :)

kikoso
sumber
1

Punya masalah yang sama dengan android studio, saya menemukan bahwa build / generate / source / r hanya berisi folder rilis dan tidak debug. Jadi karena alasan tertentu debug build tidak menghasilkan kelas R yang dapat digunakan.

Saya menyelesaikannya dengan membuka file proyek IML dan memperbaiki baris ini

<option name="RES_FOLDERS_RELATIVE_PATH" value="" />

untuk

<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />

disinkronkan ulang dengan gradle, berkomentar baris menggunakan R, jalankan debug untuk menghasilkan R, baris uncommented menggunakan R dan jalankan debug lagi, diperbaiki.

Lukas Hanacek
sumber
Di mana saya akan menemukan file iml?
Cappuccino90
folder yang sama dengan build.gradle Anda ... kemungkinan besar
Lukas Hanacek
1

Solusinya sederhana:

Pergi ke File > Project Structure > appdan pilih Flavourstab, pilih API 21: Android 5.0 (Lollipop)di daftar turun bawah untuk Min Sdk Version.

Kural Manivannan
sumber
Terima kasih, ini berhasil! Saya telah menetapkan nilai minSdkVersion ke nilai yang jauh lebih rendah, dan kembali memperbaiki masalah untuk saya.
Arvindh Mani
1

Dalam kasus saya, saya mengikuti semua jawaban yang dapat saya temukan di Stackoverflow dan tidak ada satupun dari mereka yang tampaknya menyelesaikan masalah ini. Semua jawaban akan mengarah ke kemungkinan file xml rusak atau konflik dengan nama Gradle. Beberapa jawaban menyatakan bahwa perlu membersihkan proyek atau Sinkronkan file Proyek Dengan Gradle. tidak ada solusi yang akan menyelesaikan masalah. Juga, setelah saya mengikuti tutorial tentang cara membangun aplikasi Hello World dan saya hanya mengikuti windows wizard Android Studio tanpa coding sama sekali, tidak masuk akal untuk curiga itu adalah kesalahan ketik seperti ini.

TLDR

Masalahnya ternyata adalah Versi Alat Bangun. Saya diatur ke 23.0.0 rc1 , jadi saya mengubahnya ke 22.0.1 . Saya kira itu karena saya menggunakan rilis Android tersedia terakhir yang tersedia.

Untuk mengubah nilai ini, Anda dapat membuka browser Proyek di jendela kiri> klik kanan "aplikasi> Buka Pengaturan Modul" dan cari di "Tab Properties"

Mauricio
sumber
1

Anda perlu IMPOR file proyek R Anda

import <YOUR-PROJECT-PACKGENAME>.R;
Joolah
sumber
1

Membersihkan Proyek membantu dalam kasus saya

Pergi ke

Build -> Clean Project
Ezio
sumber
1

Jika Anda mendapatkan kesalahan ini, maka bersihkan proyek Anda.

  1. Pergi untuk membangun di atas studio android Anda
  2. Pilih opsi proyek bersih

Alasan di balik ini adalah bahwa dengan membersihkan .apkfile Anda sebelumnya yang ada di folder proyek android studio Anda pada sistem Anda dihapus.

saksham agarwal
sumber
1

Baru-baru ini saya mengimpor proyek saya ke studio Android, bagian dari R ditandai dengan warna merah dengan ukuran kesalahan "tidak dapat menyelesaikan simbol R", tetapi kompilasi berhasil dan aplikasi berjalan.

Kembangkan evirment:

  • IDE: Android studio 3.1.2
  • Sistem: Mac Os

Larutan:

Langkah 1:

Temukan file konfigurasi untuk Android studio
Path saya:

/Applications/Android Studio.app/Contents/bin/idea.properties

Langkah 2:

Ubah 2500:

idea.max.intellisense.filesize=2500  

hingga 5000 atau lebih:

idea.max.intellisense.filesize=5000  
Yu Zhang
sumber
bagaimana Anda memikirkan hal itu? apa artinya?
Nikos Hidalgo
1
# Ukuran file maksimum (kilobyte) IDE harus menyediakan bantuan kode untuk. # File yang lebih besar adalah editornya bekerja lebih lambat dan persyaratan memori sistem keseluruhan yang lebih tinggi adalah # jika bantuan kode diaktifkan. Hapus properti ini atau setel ke jumlah yang sangat besar jika Anda membutuhkan bantuan # kode untuk file apa pun yang tersedia berapapun ukurannya. idea.max.intellisense.filesize = 2500
Yu Zhang
1

Anda harus mengubah jalur:

sebagai contoh

import it.example.project.myproject.R;

berubah

import it.example.project.R;

pengguna2912087
sumber
0

Saya mengalami kesalahan yang sama, ternyata file manifes memiliki beberapa kesalahan. Setelah memperbaikinya, klik Make Project lagi, itu berfungsi dengan baik. Android studio terkadang tidak memberikan pesan kesalahan yang sangat membantu.

sinar
sumber
0

Saya digigit oleh ini setiap sekarang dan kemudian dan ada hal lain untuk dicoba: cocokkan compileSdk Anda dan versi buildSdk dengan yang terbaru tersedia.

Saya telah mengubah compileSdkVersion saya dari 21 kembali ke 19 karena debugger Android Studio (1,1 canary channel) tidak melacak dengan benar ke perpustakaan prebuilt. Saya menemukan bahwa itu tampaknya melacak berdasarkan buildToolsVersion (19.1.0), yang saya verifikasi dengan mengklik kesalahan dalam jejak tumpukan (dan kemudian memilih 19 bukannya 21). Meskipun saya mengubahnya langsung di file build.gradle, panduan grafis ada di sini: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255 dan saya akan meringkas:

  1. Android Studio IDE, pilih File | Struktur Proyek.
  2. Pilih modul Anda, seperti "aplikasi"
  3. Di bidang Kompilasi SDK, pilih versi terbaru
  4. Juga pilih versi terbaru di Alat Bangun

Konfirmasikan, dan proyek akan secara otomatis menyinkronkan dengan benar.

Pelajaran yang saya dapat dari ini adalah bahwa keduanya harus sama.

ǝɲǝɲbρɯͽ
sumber