2011-01-06 23 views
14

Tôi đã tải xuống một vài mã nguồn từ mã nguồn Google.Cách tạo R.java

Tôi đã thực hiện chúng trên Eclipse nhưng R.java tệp không được tạo và do đó tôi gặp nhiều lỗi cho biết rằng không thể giải quyết được R. Không có main.xml trong bố cục. Một số tệp XML khác có ở đó. Làm thế nào tôi có thể thực hiện các chương trình này?

+3

Có nhiều câu hỏi tương tự trên Stackoverflow. Vui lòng thực hiện tìm kiếm và đọc qua tài liệu cơ bản. Không yêu cầu tệp Main.xml. http://stackoverflow.com/questions/4516428/r-java-auto-generated-file http://stackoverflow.com/questions/2757107/developing-for-android-in-eclipse-r-java-not-generating –

+1

FWIW, cả hai câu hỏi đều không được trả lời hoàn toàn chính xác. Eclipse có thể tự nhận được một trạng thái mà nó không tạo ra một tệp R.java. Trong thực tế, R.java của tôi đã được * gỡ bỏ * bởi Dự án-> Hoạt động sạch được đề xuất bởi những người ở đó. –

+0

Có, dọn dẹp sẽ loại bỏ R.java nhưng lần sau bạn xây dựng nó sẽ được tái tạo. Nếu không, bạn có thể thử thoát khỏi Eclipse và sau đó quay trở lại; đôi khi Eclipse bị lẫn lộn. –

Trả lời

7

Giả sử bạn có sdk Android. Nếu bạn có .. chỉ cần làm sạch dự án. R.java sẽ được tạo tự động.

+3

Vệ sinh dự án sẽ xóa tệp R.java khỏi dự án. – Navigatron

+0

@Nuktus Về lý thuyết có. Đó là cách nó được cho là. Trong thực tế (nhật thực), bạn có thể thấy R.Java vẫn còn hiện diện sau khi dọn dẹp. Tồi tệ nhất của tất cả, đôi khi báo cáo nhập khẩu trong các lớp học, trỏ đến sai R.Java (ví dụ: từ dự án thư viện) – GSree

+0

Đó có thể là do bạn đã bật tính năng tự động dịch. Bạn làm sạch mọi thứ, sau đó tự động biên dịch lại nó. –

0

Nếu build.xml của bạn bao gồm mục tiêu "-resource-src" (nếu bạn bao gồm $ SDK_DIR/tools/main_rules.xml hoặc lib_rules.xml), bạn có thể tạo lại nó với kiến.

1

Sau vài giờ thất vọng cuối cùng tôi đã quyết định xóa các dấu đỏ khỏi tệp của tôi, nơi nó không thể giải quyết R.java vì nó không thực sự có sẵn trong mã của tôi. Sau khi xóa dòng màu đỏ đầu tiên khỏi tệp hoạt động của tôi, dự án sẽ tự động tạo và tạo R.java.

Đây là điều thực sự kỳ quái đối với tôi vì nó không có lý do gì và trở lại với cùng một thứ.

Hy vọng điều này sẽ giúp bạn

Kind Regards, Summved

15

Chừng nào bạn có một dự án Android hợp lệ, bạn có thể sử dụng để tạo ra các aapt package R.java từ nguồn lực. Dưới đây là ví dụ về cách sử dụng (tất cả phải ở trong một dòng):

aapt package --non-constant-id -f -m -M <abs_path_to_AndroidManifest.xml> 
    -S <abs_path_to_res_dir> -I <abs_path_to_platforms_android.jar> 
    -J <abs_path_to_dir_that_should_contain_gen_R_java) 
    --generate-dependencies 

Ở trên có thể được viết bằng ANT bằng cách sử dụng mục tiêu aapt hoặc bằng cách sử dụng mục tiêu exec.

+1

Hài hước - tạo ra nó một lần như thế này, kể từ đó nó cũng hoạt động trong Eclipse. Và có, tôi biết tôi nên sử dụng Android Studio nhưng tôi không muốn ... –

3

Xin chào, tôi vừa gặp phải vấn đề tương tự. Các tập tin R.java sẽ bị xóa một tái sinh mỗi khi bạn làm sạch dự án. Trong trường hợp của tôi có một số lỗi trong một trong các tệp .xml và không có R.java nào được tạo. Nếu bạn không có Main.xml có thể là lý do. anyway nếu bạn sửa chữa vấn đề .xml R.java nên được tạo ra.

0

Đối với người đọc trong tương lai, hãy khởi động lại adb rồi dọn dẹp.

2
  • mở Android SDK Manager
  • Tick Tools rằng có 3 gói các công cụ SDK Android, xóa và cài đặt chúng một lần nữa.
  • Khi hoàn tất, vui lòng làm mới dự án của bạn theo số Package Explorer.

Bạn sẽ thấy BuildConfig.javaR.java trong /gen

Tôi nghĩ rằng bạn muốn cần điều đó tôi khuyên bạn nên nhận xét này

Thưởng thức với ứng dụng xây dựng của bạn.

+0

Để chính xác, aadt là một phần của "công cụ xây dựng Android SDK". Sdks cũ hơn vận chuyển nó trong gói "nền tảng SDK" cho mỗi api-level. – Tobu

0

Sửa tất cả các lỗi trong bố cục Xml, nếu lỗi chỉ trong thuộc tính id, hãy đổi thành tên khác, sau đó nhập giá trị gốc, giải pháp này phù hợp với tôi.

0

Tôi gặp sự cố này sau khi thêm tệp jpg có tên tệp số vào thư mục có thể kéo của tôi.Tôi đã nhận được một lỗi biên dịch, "dự kiến ​​trên dòng y" khi cố gắng xây dựng lại dự án sau khi làm sạch nó. Bạn có thể muốn kiểm tra xem bạn có gặp vấn đề tương tự không. Mặc dù tôi gặp phải điều này trong khi sử dụng Android Studio, tôi chắc chắn nó cũng sẽ ảnh hưởng đến Eclipse.

0

Vệ sinh dự án, xóa R.java và tạo lại. Nếu bạn gặp lỗi ở bất kỳ đâu trong tệp/res của bạn (tài nguyên), thì R sẽ không được tạo thường xuyên. Nó có thể là một lỗi trong tên của một bức tranh, hoặc bất cứ điều gì ... sửa lỗi của bạn trước đây. chúc may mắn;)

0

Tôi đã gặp sự cố tương tự và tôi đã thay đổi thư mục không gian làm việc và tất cả các lỗi đều biến mất. Đó là loại giải pháp đơn giản nhưng nó hoạt động.

Các vấn đề liên quan