Eclipse / Android: “Kesalahan menjalankan pembuat 'Android Pre Compiler' pada proyek…”

97

Mencoba melakukan beberapa pekerjaan pada proyek Android yang belum saya kerjakan selama beberapa bulan, namun setiap kali saya mencoba membangun proyek tersebut, Eclipse memunculkan dialog yang mengatakan:

'Building workspace' has encountered a problem

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException

Saya menjalankan Eclipse di Mac dengan target pembangunan proyek Android 4.0.3 (API Level 15) dan saya telah menginstal versi berikut ini

  • Gerhana - 3.7.2
  • Alat Pengembangan Android - 21.0.1
  • SDK Android - hingga 17

Saya sudah mencoba beberapa hal, seperti memulai ruang kerja baru, menginstal 'Subversive SVN JDT Ignore Extensions' ini, memutakhirkan semuanya, memastikan saya tidak memiliki file apa pun tanpa ekstensi di folder sumber saya (atau di mana pun), memastikan compiler Java saya adalah 1.6 dan mematikannya lagi.

EDIT

Berikut pelacakan tumpukan dari log kesalahan Eclipse untuk masalah ini:

java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:432)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:305)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Dan data sesi:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Konstanta BootLoader: OS = macosx, ARCH = x86_64, WS = cocoa, NL = en_US
Argumen kerangka kerja: -keyring /Users/onemick/.eclipse_keyring -showlocation
Argumen baris perintah: -os macosx -ws cocoa -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

EDIT LAINNYA

Oke, semakin banyak pencarian membawa saya ke halaman ini , yang menunjukkan bahwa masalah ini pasti terkait dengan keberadaan file tanpa ekstensi dalam proyek saya - namun saya tidak tahu file mana dan untuk kehidupan saya, saya tidak dapat menemukan apapun dalam proyek itu!

Saya bahkan akan senang jika seseorang dapat menjelaskan apa arti kesalahan ini dan bagaimana saya bisa mendapatkan lebih banyak info debug tentang kesalahan yang mendasarinya.

Mick Byrne
sumber
1
apa proyek Anda membangun target?
Padma Kumar
Android 4.0.3 (API Level 15)
Mick Byrne
Ya, saya mencoba semua solusi berbeda yang disarankan dalam masalah ini, tetapi tidak ada yang menyelesaikan masalah saya. Saya mengajukan pertanyaan terpisah ini karena saya hanya memiliki masalah 'Android Pre Compiler'. Saya bahkan tidak mengerti apa artinya 'masalah' ini.
Mick Byrne

Jawaban:

107

Bagi Anda yang tidak ingin menginstal versi pratinjau ADT, ada solusi yang dijelaskan di sini .

  1. Buka properti proyek di Eclipse lalu Sumber Daya -> Filter sumber daya.
  2. Klik tombol "Tambahkan ..." -> Centang "Kecualikan semua", "File dan folder", "Semua anak". Di kotak entri teks, masukkan ".svn" (tanpa tanda kutip).
  3. Mulai ulang Eclipse.

Saya memiliki masalah yang sama dengan folder .git , itu bekerja dengan sangat baik.

Vadim Kotov
sumber
Ingatlah bahwa Anda harus menutup dan membuka kembali proyek setelah perubahan ini.
Tommie
Harap dicatat bahwa ADT 21.1 telah keluar, dan ini telah diperbaiki, jadi Anda dapat memperbarui alat Anda.
Vadim Kotov
Tolong bantu saya menghilangkan kesalahan
ini.Saya
@ user1106888 mungkin Anda memiliki folder lain dengan titik di namanya. atau beberapa file tanpa ekstensi, mereka juga dapat menghasilkan kesalahan ini.
Vadim Kotov
Masalah serupa / terkait: stackoverflow.com/questions/14188650/…
Mr-IDE
84

Saya selalu benci menjawab pertanyaan saya sendiri, tetapi ini adalah solusi yang tulus.

Alat ADT versi 21.0.1 memiliki bug yang mencegah pembangunan proyek jika Anda memiliki file tanpa ekstensi di dalamnya. Ini adalah masalah khusus bagi pengguna (seperti saya) yang menggunakan subversi dengan file tanpa ekstensi.

Salah satu solusi yang disarankan adalah menginstal plugin Eclipse 'subversif' ini (Bantuan> Instal Perangkat Lunak baru> Bekerja dengan situs versi Eclipse Anda> Perluas 'Kolaborasi'> Pilih 'Subversif SVN JDT Abaikan Ekstensi' dan 'Penyedia Tim SVN Subversif') tetapi ini tidak dilakukan Tidak berhasil untuk saya (Saya menggunakan Indigo, mungkin di Juno berhasil).

