Eclipse / Android: “Lỗi khi chạy trình tạo 'Android Pre Compiler' trên dự án…”


97

Đang cố gắng thực hiện một số công việc trên một dự án Android mà tôi đã không làm trong vài tháng, nhưng mỗi khi tôi cố gắng xây dựng dự án, Eclipse lại xuất hiện một hộp thoại cho biết:

'Building workspace' has encountered a problem

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

Tôi đang chạy Eclipse trên máy Mac với mục tiêu xây dựng dự án Android 4.0.3 (API Cấp 15) và tôi đã cài đặt các phiên bản sau của những thứ này

  • Nhật thực - 3.7.2
  • Công cụ phát triển Android - 21.0.1
  • SDK Android - tối đa 17

Tôi đã thử một số cách, chẳng hạn như bắt đầu một không gian làm việc hoàn toàn mới, cài đặt 'Tiện ích mở rộng Bỏ qua SVN JDT Lật đổ' này, nâng cấp mọi thứ, đảm bảo rằng tôi không có bất kỳ tệp nào không có tiện ích mở rộng trong thư mục nguồn của mình (hoặc bất kỳ nơi nào khác), đảm bảo trình biên dịch Java của tôi là 1.6 và tắt đi bật lại.

BIÊN TẬP

Đây là dấu vết ngăn xếp từ nhật ký lỗi Eclipse cho sự cố này:

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)

Và dữ liệu phiên:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Hằng số BootLoader: OS = macosx, ARCH = x86_64, WS = ca cao, NL = en_US
Đối số khung: -keyring /Users/onemick/.eclipse_keyring -showlocation
Đối số dòng lệnh: -os macosx -ws cacao -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

CHỈNH SỬA KHÁC

OK, vì vậy việc tìm kiếm nhiều hơn đã dẫn tôi đến trang này , điều này cho thấy rằng vấn đề này chắc chắn liên quan đến sự hiện diện của các tệp không có phần mở rộng trong dự án của tôi - tuy nhiên tôi không biết tệp nào và trong thời gian tồn tại của tôi, tôi không thể tìm thấy bất kỳ trong dự án đó!

Tôi thậm chí rất vui nếu ai đó có thể giải thích lỗi này có nghĩa là gì và cách tôi có thể nhận thêm thông tin gỡ lỗi về lỗi cơ bản.


1
mục tiêu xây dựng dự án của bạn là gì?
Padma Kumar

Android 4.0.3 (API cấp 15)
Mick Byrne


Có, tôi đã thử tất cả các giải pháp khác nhau được đề xuất trong vấn đề này, nhưng không có giải pháp nào giải quyết được vấn đề của tôi. Tôi đã hỏi câu hỏi riêng này vì tôi chỉ gặp vấn đề về 'Trình biên dịch trước Android'. Tôi thậm chí không hiểu 'vấn đề' này có nghĩa là gì.
Mick Byrne

Câu trả lời:


107

Đối với những người bạn không muốn cài đặt phiên bản xem trước của ADT, có một cách giải quyết được mô tả ở đây .

  1. Mở thuộc tính của dự án trong Eclipse rồi đến Tài nguyên -> Bộ lọc tài nguyên.
  2. Nhấp vào nút "Thêm ..." -> Đánh dấu chọn "Loại trừ tất cả", "Tệp và thư mục", "Tất cả trẻ em". Trong hộp nhập văn bản nhập ".svn" (không có dấu ngoặc kép).
  3. Khởi động lại Eclipse.

Tôi đã gặp vấn đề tương tự với thư mục .git , nó hoạt động như một sự quyến rũ.


Hãy nhớ rằng bạn cần đóng và mở lại dự án sau thay đổi này.
Tommie

Xin lưu ý rằng ADT 21.1 đã hết và điều này đã được khắc phục, vì vậy bạn có thể chỉ cần cập nhật các công cụ của mình.
Vadim Kotov

Xin hãy giúp tôi thoát khỏi lỗi này tôi thấy nó làm việc cho tất cả các bạn, nhưng tôi vẫn nhận được lỗi tương tự
user1106888

@ user1106888 có thể bạn có một thư mục khác có dấu chấm trong tên của nó. hoặc một số tệp không có phần mở rộng, chúng cũng có thể tạo ra lỗi này.
Vadim Kotov

Vấn đề tương tự / có liên quan: stackoverflow.com/questions/14188650/…
Mr-IDE

84

Tôi luôn ghét trả lời các câu hỏi của chính mình, nhưng đây là một giải pháp chính xác.

Phiên bản 21.0.1 của công cụ ADT có một lỗi ngăn quá trình xây dựng dự án nếu bạn có bất kỳ tệp nào không có phần mở rộng trong đó. Đây là một vấn đề cụ thể đối với người dùng (như tôi) sử dụng subversion với các tệp không có phần mở rộng.

Một giải pháp được đề xuất là cài đặt các plugin Eclipse 'lật đổ' này (Trợ giúp> Cài đặt phần mềm mới> Làm việc với trang web phiên bản Eclipse của bạn> Mở rộng 'Cộng tác'> Chọn 'Tiện ích mở rộng Bỏ qua SVN JDT lật đổ' và 'Nhà cung cấp nhóm SVN lật đổ') nhưng điều này đã không 'không hiệu quả với tôi (Tôi đang sử dụng Indigo, có lẽ trên Juno nó hoạt động).

