Không thể giải quyết biểu tượng Riên trong Android Studio


715

Trong mọi trường hợp trong tất cả các lớp mà tôi tham chiếu R.id.something, Rnó có màu đỏ và thông báo "không thể giải quyết ký hiệu R". Ngoài ra, mỗi lần R.layout.somethingnó được gạch chân màu đỏ và nói "không thể giải quyết phương thức setContentView (?)". Dự án luôn xây dựng tốt. Thật khó chịu khi thấy điều này mọi lúc. Tôi đã đọc nhiều câu hỏi khác ở đây về một cái gì đó tương tự nhưng hầu hết liên quan đến việc nhập các dự án từ Eclipse. Tôi đang sử dụng những gì tôi tin là phiên bản Android Studio mới nhất và dự án đã được tạo bằng Android Studio và hoạt động mà không có bất kỳ vấn đề "không thể giải quyết R" nào. Tôi muốn biết những gì gây ra điều này nếu bất cứ ai biết.


trong quá khứ tôi đã nhận được các lỗi xml như: thanh tiến trình có thể được chuyển thành android.widget.textview và tôi đã sửa lỗi đó bằng cách chỉ thay đổi tên của textview. Tôi vẫn thực sự không biết điều gì gây ra lỗi bắt đầu.
ez4nick

Nếu bạn đã thay đổi tên, có lẽ bạn đang cố gắng sử dụng một tham chiếu chuỗi không tồn tại trong res / chuỗi.xml?
Nhãn cầu

2
tôi đã tìm kiếm nhiều lần trước khi hỏi câu hỏi này và tìm thấy nhiều câu hỏi tương tự bao gồm cả câu hỏi mà bạn đề cập. Tôi đã đọc đề xuất trong câu hỏi đó và không có nhập Android.R trong bất kỳ tệp java nào của tôi.
ez4nick

2
Này mọi người, tôi quên mất việc hỏi câu hỏi này vì nó đã được hỏi từ rất lâu rồi. Tôi nên đã chấp nhận câu trả lời của riêng tôi một năm trước đây và bây giờ là nhận xét trên này. Vấn đề chỉ đơn giản là studio android đã ở giai đoạn đầu như vậy vào thời điểm đó và là một nhà phát triển mới, tôi không bao giờ nên sử dụng nó. Hãy yên tâm mọi thứ đang hoạt động tốt và đã được. Nếu có thể xin vui lòng phục hồi câu trả lời ban đầu của tôi để tôi có thể chấp nhận nó.
ez4nick

3
Không tìm thấy R không phải là lỗi của bạn, đó là lỗi do lỗi Build Khắc phục các lỗi khác của bạn và bạn sẽ ổn.
Just_someone

Câu trả lời:


720

Tôi đã có vấn đề này quá. Một đơn giản 'gradlew sạch' và 'gradlew build' đã thực hiện thủ thuật này.


Nhấp vào Build-> Clean Project và nó sẽ thực hiện dọn dẹp lớp


56
đôi khi bạn cũng cần khởi động lại studio android. hoặc ít nhất là cho tôi
Người dùng Foo Bar

24
Đối với những người thuyết phục bằng cách sử dụng dòng lệnh, nhấp vào Build-> Clean Project và điều đó sẽ thực hiện 'gradlew clean'. ;)
Ông Concolato

22
Không có may mắn ... Việc xây dựng lại dọn dẹp không hoạt động với tôi
CandleCoder

7
nếu sạch sẽ, xây dựng lại, vô hiệu hóa cache-restart không giải quyết được cho: nhập gói.R;
Sudip Bhandari

2
Đối với tôi điều này đã gây ra vấn đề: Không khớp giữa ApplicationId trong lớp và tên gói trong tệp kê khai (và mặc dù nhập tự động đã thêm địa chỉ sai cho tệp R). Tôi đề nghị bài viết nhỏ này để làm rõ sự khác biệt giữa hai. blog.stommeandroid.com/package-name-vs-application-id
Tina

227

Trong các phiên bản Android Studio mới nhất, ít nhất là đối với tôi, các tác phẩm sau:

"Công cụ" -> "Android" -> "Dự án đồng bộ hóa với tệp Gradle"

Trong Android Studio 3.1.3 mới nhất (tháng 7 năm 2018), "Dự án đồng bộ hóa với các tệp Gradle" có sẵn trong thanh menu chính.

nhập mô tả hình ảnh ở đây


Phiên bản Android Studio bạn đã sử dụng thời gian đó là gì?
Joel Handwell

