Aku hanya men-download dan menginstal baru Android SDK. Saya ingin membuat sebuah aplikasi sederhana untuk test drive.
Wizard menciptakan kode ini:
package eu.mauriziopz.gps;
import android.app.Activity;
import android.os.Bundle;
public class ggps extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
tapi Eclipse memberi saya kesalahan
R tidak dapat diselesaikan
on line
setContentView(R.layout.main);
Mengapa?
PS: saya punya sebuah file XML bernama main.xml
di bawah res/layout/
.
Setelah melacak masalah ini juga, aku menemukan catatan ini di Android dokumentasi:
http://source.android.com/source/using-eclipse.html
Catatan: Gerhana kadang-kadang suka menambahkan "impor android.R" pernyataan di atas file anda yang menggunakan sumber daya, terutama ketika anda meminta untuk Eclipse sort atau mengelola impor. Ini akan menyebabkan anda membuat untuk istirahat. Terlihat untuk ini keliru impor pernyataan dan menghapusnya.
Sementara akan melalui Android contoh tutorial ini, saya akan sering menggunakan Pilih + Shift + O perintah untuk "Mengatur Impor" dan menghasilkan hilang impor pernyataan. Kadang-kadang ini akan menghasilkan salah pernyataan impor yang akan menyembunyikan R.java
kelas yang dibuat secara otomatis ketika anda membangun.
Setiap kali anda mendapatkan
R tidak dapat diselesaikan
kemudian periksa /res
direktori dan harus ada beberapa file yang memiliki beberapa kesalahan di dalamnya dan yang mencegah aplikasi dari yang sedang dibangun. Misalnya, mungkin file layout atau mungkin karena beberapa sumber daya yang tidak ada, tapi anda sudah didefinisikan pada file XML.
Jika anda memiliki tambahan apapun, bahkan yang tidak terpakai (!) atau memetiknya (!) gambar dalam folder seperti res/drawables-mdpi yang tidak sesuai dengan konvensi penamaan file (mungkin hanya berisi [a-z0-9_.]), yang R.java kelas mungkin tidak menghasilkan, menyebabkan rantai peristiwa semua posting lain disebut. Semoga membantu!
proyek saya telah menyertakan r.jawa.di awal ,R. layout.pekerjaan utama yang baik.Tapi,setelah menambahkan beberapa kode itu doesn't bekerja,dan kesalahan adalah R. layout.utama dapat't diselesaikan.apa's masalah?
Melihat anda impor. Kemungkinannya adalah bahwa garis:
import android.R;
akan ada. Jika itu's kasus, menghapus, sehingga proyek anda akan mengatasi R tidak dengan default Android sumber Daya kelas, tetapi dengan satu auto-dihasilkan dari anda /res/ folder.
Dan hal lain yang dapat menyebabkan masalah ini:
Saya menginstal baru ADT (ay 22). Berhenti membuat gen
folder yang mencakup R.java
. Solusinya adalah untuk juga menginstal Android SDK Membangun alat-Alat dari Android SDK Manager.
Solusi yang ditemukan di sini
R.java
adalah file yang Android Eclipse plugin menciptakan sambil
membangun aplikasi anda. R.java
ini dibuat di bawah "gen"
directory. File ini dihasilkan dari informasi yang di "res"
directory. Jika anda menjalankan pilih "Proyek" -> "Bersih..." pada Eclipse
menu, itu akan menghapus dan kemudian kembali R.java
file.
Masalah "R tidak dapat diselesaikan" terjadi ketika anda mengubah anda
nama paket dalam AndroidManifest.xml
file. Menggunakan Android anda
nama paket untuk membuat subdirektori di bawah "gen" direktori mana
toko R.java
file.
Eclipse mungkin memiliki masalah mengeksekusi bersih, karena bingung tentang
di mana R.java
file adalah ketika anda telah mengubah Android paket
nama. Anda dapat mengubah nama subdirektori di bawah gen
untuk mencocokkan anda
baru nama paket, atau anda dapat mengubah nama paket kembali ke yang lama
nama. Bersih-bersih dan kemudian mengubah nama paket untuk nama baru
anda ingin. Ini bekerja baik jika anda berhenti Gerhana dari mencoba untuk membangun
saat anda mengubah nama paket. Di bawah "Proyek" menu
hapus centang opsi untuk "Membangun secara Otomatis" dan juga ketika
"Bersih..." dialog meminta jika harus "Mulai membangun segera"
hapus centang pada kotak sehingga tidak't mencoba untuk membangun saat anda mengubah
nama paket. Setelah anda telah mengubah nama anda dapat mengubah "Membangun
Secara otomatis" kembali lagi.
Perhatikan bahwa jika anda AndroidManifest.xml
file nama paket tidak sesuai
anda Jawa nama paket, Gerhana akan berakhir secara otomatis menambah
"impor <Android anda nama paket>.R;," line di semua .jawa
file
yang punya referensi untuk R. Jika anda mengubah anda AndroidManifest.xml
nama paket, kadang-kadang Gerhana tidak memperbarui semua ini menambahkan
impor. Jika itu terjadi, gunakan Eclipse refactoring (ALT +
Shift + R) untuk mengubah pernyataan impor di salah satu file Java untuk
anda baru AndroidManifest.xml
nama paket. Cara terbaik adalah untuk melakukan ini
saat anda telah dinonaktifkan "Membangun secara Otomatis".
Apa yang Akan dikatakan benar
R adalah aplikasi yang secara otomatis dihasilkan kelas yang memegang konstanta yang digunakan untuk mengidentifikasi anda >sumber daya. Jika anda don't memiliki R.java file (akan gen/eu.mauriziopz.gps/R.java di >Gerhana dengan 1.5 SDK) saya akan merekomendasikan penutupan dan pembukaan kembali proyek anda atau pergi ke >Proyek > Membangun semua (dan memilih "Membangun secara Otomatis" sementara ada seperti yang direkomendasikan oleh >Josef). Jika itu doesn't bekerja daripada mencoba membuat sebuah proyek baru, jika masalah ini diciptakan dari >posting di sini lagi dan kita'akan pergi ke detail lebih lanjut.
tapi aku've menemukan bahwa ada masalah lain yang menyebabkan pertama. Alat-alat dalam direktori SDK didn't memiliki izin untuk dieksekusi, jadi itu seperti tidak't ada untuk Eclipse, sehingga tidak't membangun R.java
file.
Jadi memodifikasi izin dan memilih "Membangun secara Otomatis" memecahkan masalah.
R adalah aplikasi yang secara otomatis dihasilkan kelas yang memegang konstanta yang digunakan untuk mengidentifikasi sumber daya anda. Jika anda don't memiliki R.java file (akan gen/eu.mauriziopz.gps/R.java di Eclipse dengan 1.5 SDK) saya akan merekomendasikan penutupan dan pembukaan kembali proyek anda atau pergi ke Proyek > Membangun semua (dan memilih "Membangun secara Otomatis" sementara ada seperti yang direkomendasikan oleh Josef). Jika itu doesn't bekerja daripada mencoba membuat sebuah proyek baru, jika masalah ini diciptakan dari posting di sini lagi dan kita'akan pergi ke detail lebih lanjut.
Itu adalah senilai check-in AndroidManifest.xml
. Atribut paket
memiliki nilai yang benar.
Yaitu:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.correct.package.name"
...
Setelah anda mengubah itu, R.java
akan dibuat ulang.
Bersama dengan saran yang besar dalam jawaban sebelumnya, pastikan Android anda target yang ditetapkan:
Edit: Satu tahun kemudian saya menemukan penyebab lain. Aku punya .jpg gambar di drawable folder dengan nama yang sama .gambar png. Referensi gambar ini dalam kode saya harus bingung program dan memberi "R tidak dapat diselesaikan" kesalahan.
Kesalahan ini juga dapat disebabkan oleh penambahan suatu kegiatan untuk namespace yang berbeda untuk root namespace untuk paket anda.
Misalnya, jika com.contoh.myapp
adalah akar namespace untuk paket anda, anda kemudian dapat menambahkan aktivitas ke com.contoh.myapp.kegiatan
namespace.
Ini akan menghasilkan "R tidak dapat diselesaikan" kesalahan.
Untuk memperbaiki mengimpor R di default namespace dalam aktivitas anda harus:
import com.example.myapp.R;
Pastikan anda menginstal Android membangun alat bentuk sdk manager
proyek klik kanan properties-> Jawa BuildPath pilih Perpustakaan dan menambah android-support.jar ikuti langkah-langkah ini.
Pergi ke Proyek->Sifat->Java Build Path dari pilih Order dan ekspor tab. Set android-dukungan .jar perpustakaan diperiksa dan naik ke atas daftar. Dan membersihkan dan membangun kembali..It bekerja untuk sebagian besar dari kasus-kasus
Solusi yang paling sederhana - kadang-Kadang anda hanya perlu untuk menyimpan XML file yang sedang anda kerjakan untuk mendapatkan autogenerator untuk menendang.
Simpan file (mis. main.xml) kemudian hapus R.java file dan melihat jika diregenerasi R.java mengatasi R menyelesaikan masalah.
R
yang dihasilkan kelas. Jika anda menggunakan Android Development Tools (ADT) itu dihasilkan setiap kali proyek yang dibangun. Anda mungkin memiliki 'Membangun secara Otomatis' dimatikan.
Periksa nama file XML. Pastikan bahwa mereka're semua dalam huruf kecil.
Juga pastikan bahwa setiap gambar nama sumber daya juga dalam KASUS yang lebih RENDAH. Aku punya huruf di nama saya file jpg, dan itu menyebabkan R yang belum terselesaikan kesalahan di proyek saya.
Kesalahan ini dipotong pada saya x64 Linux Mint instalasi. Ternyata hasilnya adalah kegagalan dalam ADB
biner, karena ia32-libs
paket tidak diinstal. Hanya dengan menjalankan apt-get install ia32-libs
dan peluncuran kembali Eclipse tetap kesalahan.
Jika anda x64 distro tidak memiliki ia32-libs, anda'll harus pergi Multiarch.
Cek #4 dan #5 di posting ini: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883
Semoga ini bisa membantu seseorang.