Giải pháp là cài đặt phiên bản xem trước 21.1 của các công cụ ADT và trình quản lý SDK từ Google. Hướng dẫn rõ ràng có thể được tìm thấy ở đây và bạn có thể đọc tất cả các nền tảng thêm giọng nói của bạn vào đám đông tức giận của các nhà phát triển tại đây .


4
Điều này không khắc phục được sự cố, hãy đảm bảo cập nhật cả SDK ADT.
Michael Marsella

1
@MickByrne Cảm ơn. Rõ ràng, tôi đã phải cài đặt kênh "xem trước" của ADT và SDK để giải quyết vấn đề với Eclipse Juno. Cảm ơn.
Aleks G

3
Nếu sau khi cài đặt các plugin lật đổ, sự cố không biến mất, hãy thử cách này: Xóa dự án khỏi không gian làm việc của bạn, xóa các thư mục 'bin' và 'gen' và đảm bảo rằng chúng bị loại trừ trong svn, sau đó thêm lại dự án vào không gian làm việc (Tệp> Mới> Dự án, Dự án Android từ Mã hiện có). Nếu bây giờ nó được đặt tên không chính xác, hãy nhấp chuột phải vào nó> Refactor> Rename. Điều này đã khắc phục sự cố cho tôi.
Glenn Schmidt

3
21.1 đã hết, vì vậy bạn có thể nâng cấp lên nếu không thích xem trước.
Xavier Ducrohet

1
mar13 không phải là một XEM TRƯỚC nữa. chỉ cần đi tới Trình quản lý SDK và nâng cấp.
tony gil

15

Tôi vừa khởi động lại Eclipse và sự cố đã được giải quyết.


9

Tôi cũng gặp vấn đề tương tự và tôi nhận ra rằng tôi đã đóng một dự án khác được kết nối với dự án mà tôi đang xây dựng. Khi tôi mở nó, mọi thứ đều biến mất.


Cảm ơn, điều đó hoàn toàn hiệu quả. Quá trình nhập dự án mà tôi đang sử dụng làm thư viện có đầy lỗi, vì vậy tôi đã đóng nó (cũng vì tôi không sử dụng chức năng của nó vào thời điểm đó). Vì vậy, vì tôi không cần nó, tôi đã ngắt kết nối nó khỏi các thư viện của mình (thông qua Thuộc tính -> Android -> chọn thư viện rồi nhấp vào Xóa) và các lỗi dự án gốc đã biến mất. ĐƯỢC!
Azurespot

2

Có thể bạn đã đóng thư viện 'appcompact_v7' để tạo tệp mới. điều này đã giải quyết vấn đề của tôi bằng cách mở nó trở lại


1

Tôi gặp lỗi này và xóa tất cả tệp .svn, dự án của tôi không thể hoạt động, khi xử lý 55%

và tôi thấy đây là một res dir trống trong dự án của tôi, tôi không biết nó hoạt động như thế nào, nhưng khi xóa res dir trống, dự án của tôi,

vì vậy, bạn nên kiểm tra tất cả các tệp trong dự án của mình.


1

Tôi cũng gặp phải vấn đề tương tự và đã lãng phí rất nhiều thời gian để khắc phục sự cố này, các giải pháp đưa ra ở trên cũng không hoạt động với tôi. Tôi đã giải quyết vấn đề này bằng cách đi tới Eclipse -> Trợ giúp -> Kiểm tra các bản cập nhật, sau đó khởi động lại eclipse sau khi cập nhật xong.


1

Nếu bạn đã vô tình đóng các dự án thư viện cần thiết để chạy dự án của mình thì chỉ cần mở chúng trong eclipse. Lỗi này phải biến mất.


0

Một trường hợp khác: Tôi đã đóng dự án hiện tại (với thông báo lỗi xây dựng), hủy kho lưu trữ SVN đang sử dụng, biên dịch lại:

Lỗi xây dựng

Tôi thêm vị trí kho lưu trữ:

Tòa nhà ổn!


0

Để giải quyết vấn đề này, tôi cần chạy eclipse với tư cách quản trị viên


-1

Tôi đã gặp sự cố này gần đây và các giải pháp được đưa ra ở trên không hoạt động đối với tôi. tôi không có bất kỳ tệp nào không có phần mở rộng. Điều đã xảy ra là sau khi thêm một dự án mới từ mã hiện có, có một lỗi thiết lập dường như đã làm rối loạn trạng thái của nhật thực. Sau đó, bất kỳ dự án nào trong không gian làm việc mà tôi đã cố gắng dọn dẹp hoặc xây dựng đều gây ra lỗi Trình biên dịch trước Android với java.lang.NullPointerException.

tôi thấy rằng các tệp main.xml bên trong thư mục / res vì ​​một số lý do không được tìm thấy, mặc dù tệp ở đó rất nhiều. Giải pháp là đóng tất cả các phối cảnh tệp đang mở trong Bảng chỉnh sửa Java Eclipse, đóng tất cả các dự án, sau đó mở dự án và mở tệp xml chính. Sau khi tôi làm điều đó, sự cố Pre-Compiler đã biến mất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.