Không hoạt động đối với tôi (Android Studio 0.8.14). Nhưng, Build> Clean dự án hoạt động tốt.
Phát H. VU

Vẫn hoạt động trong Android 1.2.1. Hãy nhớ làm điều này nhiều lần, nếu nó không hoạt động trong lần đầu tiên.
noob

Đây là điều duy nhất làm việc cho tôi. Tôi đã thử tất cả các giải pháp khác trước.
Mac

1
Trong Android Studio 3.1.1, tùy chọn này nằm trong Tệp -> Dự án đồng bộ hóa với tệp Gradle
Hrishikesh Kadam

155

Tôi đã sử dụng gradle 3.3.0. Đó là thủ phạm chính. Đã lãng phí 6,50 giờ từ cuộc sống của tôi. Lớp 3.2.1 đã loại bỏ lỗi.

classpath 'com.android.tools.build:gradle:3.2.1'

Vấn đề được giải quyết sau khi thay đổi phiên bản lớp. Chi tiết lịch sử có thể được tìm thấy ở đây .


9
Một kỳ công tuyệt vời khác của các nhà phát triển studio Android. Trở lại 3.2.1thực sự là giải pháp duy nhất có hiệu quả với tôi ...
Vucko

1
Đáng kinh ngạc vẫn là một vấn đề 2 tháng sau. Phiên bản mới nhất (3.3.2) đã không sửa nó, 3.2.1 đã làm.
JakeSteam

Thay vì quay trở lại lớp, 3.2.1bạn cũng có thể nâng cấp Android Studio lên phiên bản 3.3. Xem câu trả lời của tôi ở đây
arne.z

nó hoạt động bằng cách thay đổi 3.3.0 thành 3.2.1 nhưng câu hỏi của tôi là nó hoạt động tốt trên 3.3.0 tôi vừa mới cấu trúc lại và cập nhật tệp xml và tệp gradle và đã đồng bộ hóa lớp. Tôi có thể biết lý do có thể là gì không
bảo hiểm

