2013-05-23 42 views
8

Tôi đang chạy Eclipse 4.2.2 Juno trên Windows 64 bit để phát triển trên Android SDK 17 với ADT. Hôm nay, tôi đã dọn dẹp một dự án làm việc, chỉ để thấy rằng tập tin R.java sẽ không còn tạo ra nữa.Android R.java sẽ không tạo trong Eclipse

Sự cố này có danh sách rất khác nhau về các nguyên nhân có thể xảy ra. Người dùng Xám, in response to the thread located here, liệt kê một bộ bài viết, tất cả đều giải quyết các nguyên nhân có thể khác nhau.

Ông nói:

Dont lo lắng. Trước tiên, bạn có thể làm sạch dự án, sau đó chạy dự án. Nếu này không làm việc sau đó làm theo các liên kết sau đây:

Và sau đó tiến hành liệt kê các bài báo liên quan đến nguyên nhân khác nhau của vấn đề này, các liên kết mà tôi không thể bao gồm, nhưng có thể được tìm thấy trong các câu hỏi liên quan ở trên.

Nhận xét của Gray là bản tóm tắt tốt về các nguyên nhân phổ biến nhất cho vấn đề này, bao gồm quy ước đặt tên tệp tài nguyên, tuyên bố "nhập Android.R" sai, lỗi XML, tham nhũng yêu cầu làm sạch và xây dựng lại và kiểm tra SDK Android Project -> Properties -> Đường dẫn/thư viện xây dựng Java.

Vấn đề là, R.java của tôi vẫn không tạo ra! Khả năng duy nhất còn lại trong danh sách của Gray dường như là tệp main.xml hoặc AndroidManifest.xml của tôi bị hỏng, vì vậy tôi đã bao gồm chúng để đảm bảo rằng tôi không bỏ sót bất kỳ lỗi nào.

bố trí chính của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 
<com.bostonwalker.sseng.SSSurfaceView 
    android:id="@+id/ssview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
</FrameLayout> 

Và biểu hiện của tôi:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.bostonwalker.enginedev" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" >" 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

Là một lập trình viên Android mới bắt đầu, điều này vượt quá khả năng của tôi để debug. Ai đó có thể vui lòng tìm một lời giải thích?

+0

Bạn có tất cả thư mục * res * của mình không? * res/drawable *, * res/values ​​* (với các tệp thích hợp cần thiết)? – TronicZomB

+0

+1 Câu hỏi được nêu rõ ràng với các liên kết đến tài nguyên trước đó. Tất cả các câu hỏi SO nên được tốt này! –

Trả lời

10

Kiểm tra đầu tiên nếu có bất kỳ lỗi nào trong tệp tài nguyên của bạn. R.java sẽ không được tạo nếu trường hợp đó xảy ra. Kiểm tra xem bạn đã cập nhật quảng cáo của bạn thành vòng xoay hay chưa 22. Nếu có, hãy làm theo bên dưới

Nhấp chuột phải vào thuộc tính goto dự án của bạn. Đường dẫn xây dựng Java. Chọn tab Xuất đơn đặt hàng. Đảm bảo rằng Thư viện riêng tư Android được chọn. Nếu bạn đã tham chiếu dự án thư viện. làm tương tự cho dự án thư viện. Sạch sẽ và xây dựng.

Đồng thời goto quản lý sdk android và kiểm tra xem bạn đã cài đặt công cụ xây dựng sdk android chưa. Điều này không cần thiết nhưng hãy đảm bảo bạn đã cài đặt các công cụ xây dựng Android.

Kiểm tra các liên kết dưới đây

Eclipse error: R cannot be resolved to a variable

+2

Đúng vậy, hóa ra gói Công cụ xây dựng Android đã được gỡ cài đặt bằng cách nào đó, thật thú vị khi thấy lỗi này xuất hiện như thế nào! Cảm ơn! –

+0

@BostonWalker kiểm tra liên kết được đăng trong câu trả lời để rõ ràng hơn – Raghunandan

+0

Thiếu Công cụ xây dựng Android. Thật là một nỗi đau; cảm ơn vì đã cho tôi phần còn lại của buổi chiều của tôi! – mharper

0

Ngoài những gì Reghunandan nói, tôi chỉ có cùng một vấn đề sau khi cập nhật lên SDK 22 với Eclipse Indigo Win x64. Hóa ra rằng khi cập nhật Trình quản lý SDK đã gỡ cài đặt Công cụ Xây dựng cũ và không bao giờ cài đặt các Công cụ Xây dựng đã cập nhật, vì vậy tôi phải chạy lại nó để cài đặt lại chúng. Làm điều này cố định vấn đề của tôi và tất cả các lỗi xây dựng biến mất.

Lưu ý: Tôi phải khởi động lại Eclipse trước khi các lỗi biến mất, mặc dù tôi không được nhắc.

1

Bất cứ khi nào lớp R được tạo của bạn không được tạo, nó cho thấy có vấn đề khi tạo ra nó do một số vấn đề phân tích cú pháp từ tài nguyên XML. Kiểm tra bảng điều khiển lỗi trong IDE của bạn để tìm ra những gì cụ thể sai.

vấn đề thường gặp là:

  • Một nhân vật unescaped trong strings.xml của bạn, ví dụ you're thay vì you\'re
  • Thiếu layout_width hoặc layout_height thẻ trong nguồn lực bố trí
  • Thiếu tờ khai namespace
  • tên biến mà không được Java hỗ trợ, ví dụ do viết hoa hoặc sử dụng dấu cách, dấu gạch nối hoặc các ký tự không được hỗ trợ khác
  • Bất kỳ loại khác của lỗi cú pháp trong XML
0

tôi phải đối mặt với một vấn đề tương tự và thấy rằng tôi nhập khẩu com.google.android.gms trong đó có một tham chiếu đến google-play-services.jar. Vì vậy, khi tôi đã thêm đường dẫn của google-play-services.jar vào thư viện ứng dụng của tôi, R.Java được tạo.

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