2010-07-12 29 views
11

Tôi đã tải xuống nguồn cho SpriteMethodTest và tôi muốn xây dựng nó trong Eclipse. Vì vậy, tôi Went:Lớp R bị thiếu sau khi tạo dự án android từ nguồn hiện có

File >> New >> Dự án Android >> Tạo Project Từ hiện Nguồn >> SpriteMethodTest

Nó tạo ra dự án alright, nhưng lớp R không được tạo ra. Bất kỳ tệp nào tham chiếu đến tài nguyên trong R đều cho biết R cannot be resolved.

Nhập android.R chỉ cần kết quả trong R.drawable.background cannot be resolved. Làm cách nào để tạo lại R?

+4

Lưu ý rằng 'android.R' là một lớp hoàn toàn khác với' the.package.name.of.your.app.R' – MatrixFrog

+0

hi, tôi có cùng một vấn đề. Tôi cũng tạo dự án mới từ nguồn hiện có. Nguồn tôi sử dụng là mã mẫu từ Android SDK. R bị thiếu. Bạn đã sửa nó à? – Emerald214

+0

Không, tôi chưa bao giờ thực sự làm. Tôi chưa bao giờ có nhiều may mắn với Eclipse. – cstack

Trả lời

1

Project -> sạch (chọn dự án của bạn) -> Ok

này sẽ kích hoạt một tái xây dựng và chừng nào dự án được cấu hình như một dự án Android, R.java sẽ được tái sinh.

1

Hãy thử như sau:

  • Xóa thư mục gen
  • dự án => sạch
  • Nhấp chuột phải => Android Công cụ => Fix tính của dự án
  • Nhấp chuột phải => Run as .. . => Ứng dụng Android
+0

Hmm ... Không có tác phẩm nào trong số này hoạt động. Thư mục gen luôn luôn trống. – cstack

+0

Sau khi xóa nó và thực hiện "Sửa các thuộc tính dự án" Eclipse nói gì? – Macarse

+0

Nó không nói bất cứ điều gì. – cstack

4
  • Tạo tệp trống bên trong thư mục "gen" và đặt tên là "R.java"
  • nhấp chuột Project -> sạch ...
  • nhấp chuột Android Tools -> Fix dự án ...
1

R.java không được tạo ra thường chỉ ra các vấn đề ở những nơi khác, ví dụ : Manifest.xml có lỗi.

Khắc phục các lỗi đó và tạo lại. R.java sẽ được tạo ra sau đó.

Nếu nếu vẫn không có, hãy thực hiện dự án -> android -> sửa cài đặt Android.

5

Bạn đang gặp sự cố vì bạn đang nhập Androids R, không phải dự án cụ thể của bạn R. Chỉ cần xóa import android.R;, sau đó di chuột qua tham chiếu đến R đang cho số R cannot be resolved to a variable. Từ đó bạn sẽ có thể có một vài tùy chọn khác nhau để nhập R. Bạn muốn nhập R vào số gói của mình.

2

Tôi gặp sự cố tương tự chính xác này với SpriteMethodTest. Nó không có gì để làm với tên gói hoặc nhập khẩu. Như tarkeshwar nói, nếu R không được tạo ra, thì vấn đề là trước khi biên dịch. Trong trường hợp này là AndroidManifest.xml.

Thẻ cuối cùng trong biểu hiện là

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/> 

nhưng android:targetSdkVersion không phải là một thuộc tính hỗ trợ. Thay đổi dòng thành

<uses-sdk android:minSdkVersion="3"/> 

và điều đó sẽ cho phép Eclipse tạo lớp R.

2

Đã có một vấn đề tương tự, mà dường như được gây ra bởi các phiên bản SDK cũng như:

  1. Project -> properties -> android: chọn lvl API phù hợp và nhấn OK. Điều đó gây ra lớp R cuối cùng được tạo ra, bao giờ nó sẽ không biên dịch được.
  2. Xóa dự án và nhập lại dự án (bây giờ nó có lớp R) và làm việc trong lần thử đầu tiên.

* Đã xảy ra khi cố gắng kiểm tra mã ví dụ về con rắn.

4

Tệp tài nguyên R được tạo chỉ có thể được tạo bằng nhật thực nếu các tệp mà nó đọc có thể biên dịch, có nghĩa là các lỗi trong tệp (chẳng hạn như tệp kê khai) ngăn biên dịch. Vì vậy, giải quyết các lỗi của bạn (được liệt kê trong tab 'Vấn đề') trước tiên, sau đó lưu các thay đổi và sau đó nó sẽ được tạo ra.

Lý do thường có vẻ liên quan đến các phiên bản API là do các phiên bản khác nhau gây ra lỗi tương thích. Điều này thường xảy ra khi mọi người lấy mã mẫu và không đặt cùng phiên bản API như trình tạo mã đang sử dụng. Thay đổi sang phiên bản chính xác sẽ giải quyết các lỗi và cho phép tạo tệp R.

2

Trong SDK android môi trường của tôi bị thiếu công cụ nền tảng thư mục và tôi phải khởi động Android và cài đặt công cụ nền tảng. Bây giờ nó đang làm việc.

1

Chạy này trong thư mục dự án cố định nó cho tôi

android update project -p . 

tôi đã "Xây dựng tự động" tắt khi tôi tạo ra các dự án mới, vì vậy một số tập tin không được tạo ra như họ cần phải có được

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