25 giờ internet và có vẻ như đây là giải pháp làm việc duy nhất. Cảm ơn studio android: (....
Nahabwe Edwin

108

Tôi có một vấn đề tương tự và đây là những gì tôi đã làm:

Dự án sạch và Dự án đồng bộ hóa với Gradle,

nhập mô tả hình ảnh ở đây

kiểm tra phiên bản buildTools trong sdk của tôi nhập mô tả hình ảnh ở đây

Từ lớp xây dựng (mô-đun) thay đổi minSdkVersion từ 8 thành 9

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

Nhưng tất cả điều này đã không giúp đỡ.

Cuối cùng tôi đã tìm thấy câu trả lời (điều này có hiệu quả trong trường hợp của tôi)

Thay đổi từ build.gradle (mô-đun: ứng dụng)

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

Hoặc là

Chọn tệp | Thay đổi cấu trúc dự án Phiên bản công cụ xây dựng thành 21.1.1

nhập mô tả hình ảnh ở đây


Điều này cũng rất hiệu quả đối với tôi, thay đổi các bản dựng và thiết lập các tệp lớp (mô-đun)
Samuele Bolognini

Cảm ơn bạn, như khôn ngoan, đây là giải pháp.
Ứng dụng Dev Guy

58
  1. Kiểm tra tệp xml của bạn.
  2. Dự án sạch.

Đây là nó.

Ví dụ: tôi có một mục trong strings.xml:

<string name="A">Some text</string>

Và trong activity_main.xmltôi đã sử dụng chuỗi này

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

Trong khi đang làm việc với dự án, tôi đã xóa nó

 <string name="A">Some text</string>

Và do đó activity_main.xmltrở nên không hợp lệ. Kết quả là: không thể giải quyết R.

Vì vậy, kiểm tra các *.xmltập tin của bạn và làm sạch dự án.


Điều này thực sự đã cứu cuộc đời tôi [PLUS ONE]
GingerHead

Một hình ảnh bị thiếu một trong những XML của tôi được đề cập đã gây ra vấn đề này cho tôi. Đặt hình ảnh vào thư mục, được làm sạch và R bây giờ lại vui vẻ.
Casey Murray

Tôi đã vô tình có chuỗi của tôi được định nghĩa hai lần trong chuỗi DOM. Studio không cho thấy điều đó cả. X- (Cảm ơn bạn đã trả lời.
mã hóa

Điều này là cho các nhà phát triển khác đọc. Cách tiếp cận một mình này sẽ giải quyết vấn đề như nó đã làm cho tôi.
Paramvir Singh Karwal

6
Tại sao không có phản hồi để gạch chân các tệp XML xấu trong IDE?
Fuhrmanator

53

Nếu bạn thấy lỗi này sau khi di chuyển các tệp hoặc thư mục java sang các vị trí khác, thì bạn có thể đảm bảo rằng Android Studio đã bị nhầm lẫn. Và đoán xem? hoàn tác những hành động đó không khắc phục được vấn đề.

Vì vậy, bạn cố gắng làm sạch, nhưng điều đó không làm việc.

Và khởi động lại cũng không hoạt động.

Nhưng hãy thử Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại ... -> Không hợp lệ và khởi động lại

Android Studio duy trì thông tin về các tệp nào phụ thuộc vào các tệp khác. Và vì việc di chuyển tệp xung quanh không được triển khai chính xác, nên việc di chuyển tệp gây ra lỗi. Và đó không phải là tất cả: bộ nhớ cache của các phụ thuộc này được sử dụng trong nỗ lực tăng tốc độ xây dựng.

Điều này có nghĩa là bạn không chỉ phải khởi động lại mà còn cần phải vô hiệu hóa các bộ đệm đó để khôi phục (hoặc chính xác hơn là xây dựng lại) sự tỉnh táo.


Đã không giúp được gì. Đã thử làm sạch / xây dựng lại quá. Xảy ra lỗi sau khi tôi chuyển gói java sang gói khác. Thật thú vị, trong một gói R lớp có thể được truy cập, nhưng nó không thể được truy cập trong gói mà tôi đã di chuyển.
rint

Trong các phiên bản gần đây hơn của Android Studio, Không hợp lệ và Khởi động lại hiện là lựa chọn menu mặc định. Điều này sẽ giúp ít nhất một vài người. (Quá tệ, họ không sửa tất cả các lỗi điên gây ra lỗi này ngay từ đầu!)
Scott Biggie

1
Tôi đã gặp lỗi này sau khi di chuyển và đổi tên một dự án. Điều này đã giải quyết vấn đề R sau khi tất cả việc dọn dẹp và khởi động lại không được. Cảm ơn bạn.
FrankKrumnow

2
Việc này mất khoảng thời gian tương đương với việc uống một tách cà phê - lần lượt có thể được sử dụng để tắm cà phê đẹp nếu nó vẫn có chữ R màu đỏ ... (´)
ZooMagic

1
đã tìm thấy một gif cho nhận xét trước đây của tôi -> tenor.com/view/ từ
ZooMagic

30

Tôi nghĩ rằng nếu bạn đặt các tệp Hoạt động của mình vào một thư mục khác ngoài thư mục mặc định. Bạn cần nhập com.example.yourproject.R(đây là Rtệp dự án KHÔNG phải Android.Rtệp) vào TẤT CẢ các hoạt động sử dụng R. Ví dụ: trong MainActivitytệp chèn dòng này:

import com.example.yourproject.R;

1
Ah, và sẽ vẫn có thông báo lỗi trước khi bạn xây dựng lần đầu tiên. Tuy nhiên, bạn chỉ cần nhấn build, Android Studio sẽ tạo tệp R và quá trình xây dựng sẽ thành công.
ninjahoahong

và tôi nghĩ tốt hơn là sau khi sửa chữa, bạn nên dọn dẹp dự án của mình và sau đó xây dựng. hoặc nhấn Shift + F9 để gỡ lỗi với thiết bị hoặc trình giả lập của bạn. Tôi thích gỡ lỗi trên thiết bị thực.
ninjahoahong

Đây là giải pháp tốt nhất. Cảm ơn anh chàng
Arundev

Câu trả lời này là cây đũa thần. cảm ơn
leeCoder

28

Dường như có nhiều nguyên nhân cho vấn đề này. Gần đây, tôi đã thêm một hoạt động để thử nghiệm với tên gọi NewActivity. Điều này tạo ra một tệp được gọi res/menu/new.xmlvà gradle không thích tên đó vì mới là một từ dành riêng.

gradlew clean

hoặc là

"Tools" -> "Android" -> "Sync Project with Gradle Files"

Đó chắc chắn là những điều tốt để thử, nhưng bạn có thể có một số vấn đề khác bạn cần giải quyết trước khi bạn chạy các lệnh đó.


cảm ơn đã làm việc cho tôi quá Câu hỏi nhỏ - tôi nên gõ gradlew ở đâu nếu tôi muốn làm theo cách này (tôi đã làm "Công cụ" -> "Android" -> "Dự án đồng bộ hóa với tệp Gradle")?
Sergii

Mở một thiết bị đầu cuối lệnh, chuyển sang thư mục dự án và thực hiện "./gradlew sạch"
chawkinsuf

Đó là những gì nó đã cho tôi. Cảm ơn!
TinyGrasshopper

Làm thế nào để giải quyết vấn đề này tốt hơn 'Dự án xây dựng lại'?
IgorGanapolsky 04/03/2015

Có, trong trường hợp của tôi, tôi đã thêm một tệp png, được gọi là "import.png". Tôi đã phải đổi tên nó, trong trường hợp của tôi là "import_icon.png" và sau đó dự án được biên dịch ok.
mihai71

17

Tệp R.java chứa liên kết giữa trang xml và java. "R không thể được giải quyết" chỉ phát sinh nếu có vấn đề với một số tệp tài nguyên của bạn. Vì vậy, cách tốt nhất và hiệu quả là xóa xml cuối cùng hoặc drawable trong tệp res. và sau đó một lần nữa bắt đầu từ đó theo các tiêu chuẩn mã hóa Android. Đây là cách duy nhất. Cách hiệu quả và đúng đắn.

Cũng sử dụng Git để theo dõi mã thích hợp. ..


Trong trường hợp của tôi, không chỉ có các vấn đề trong XML, mà còn ở PNG (có thể vẽ được).
CoolMind

15

Mã của bạn chỉ bị xáo trộn. Câu trả lời khá đơn giản.

Chỉ cần đi đến Xây dựng -> Dự án sạch .

Điều đó sẽ làm các trick.

Kiểm tra phiên bản Android Studio của bạn.

Tôi hiện đang sử dụng Android Studio 3.0.1 .


14

Bạn đã cập nhật các công cụ SDK của bạn gần đây? Khởi chạy trình quản lý SDK Android và đảm bảo bạn có các công cụ SDK mới nhất, hiện tách biệt với các công cụ nền tảng. Tôi gặp vấn đề tương tự khi lần đầu tiên cập nhật trình quản lý SDK của mình, gói công cụ xây dựng SDK không hiển thị để cài đặt / cập nhật cho đến khi tôi đóng và mở lại trình quản lý SDK.


Tôi tin rằng tất cả mọi thứ được cập nhật ở đó. điều đó thực sự có thể gây ra một vấn đề như thế này?
ez4nick

nếu bạn chưa cài đặt công cụ xây dựng SDK mới , vâng.
đảo ngược

12

Chỉ cần làm sạch dự án của bạn và Sync Project với Gradle File.nhập mô tả hình ảnh ở đây

Và vấn đề sẽ được giải quyết.


Cần lưu ý rằng nhấp chuột phải vào "ứng dụng" và nhấp vào nút đồng bộ hóa trong menu không đạt được điều này. Cảm ơn.
Mafro34

11

Tôi đã có điều này với

  1. Một chữ cái viết hoa trong tài nguyên có thể vẽ của tôi.
  2. Nhập Android.R được thêm bởi Android Studio (hoặc Eclipse)
  3. Lỗi trong tệp xml

Tôi gặp sự cố vì có lỗi trong một trong các tệp XML của mình. Đã giải quyết vấn đề sau đó đã thực hiệnBuild->Clean Project
AjayCodes

11

Gần đây tôi đã có vấn đề này và dọn dẹp / xây dựng, vv đã không giải quyết nó. Tôi đoán rằng tôi có một vấn đề ở đâu đó nhưng không chắc chắn nơi để tìm nó (có phải trong tệp kê khai, tài nguyên xml, v.v.?).

Khi một cái gì đó sai, bạn có thể tìm ra nó là gì bằng cách chạy phân tích mã.

Từ menu ở trên cùng chọn:

Phân tích -> Kiểm tra mã, quét toàn bộ dự án bằng cấu hình 'Mặc định'.

Kết quả kiểm tra của bạn sẽ chứa một yếu tố gọi là 'Android'. Tại đây bạn sẽ nhận được một danh sách bất cứ điều gì gây ra vấn đề trong tài nguyên và tệp kê khai của bạn. Các lỗi sẽ mở ra các tệp xml được tạo từ bản dựng của bạn, nó sẽ hiển thị bất kỳ lỗi nào có màu đỏ.

Vấn đề chính xác của tôi là do tôi đang sử dụng các tệp kê khai dựa trên hương vị và tôi đã sao chép một số quyền bên trong <application>thẻ trong hương vị một cách tình cờ.

Kiểm tra

CẬP NHẬT: Tôi đã gặp sự cố sau khi Android Studio vẫn hiển thị lỗi sau khi sửa, mặc dù bây giờ tôi có thể xây dựng và chạy hoàn toàn tốt trong khi lỗi vẫn còn. (Tôi đang chạy một bản dựng hoàng yến nên đặt nó xuống ngay bây giờ)


Thật thú vị, tôi đã gặp vấn đề này chỉ trên một tệp và chạy quy trình "Kiểm tra mã" và nó đã tự xóa (làm sạch và xây dựng lại không khắc phục được). Chắc chắn đã có một cái gì đó bị mắc kẹt trong Lint mà chỉ điều này có thể làm rõ. Cảm ơn!
rundavidrun

Cảm ơn vì điều này! Trong khi điều này tìm thấy nhiều lỗi chung, đã được dự kiến, thì phần gây ra toàn bộ lâu đài là một lỗi Cú pháp nhỏ trong tệp XML do Asset Studio tạo ra! Khi tôi giải quyết được điều này, Dự án sạch sẽ cho phép tôi tiến lên.
Bink

10

Tôi đã phải nhập Rgói của tôi trong studio android. Ví dụ:import com.example.<package name>.R


1
Tôi đã từng đến đây trước khi tôi nghĩ. Cảm ơn một lần nữa
Ohiovr

1
Điều này làm việc cho tôi. Cảm ơn rât nhiều.
Aquarius_Girl

Điều này đã xảy ra với tôi sau khi tôi tái cấu trúc tên gói của mình, nhưng bằng cách nào đó, studio android đã rời khỏi import com.example.old-package-name.R, vì vậy tôi phải đổi tên nhập.
tốt lành99

9

Đây là một câu hỏi rất cũ, nhưng nó vẫn xảy ra rất nhiều và không có câu trả lời thực sự toàn diện ở đây.

Tôi đã có vấn đề này nhiều lần hơn tôi muốn thừa nhận. Nó có thể được gây ra bởi một loạt các vấn đề mà hầu hết tất cả phải làm với cấu trúc dự án của bạn không phù hợp với những gì mong đợi. Đây là danh sách tất cả các vấn đề tôi gặp phải:

Nhập từ Eclipse vào Android Studio không phải lúc nào cũng hoạt động trơn tru, đặc biệt là với các phiên bản Android Studio cũ hơn. Hãy chắc chắn rằng bạn đang sử dụng cây thư mục chính xác. Nó sẽ trông như thế này cho một ứng dụng trưởng thành vừa phải:

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler created directory. You should normally leave it alone
    .idea/      // Ditto
    build/      // This too
    gradle/     // And this
    app/
        build/
        libs/
        src/
            androidTest/   // Tests based on the Android instrumentation runner should go here
            main/
                java/
                    fully/           // Typically com
                        qualified/   // the domain name. Longer package 
                                     // names may have deeper folder trees
                            AppName/ // All your java files go here
                res/
                    drawable-*/      // One of these for each resolution you support
                    layout/          // All of your general layouts
                    menu/            // All of your menu layouts
                    values/          // All of your resource xml files
                    xml/             // PreferenceScreen layouts go here
                AndroidManifest.xml
            debug/         
            test/          // Pure jUnit tests should go here
        .gitignore
        app.iml
        build.gradle   // This is the gradle file you should be making most changes to
        proguard-rules.pro
    .gitignore
    build.gradle       // This gradle file should mostly be left alone
    gradle.properties
    gradlew
    local.properties
    AppName.iml
    settings.gradle

Nó có thể không giống như thế này trong IDE của bạn. Có một trình đơn thả xuống phía trên cây tệp hiển thị các tệp của bạn theo các cách khác nhau và nó mặc định trên hệ thống của tôi với một Android được gọi là chia các tệp của bạn thành các loại khác nhau. Việc khắc phục loại sự cố này dễ dàng hơn từ một vấn đề được gọi là Dự án và thậm chí dễ dàng hơn trực tiếp từ hệ thống tệp của hệ điều hành của bạn, vì Android Studio thu gọn các thư mục chỉ chứa một thư mục khác trên một dòng.

Đặc biệt nếu bạn từng thay đổi tên ứng dụng của mình, bạn cần đảm bảo rằng cây nguồn chính / java / com / domain / AppName được cập nhật. Đồng thời, đảm bảo rằng thẻ gói trong AndroidManifest.xml của bạn là chính xác.

Nếu có lỗi trong các tệp Gradle hoặc AndroidManifest.xml của bạn, điều này sẽ ngăn Android Studio xây dựng đúng các tệp tài nguyên của bạn. Các tập tin lớp có thể bị phá vỡ bằng cách nâng cấp Android Studio đôi khi, đặc biệt là từ các phiên bản trước 1.0. Đôi khi điều này là do nó ngừng hỗ trợ các phiên bản cũ hơn của plugin Gradle, vì vậy bạn cần cập nhật số phiên bản của mình. Đôi khi có thể khó tìm thấy các phiên bản hiện tại là gì. Kể từ hôm nay, 17/07/15, các ứng dụng của tôi đang được biên dịch tốt vớicom.android.tools.build:gradle:1.2.3 . Đây là trong khối phụ thuộc trong tệp lớp ngoài cùng,

Nếu AndroidManifest của bạn tham chiếu tài nguyên hoặc hoạt động chuỗi không tồn tại hoặc chuỗi không tồn tại, nó sẽ bị hỏng và gây ra lỗi này. Đôi khi nếu bất cứ điều gì tham chiếu tài nguyên chuỗi hoặc chuỗi không tồn tại, bạn sẽ gặp lỗi này.

Nếu bạn có một tệp trong tài nguyên bị hỏng hoặc tệp xml không hợp lệ, bạn sẽ gặp lỗi này.

Theo kinh nghiệm của tôi, đôi khi Android Studio chỉ bị trục trặc mà không có lý do và bạn cần khởi động lại nó và / hoặc PC của bạn. Tôi không biết tại sao, nhưng đôi khi nó hoạt động.

Nếu bạn có hai tài nguyên xml có cùng tên, trong các thư mục không ghi đè lên nhau, bạn có thể gặp sự cố này. Chẳng hạn, bạn có thể có cùng tên trong drawable-mhdpi và drawable-xhdpi vì chúng ghi đè lên nhau tùy thuộc vào thiết bị đích, nhưng nếu bạn có cùng tên trong bố cục và trong menu, điều đó sẽ gây ra sự cố. Đổi tên hoặc xóa một trong các tệp.

Nếu chỉ có một số tài nguyên gặp vấn đề này, những tài nguyên đó rất có thể nằm trong thư mục sai.

Trong một trường hợp, tôi đã phải cài đặt lại hoàn toàn Android Studio. Tôi không biết những gì đã sai, nhưng nó đã làm việc.

Trong một trường hợp, tôi đã chuyển toàn bộ dự án của mình sang một thư mục khác và nhập lại nó dưới dạng một dự án mới. Tôi không biết những gì đã sai, nhưng nó đã làm việc.

Các tệp Xml với các từ dành riêng cho tên có thể gây ra vấn đề này. Đổi tên hoặc xóa chúng.

Có một số cách mà tệp Gradle của bạn có thể kết thúc bằng cách tham chiếu một phiên bản của các công cụ xây dựng mà bạn chưa cài đặt. Sửa lỗi này bằng cách thay đổi Gradle hoặc tải xuống các công cụ xây dựng phù hợp.

Cuối cùng, sau khi bạn sửa bất cứ điều gì sai, bạn cần làm sạch dự án Gradle của mình. Bạn làm điều này bằng cách vào menu Build ở trên cùng và chọn Clean Project.


9

Chỉ cần vào danh sách menu Android Top. nhấp vào Build Menu, trong mục Build click vào Rebuild Project.

nhập mô tả hình ảnh ở đây


9

Tôi gặp phải vấn đề này khi tôi tự đổi tên thư mục tên miền của ứng dụng của mình. Để khắc phục vấn đề này, tôi đã phải

  1. Đặt packagecấu trúc thư mục thích hợp của <manifest>trongAndroidManifest.xml .
  2. Đặt vị trí gói mới cho android:namecác <activity>tạiAndroidManifest.xml .
  3. Xóa bộ nhớ cache bằng cách

Menu Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại ...

Vấn đề sẽ biến mất, một khi studio Android khởi động lại và xây dựng chỉ mục mới.


9

Tôi gặp vấn đề tương tự: Android Studio 3.2 Dự án biên dịch và chạy tốt, nhưng tôi nhận được cảnh báo "Không thể giải quyết biểu tượng" R "trên màn hình

Liệu không giúp đỡ:

  • Xây dựng-> Dự án sạch
  • Xây dựng-> Dự án xây dựng lại
  • Tệp-> Bộ nhớ cache không hợp lệ / Khởi động lại

Giúp:

hoặc

trong build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

thay thế bằng

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

hoặc là

Cập nhật Android Studio lên 3.3


Bạn đã cứu mạng tôi ! Cập nhật studio android lên 3,4 đã giải quyết vấn đề cho tôi
Artory

8

Tôi có một trường hợp đặc biệt cho vấn đề này.

Trong dự án của tôi, mọi thứ đều ổn, nó có thể biên dịch và xây dựng thành công, nhưng trong IDE Android Studio của tôi (và tôi cũng đã thử IDE thông minh, chúng ở trong tình huống tương tự), tệp R.java không thể được giải quyết tốt và luôn luôn được thả trong dòng màu đỏ.

Chỉ như thế này: nhập mô tả hình ảnh ở đây

Điều này gần như làm tôi phát điên, tôi không thể chịu được màu đọc khi tôi đang lập trình.

Cuối cùng, tôi thấy vấn đề khó khăn này là do kích thước tệp R.java của tôi. Dự án của tôi là rất lớn, nó hỗ trợ nhiều ngôn ngữ và nhiều kích cỡ màn hình. Có rất nhiều tài nguyên mà kích thước tệp R.java của tôi khoảng 2,5 triệu .

Kích thước tối đa của một tệp trong Android Studio là 2,5 triệu trong cài đặt mặc định, vì vậy các tệp lớn hơn giới hạn này không thể được giải quyết tốt. Và bạn có thể thay đổi cài đặt mặc định trong "AndroidStudio-root / bin / idea.properIES".

thay đổi dòng này:

idea.max.intellisense.filesize=2500

đến :

idea.max.intellisense.filesize=5000

Sau đó khởi động lại studio Android, màu đỏ bị loại bỏ, tôi có thể lập trình vui vẻ trở lại.


Trong Android 3.2 chỉ cần trợ giúp / Chỉnh sửa thuộc tính tùy chỉnh
Beto

mẹo hay, nhưng nó không giải quyết được biểu tượng không thể giải quyết của tôi R
Aliton Oliveira

7

Xây dựng> Dự án sạch

Điều này làm việc cho tôi. Đã có cùng một vấn đề một vài lần, và điều này dường như đặt nó đúng. Trừ khi bạn đã thay đổi một cái gì đó hoặc được gọi là một biến R. Vấn đề này thường xảy ra từ hư không, khi nó xảy ra với tôi, vì vậy tôi tưởng tượng các studio của Android chỉ là quái đản. haha

Có một cái tốt, và may mắn với các dự án của bạn.


Cảm ơn. Nó làm việc cho tôi quá. Tôi thay thế một số hình ảnh trong drawable và đã nhận được lỗi đó.
KCP

7

Nên: Xây dựng> Dự án sạch

QUAN TRỌNG: Đảm bảo bạn không có bất kỳ Lỗi nào sau Dự án sạch trong Ngăn thông báo (Alt + 0). Nếu bạn tìm thấy bất kỳ vòng tròn màu đỏ có dấu chấm than, bạn phải loại bỏ những lỗi đó trong mã của mình.

Hầu hết các lỗi này có liên quan đến @ chuỗi / hoặc @ mảng /. Làm sạch dự án một lần nữa và thực hiện!


7

Tôi đã có cùng một vấn đề, và nó xảy ra khi tôi tạo một dự án mới.

Những gì tôi làm là:

  • kiểm tra cập nhật SDK
  • sau đó cập nhật studio android,
  • sau đó mở lại dự án
  • mở andoridmanifest.xml
  • xóa khoảng trắng giữa "_>" trong android: nhãn và lưu.

Nó ổn với tôi.


7

Tôi đã có một thời gian khó khăn để sửa chữa điều này bản thân mình.

  • Hãy chắc chắn rằng bạn không có lỗi trong các tệp layout.xml của bạn.
  • Chuyển đến Xây dựng> Dự án sạch

Nó làm việc cho tôi, hy vọng nó cũng làm việc cho bạn.


6

Tôi đã có cùng một vấn đề và hầu hết các lần nó được giải quyết bằng

  • Dự án đồng bộ hóa với các tập tin lớp
  • Đang làm xây dựng -> Dự án sạch
  • Làm tệp -> Bộ nhớ cache không hợp lệ

Nhưng lần này lỗi vẫn tồn tại ngay cả sau khi làm tất cả những điều này và cuối cùng tôi đã tìm ra thủ phạm.

Vấn đề là trong một tập tin xml , nơi mà tôi đã đưa ra chuỗi giá trị thông thường cho một android:idthay vì một loại tài nguyên id .

SAI LẦM

android:id="username"

ĐIỀU CHỈNH

android:id="@id/username"

Làm rối tung những thứ liên quan đến resourcestrong các tệp xml là một lý do chính cho lỗi này. Xin lưu ý rằng thực tế là nó có thể không được hiển thị dưới dạng lỗi trong tệp bố cục xml.

GHI CHÚ

Trong hầu hết các trường hợp, trình biên dịch hiển thị cho bạn nguồn lỗi trong Thông báo. Hãy thử kiểm tra nó trước khi thử các giải pháp khác


6

`Tôi đã có cùng một vấn đề và nó đã được giải quyết bằng cách:

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`

Đây là một câu trả lời hay, mặc dù tôi chỉ cần đặt '//' trong tệp lớp và chọn đồng bộ lại. Sau đó, tất cả AS đã nhận ra việc nhập và cho phép tôi chạy ứng dụng.
Val

5

Ký hiệu này dường như hoạt động tốt.

android:id="@+id/viewID"

Bảng thiết kế của Android Studio dường như không hoạt động tốt.


5

Vấn đề tương tự. Bắt đầu khi tôi thêm một vài hình ảnh trong thư mục có thể vẽ của mình và cố gắng truy cập chúng. Ngoài ra các hình ảnh được thêm vào có phần mở rộng với chữ in hoa. Điều đó dường như đã làm hỏng bản dựng, vì ngay cả khi tôi đổi tên chúng, tin nhắn vẫn như cũ và R không thể truy cập được. Những gì tôi đã làm là, trong tệp .iml tôi đã tìm loại trừFolder và xóa chúng (như dưới đây):

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

Sau đó, tôi xây dựng lại dự án và R xuất hiện lại một cách kỳ diệu.


5

Có nhiều nguyên nhân gây ra lỗi này.

  1. Đôi khi nó xảy ra để thay thế một tập tin hình ảnh giữ cùng tên.
  2. Giả sử bạn đã xóa một mục khỏi bố cục .xml nói a <Button/>nhưng nó vẫn được khai báo trong bất kỳ Activity hoặc Fragment .java nào.
  3. Nhiều hơn nữa.

Cách tốt nhất để theo dõi lỗi là Xây dựng lại nó khá sạch sẽ hoặc đồng bộ hóa thực hiện một số lỗi cố ý.

Nếu nó không giải quyết được vấn đề của bạn thì phải có một số lỗi hoặc lỗi thời gian chạy xảy ra do sử dụng tài nguyên không đúng cách có thể là cả tệp java hoặc xml trong mã hoặc thiết kế của bạn đang buộc lớp dừng lại vì (R ) tệp esource không thể lập chỉ mục tài nguyên của bạn đúng cách và bạn phải thừa nhận điều đó.

Nếu dự án của bạn chạy trước khi bạn thực hiện các thay đổi thì hãy nhận xét những thay đổi bạn đã thực hiện và cố gắng xây dựng lại dự án.

Nó chắc chắn sẽ hoạt động vì sẽ không có thay đổi.

Để theo dõi lỗi chính xác, hãy kiểm tra các thay đổi bằng cách chia các thay đổi thành mô-đun nhỏ hơn.

Ví dụ: Nếu bạn đang hiển thị danh sách bằng cách nhấp vào nút và chèn giá trị danh sách vào bộ điều hợp, trước tiên hãy kiểm tra xem bạn có thể hiển thị danh sách đó hay không sau đó kiểm tra lỗi bộ điều hợp.


4

Đây là một cơn đau đầu lớn đối với tôi. Trong trường hợp của tôi, lỗi xuất hiện sau khi định cấu hình "Dịch vụ Google Play" trong Android Studio (cài đặt + build.gradle config). Đến lượt nó yêu cầu minsdk> 7 nhưng lỗi rất không rõ ràng về nó (thực ra một khiếu nại về điều này chỉ xuất hiện dưới dạng "thông tin"). Dù sao đi nữa .. khi thay đổi minsdk thành 8 cả trong tệp kê khai và tệp build.gradle và xây dựng lại dự án, lỗi đã biến mất.

Vì vậy, một lời khuyên chung về điều này, nếu tôi có thể khái quát - bạn có thể có một số vấn đề trong tệp kê khai của bạn hoặc một số tệp cấu hình khác, đó là ngăn cản việc xây dựng phù hợp. Hãy thử nhìn thật kỹ vào báo cáo lỗi, ngay cả những thông báo có tiêu đề "thông tin" cho bất kỳ gợi ý nào về những gì nó có thể là ...

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.