Saat saya menulis pertanyaan ini, saya berhasil menyelesaikannya jadi ulangi di sini untuk kepentingan orang lain. Inilah masalah awalnya:
Saya telah membuat proyek perpustakaan yang sangat sederhana yang ingin saya rujuk di proyek lain. Saya telah melakukan ini sebelumnya tanpa masalah jadi tidak begitu yakin mengapa tidak berhasil kali ini. Saya sudah:
Menandai proyek perpustakaan melalui properti proyek. The
default.properties
berkas memiliki set ini:android.library=true
Dalam proyek saya yang lain menambahkan referensi ke proyek perpustakaan saya melalui properti proyek. The
default.properties
berkas telah referensi ditambahkan sebagai yaitu diharapkanandroid.library.reference.1=K:/android_test_ws/applicationRegistrar
Tanda centang hijau terhadap proyek perpustakaan yang direferensikan dimulai dari hijau dan kemudian berubah menjadi palang merah.
Ini menyiratkan bahwa pasti ada sesuatu yang salah / hilang dari proyek perpustakaan tetapi saya tidak tahu apa. Proyek perpustakaan saya kali ini JAUH lebih sederhana dari yang saya buat sebelumnya.
Jawaban:
OK Berikut adalah solusi yang saya temukan ketika saya mencari file default.properies dari proyek referensi (bukan perpustakaan) di sistem file saya. Meskipun proyek referensi berada di ruang kerja gerhana yang sama dengan proyek perpustakaan, file sebenarnya berada di tempat lain dalam sistem file, yaitu tidak ada di folder induk yang sama dari proyek perpustakaan. Segera setelah saya menempatkan proyek referensi di folder fisik yang sama dengan proyek perpustakaan semuanya berjalan dengan baik.
Saya kira ini pasti ada hubungannya dengan android menggunakan semut di bawah selimut.
Edit: Nama proyek harus sesuai dengan nama folder pada sistem file. Apa yang Anda lihat di Project Properties-> Android-> Library Reference adalah jalur sistem file relatif.
sumber
Pastikan kedua proyek hadir di ruang kerja yang sama. Untuk Melakukannya, saat mengimpor proyek pastikan kotak centang "salin proyek ke ruang kerja" dicentang.
sumber
masalah yang sama akan terjadi jika proyek perpustakaan Anda berada di partisi yang berbeda dari ruang kerja Anda saat ini. Saya memiliki masalah yang sama sekarang. Sumber git saya ada di C: dan saya baru saja memindahkan ruang kerja saya ke D: dan semuanya mulai runtuh.
sumber
Cara termudah untuk mendapatkan jalur pustaka yang benar adalah dengan menggunakan GUI dari Eclipse untuk menambahkan pustaka seperti yang ditunjukkan pada tangkapan layar berikut dan biarkan Eclipse menangani penempatan jalur relatif yang benar di project.properties. Ini adalah pengaturan umum untuk membuat proyek perpustakaan Anda dihosting di direktori yang sangat berbeda dari proyek utama Anda yang menggunakan perpustakaan. Metode ini akan berfungsi jika "proyek perpustakaan" dan proyek yang menggunakannya berada dalam "ruang kerja" gerhana yang sama (mereka "tidak perlu" berada di folder induk yang sama):
sumber
Harap pastikan bahwa proyek perpustakaan ditandai sebagai "Adalah Perpustakaan" - klik kanan pada proyek perpustakaan - properti - Android - tandai kotak centang "Adalah Perpustakaan" - di proyek.properti dari proyek perpustakaan Anda harus memiliki entri baru: "android .library = true Sekarang tambahkan ke proyek yang Anda inginkan seperti yang dijelaskan pada posting di bawah ini. (posting dengan gambar terintegrasi - dari Nilesh Pawar).
sumber
Bug ini dirujuk beberapa kali di sini 27199 , 35786 , 36460 & 38052
Mungkin dengan memilih mereka, itu akan diperbaiki suatu hari ...
sumber
Namun pengamatan lain tentang masalah yang sama.
Bagi saya dua proyek di mana di folder induk yang sama, dan keduanya lokal di dalam ruang kerja. Itupun masalah masih terjadi.
Saya mengedit file "project.properties" dan meletakkan jalur absolut (dengan garis miring '/' untuk pemisah) dari proyek perpustakaan. Menyimpan dan menutupnya. Kemudian pergi ke dialog properti proyek, hapus pustaka (yang masih menampilkan ikon silang tetapi dengan jalur abs) dan menambahkannya kembali seperti biasa. Anehnya, masalah teratasi, dan proyek dikompilasi dan dijalankan.
Ini sangat aneh dan pasti ada bug dengan ADT. Saya menggunakan ADT versi 20.0.2
sumber
ketika pengembang mereferensikan facebook atau proyek perpustakaan lainnya maka pertama-tama bersihkan proyek dari eclipse-> project-> clean project. yang ingin mengizinkan kesalahan palang merah di layar referensi.
sumber
Bagi saya, saya baru saja memulai ulang gerhana dan perpustakaan tambahan berfungsi dengan baik.
Maksud saya pertama kali itu menunjukkan tanda merah setelah menambahkan proyek perpustakaan. Padahal proyek utama eclipse dan proyek perpustakaan berada di folder ruang kerja yang sama dan tidak ada file sumber daya di luar folder proyek.
Jadi, Anda dapat mencoba untuk memulai kembali gerhana Anda. Selamat membuat kode ....
sumber
Solusi bagi saya adalah dengan
memecahkan masalah saya
sumber
saya memiliki masalah yang sama di sana ketika saya mencoba mengubah ruang kerja saya jadi ini solusi saya:
sumber
Mulai ulang gerhana Anda. Ini memecahkan masalah saya
sumber
Ketika Anda melihat jalur referensi sebelum dan sesudah, itu berasal dari yaitu "C: / workspace / mylib" dan menuju ke "../../mylib" saat disalin ke lokasi yang benar, cukup menarik.
sumber
FYI,
Apa yang berhasil bagi saya adalah menghapus proyek 'perpustakaan' (proyek sebenarnya) dari ruang kerja saya (tanpa menghapus file), dan kemudian mengimpornya kembali menggunakan wizard (mengimpor proyek android yang ada dari kode sumber).
sumber
Terima kasih telah memposting pertanyaan. Saya mengalami masalah yang persis sama saat mengintegrasikan Facebook dengan aplikasi Android saya. Saya memperbaiki masalah ini dengan memindahkan proyek pengembangan saya ke drive Windows yang sama di mana proyek perpustakaan berada. Entah bagaimana Eclipse tidak dapat membaca lokasi proyek perpustakaan dengan benar dari default.properties file jika berada di drive yang berbeda.
sumber
Mirip dengan postingan Sufi Khan, saya juga menyelesaikan masalah ini dengan reboot. Kasus saya berbeda ketika saya pertama kali mengakses Properties-> Android dan menambahkan perpustakaan, saya mendapat tanda centang hijau yang indah. Ketika saya menutup dialog, Eclipse masih menampilkan kesalahan jenis kelas tidak ditemukan. Ketika saya memeriksa propertinya lagi saya melihat X merah. Tapi solusi Mr. Kahn (hapus lib yang buruk, restart Eclipse, tambahkan lib lagi) bekerja dengan baik.
Saya menggunakan bundel ADT versi 0702 (dimulai dengan "cluster", berima dengan "duck").
sumber
Saya mengikuti jawaban yang diterima tetapi juga harus memastikan file "project.properties" saya dapat dibaca.
Jika file hanya-baca (diperiksa ke kontrol sumber) gerhana tidak akan mengeditnya. Menambahkan referensi perpustakaan akan berhasil, tetapi perubahan tidak akan bertahan setelah menekan OK.
Jika menutup jendela preferensi dan membukanya kembali menghapus perpustakaan yang baru saja Anda tambahkan, ini mungkin solusi Anda.
sumber
Jika proyek perpustakaan Anda masih tidak muncul, coba tambahkan bendera perpustakaan di properti proyek perpustakaan Anda
Tambahkan android.library = true
project.properties
sumber