Solusinya adalah menginstal versi pratinjau 21.1 dari alat ADT dan pengelola SDK dari Google. Instruksi yang jelas dapat ditemukan di sini dan Anda dapat membaca semua latar belakang menambahkan suara Anda ke gerombolan pengembang yang marah di sini .

Mick Byrne
sumber
4
Ini memperbaiki masalah, pastikan untuk memperbarui SDK dan ADT.
Michael Marsella
1
Terima kasih. Rupanya, saya harus menginstal saluran "pratinjau" dari ADT dan SDK untuk menyelesaikan masalah dengan Eclipse Juno. Terima kasih.
Aleks G
3
Jika setelah menginstal plugin subversif masalahnya tidak hilang, coba ini: Hapus proyek dari ruang kerja Anda, hapus folder 'bin' dan 'gen' dan pastikan mereka dikecualikan di svn, lalu tambahkan kembali proyek ke ruang kerja (File> New> Project, Android Project from Existing Code). Jika sekarang namanya salah, klik kanan> Refactor> Rename. Ini memperbaiki masalah saya.
Glenn Schmidt
3
21.1 sudah keluar, jadi Anda dapat meningkatkannya jika Anda tidak menyukai pratinjau.
Xavier Ducrohet
1
mar13 bukan PRATINJAU lagi. cukup buka SDK Manager dan tingkatkan.
tony gil
15

Saya baru saja memulai ulang Eclipse dan masalahnya teratasi.

h2O
sumber
9

Saya juga mengalami masalah yang sama dan saya menyadari bahwa saya telah menutup proyek lain yang terhubung dengan proyek yang saya bangun. Setelah saya membukanya semuanya menghilang.

arniotaki
sumber
Terima kasih, itu benar-benar berhasil. Impor proyek yang saya gunakan sebagai pustaka penuh dengan kesalahan, jadi saya menutupnya (juga karena saya tidak menggunakan fungsinya pada saat itu). Jadi karena saya tidak membutuhkannya, saya memutusnya dari perpustakaan saya (melalui Properties -> Android -> pilih perpustakaan lalu klik Hapus) dan kesalahan proyek asli hilang. YAY!
Azurespot
2

Mungkin Anda telah menutup pustaka 'appcompact_v7' untuk membuat file baru. ini memecahkan masalah saya dengan membukanya kembali

Vinod Joshi
sumber
1

Saya menemui kesalahan ini, dan menghapus semua file .svn, proyek saya tidak dapat bekerja, saat proses 55%

dan saya menemukan ini adalah direktori res kosong dalam proyek saya, saya tidak tahu bagaimana hasilnya, tetapi ketika menghapus dir res kosong, proyek saya workd,

jadi, Anda harus memeriksa semua file Anda dalam proyek Anda.

pengguna998953
sumber
1

Saya juga menghadapi masalah yang sama, dan membuang banyak waktu untuk memperbaikinya, juga solusi yang diberikan di atas tidak berhasil untuk saya. Saya memecahkan masalah ini dengan membuka Eclipse -> Bantuan -> Periksa pembaruan, dan kemudian memulai ulang gerhana setelah pembaruan selesai.

Amrit Pal Singh
sumber
1

Jika Anda secara tidak sengaja menutup proyek perpustakaan yang penting untuk menjalankan proyek Anda, maka buka saja di gerhana. Kesalahan ini harus hilang.

Ganesh Hegde
sumber
0

Kasus lain: Saya menutup proyek saat ini (dengan membangun pesan kesalahan), membuang repositori SVN yang digunakan, mengkompilasi ulang:

Kesalahan bangunan

Saya menambahkan lokasi repositori:

Bangunan ok!

Seraphim
sumber
0

Untuk mengatasi masalah ini saya perlu menjalankan eclipse sebagai administrator

edrian
sumber
-1

saya mengalami masalah ini baru-baru ini dan solusi yang diberikan di atas tidak berhasil untuk saya. saya tidak punya file tanpa ekstensi. Kebetulan setelah menambahkan proyek baru dari kode yang ada, terjadi kesalahan penyiapan yang tampaknya mengacaukan status gerhana. Setelah itu, setiap proyek di ruang kerja yang saya coba bersihkan atau buat memberikan kesalahan Android Pre-Compiler dengan java.lang.NullPointerException.

saya menemukan bahwa file main.xml di dalam direktori / res karena alasan tertentu tidak ditemukan, meskipun file tersebut sangat banyak di sana. Solusinya adalah menutup semua perspektif file yang terbuka di Eclipse Java Edit Panel, tutup semua proyek, lalu buka proyek dan buka file xml utama. Setelah saya melakukan itu, masalah Pre-Compiler hilang.

sri_s
sumber