Android Studio đánh dấu R màu đỏ với thông báo lỗi Không thể giải quyết biểu tượng R, nhưng xây dựng thành công


150

Trong mọi dự án tôi đã cố gắng tạo trong Android Studio, tất cả các ứng dụng của R được đánh dấu màu đỏ với thông báo lỗi "không thể giải quyết ký hiệu R", nhưng quá trình biên dịch thành công và ứng dụng chạy. Điều này thực sự gây phiền nhiễu, vì nó chặn tự động hoàn thành và hiển thị các đường vẫy màu đỏ khổng lồ trên toàn bộ mã của tôi.

Tôi đang chạy Android Studio 1.7.0 và tạo dự án với các cài đặt mặc định. Một ảnh chụp màn hình được đính kèm:

Ảnh chụp màn hình Android Studio

Đây là của tôi build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Đây là cách cấu trúc dự án trông như thế nào:

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

Bất kỳ ý tưởng làm thế nào để khắc phục điều này?


Đã có điều này xảy ra trên một số dự án của tôi. Để khắc phục điều này, tôi 'Clean', 'Rebuild', đóng dự án và mở lại. Sau đó chọn Công cụ -> Android -> Dự án đồng bộ hóa với các tệp Gradle. Cũng đã thử những điều sau đây ... Đóng dự án và chuyển vật lý thư mục sang thư mục mới hoặc đổi tên thư mục hiện tại. Bây giờ nhập dự án, như thể nó là mới. Có một số cách để thực hiện việc này, từ màn hình Android ban đầu, chọn nhập và khi bạn định vị Thư mục, không nhập từ tên dự án hoặc thư mục chính, hãy nhập một cấp trong 'Ứng dụng'.
Snappy Cracker

Độc giả, trước khi bạn thử bất cứ điều gì khác có thể phức tạp ... hãy thử khởi động lại studio android.
eRaisedToX

Câu trả lời:


111

Chỉ cần nhấp vào tùy chọn Build -> Rebuild Project trong Android Studio của bạn.


Tôi đã có một hình ảnh .Jpg mà tôi đã thay đổi thành .png mà không cần chuyển đổi thích hợp. loại bỏ tập tin đó đã giải quyết vấn đề. mặc dù ..
DeathRs

Tôi thực sự muốn làm điều này nhưng Android Studio nổi tiếng về bản dựng của nó. Của tôi sẽ mất hơn 30 phút nếu tôi làm điều này.
Chiến tranh neon

Giải pháp hoàn hảo!!
Akash Bisariya

Phải làm điều này hai lần
Janac Meena

đôi khi vì lỗi tệp XML của bạn. <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">Kiểm tra các dòng này trong các tệp xml và sửa nó.
meyasir

63

Tôi thấy rằng vấn đề này là do tôi có lỗi trong các tệp XML của mình. Khi bạn sửa các lỗi XML, hãy xóa / xây dựng, nó sẽ sửa lỗi.


8
Chỉ cần giúp đỡ bất cứ ai đang đọc. Có khả năng một cái gì đó trong các tệp XML gây ra lỗi. Đối với tôi, (không chắc tại sao) nhưng nguyên nhân là do một dòng bố cục phân đoạn: android: layout_bottom = "@ id / my_list" Đơn giản chỉ cần chuyển từ dòng này từ một đoạn sang sử dụng layout_top trên một đoạn khác.
Mingsheng

Điều tương tự cho tôi! Cảm ơn sự giúp đỡ
Michael

Tương tự ở đây! Cảm ơn bạn.
Teddy Wilson

Câu trả lời chính xác! Cảm ơn
Berat Eyüboğlu

Có, trong trường hợp của tôi: chiều cao phần tử xml của tôi là '50' thay vì '50dp'.
Krishna Raj Salim

44

Bấm vào Build -> Rebuild Projectvà sau đó bấm Tools -> Android -> Sync Project with Gradle Files.


2
Những công việc này. Tôi đã gặp lỗi sau khi nâng cấp phiên bản gradle.
Vaquita

Tình huống của tôi là: cleantất cả đều Rbiến thành lỗi, mọi buildsửa lỗi, nhưng tất nhiên là 'không rõ ràng' dự án. Sau khi làm theo câu trả lời này, cuối cùng tôi cũng có thể làm sạch dự án mà không gặp lỗi.
Talz

Chỉ cần thêm vào câu trả lời của @ user2284700: Trong AS 3.1.3 "Dự án đồng bộ hóa với tập tin cấp độ" nằm trong menu "Tệp"
BMU

33

Hãy chắc chắn rằng trong AndroidManifest.xmltên gói của bạn là chính xác. Điều đó đã khắc phục vấn đề cho tôi khi tôi R.whateverđược đánh dấu màu đỏ!

Tôi cũng khuyên bạn nên kiểm tra tất cả các gradletệp của bạn để đảm bảo các tên gói đó là chính xác. Điều đó không nên làm cho mọi thứ màu đỏ, nhưng nó sẽ ngăn các gradletệp của bạn đồng bộ hóa đúng cách.


Cảm ơn! Tôi đã thực hiện một thử nghiệm nhỏ với việc đổi tên gói cho tha thứ về nó ...
tom

17

KHÔNG NÊN . Chỉ cần cập nhật Android Studio. Giải quyết vấn đề của tôi! Làm việc hoàn hảo.


1
Tôi đã thử tất cả các giải pháp được đề cập ở đây. Cập nhật studio android đã khắc phục sự cố
Siva K Reddy C Shiva

1
Cảm ơn vì đã cứu tôi khỏi lãng phí nhiều giờ hơn cho việc này
wmurmann

12

Tôi gặp vấn đề tương tự với 'com.android.tools.build:gradle:3.3.1', tôi đã thử tất cả các giải pháp trên mà không có gì hiệu quả. Nó thực sự được xây dựng: vấn đề lớp 3.3.1. Tôi đã thay đổi nó thành 3.2.1 sau đó nó hoạt động.

Vì vậy, nó có thể là vấn đề với phiên bản build: gradle.


03.2019 Điều này đã giúp. Điều thú vị là điều này chỉ xảy ra với một trong những dự án của tôi và hai dự án khác thì không. Bây giờ tôi hy vọng rằng bản cập nhật Android Studio đã không làm hỏng thứ gì khác ...
Martin Berger

9
  1. Chọn tùy chọn menu Tệp> Cấu trúc dự án.
  2. Nhấn OK trên hộp thông báo (Thay đổi cấu trúc dự án không cập nhật build.gradle).
  3. Chọn "Mô-đun" trên khung bên "Cài đặt dự án".
  4. Đối với mỗi mô-đun (dự án), hãy kiểm tra xem phần "Thư mục bị loại trừ" không chứa thư mục "bản dựng". Nếu có, hãy nhấn nút 'x' bên cạnh thư mục "bản dựng".
  5. nhấn OK

Bây giờ bạn sẽ thấy thư mục "MyAppProject / MyApp / build / source". Điều này sẽ chứa thư mục "r" (nơi tạo tệp R.java). Tại đây, bạn sẽ thấy "gỡ lỗi", "phát hành" màu xanh lam (nếu bạn có dự ánFlavour trong build.gradle của mình, chúng sẽ nằm trong thư mục ""). Trong thư mục gỡ lỗi / phát hành đó phải là tên gói của ứng dụng và sau đó là tệp R.java chứa tất cả id tài nguyên của bạn.


1
Điều này không còn phù hợp nữa, nhưng lưu ý rằng tôi không có tệp R.java trong thư mục đó, như bạn có thể thấy trong bài trả lời của tôi cho Loïc.
Ilya Kogan

9
  1. Xây dựng lại dự án.
  2. Nếu (1) không hoạt động, hãy khởi động lại Android Studio / Eclipse.

Nếu không hoạt động, kiểm tra tất cả các tệp xml của bạn. Lỗi này xảy ra khi tệp xml của bạn không chính xác.


Trong trường hợp của tôi, có một thuộc tính trong tệp manifest.xml đã gây ra sự cố. Tôi đã có những đêm mất ngủ cho đến khi tôi phát hiện ra và chỉ đơn giản là xóa dòng. Thuộc tính là android: fullBackupContent = ""
Kingsley Ijike

6

Vì một số lý do, studio Android sử dụng các cấu hình khác nhau cho trình chỉnh sửa và cho trình biên dịch. Nếu nó hoạt động cho trình biên dịch thì tốt. Nếu nó không làm việc cho biên tập viên. (nó thấy các tập tin chưa được giải quyết).

Bạn cần thêm một số thư mục vào nguồn dự án của bạn. Ví dụ, tất cả các tài nguyên nên được đánh dấu là "nguồn".

Tệp-> Cấu trúc dự án

Chọn "Mô-đun", sau đó dự án của bạn. Và chọnsources tab. Ở bên phải tìm thư mục tài nguyên của bạn và bấm vào nút "nguồn" màu xanh. Đóng tất cả và nó sẽ hoạt động.

Ngoài ra, bạn sẽ phải đảm bảo rằng

build/source/r/debugcũng là một nguồn. Trong tôi có tất cảbuild/source/*/debug đánh dấu là nguồn.

mô-đun chính .iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":SherlockHolmes" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
      <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/exploded-bundles" />
      <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/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="Sherlock.aar" level="project" />
    <orderEntry type="library" name="SlidingMenu.aar" level="project" />
    <orderEntry type="library" name="support-v4-13.0.0" level="project" />
  </component>
</module>

dự án iml

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

Ma thuật đen

Không chắc chắn về điều này, nhưng tôi nghe thấy nó hoạt động trong khi tôi khá chắc chắn rằng nó không nên thay đổi bất cứ điều gì. Hãy thử biên dịch và lưu dự án sau khi nhận xét tất cả các dòng yêu cầuR . Sau đó khi mọi thứ không có màu đỏ. Hãy thử thêm chúng trở lại. Điều kỳ lạ là bản dựng / nguồn của bạn không được tạo.

Ngoài ra câu hỏi này đề nghị kiểm tra "trình biên dịch sử dụng xây dựng bên ngoài"

Android Studio không tạo R.java cho dự án nhập khẩu của tôi

Lưu ý bên

Cũng đảm bảo rằng trong mã java của bạn không có. import android.r;từ những gì bạn thể hiện, mọi thứ dường như tốt đẹp. Chỉ lạ là bản dựng / nguồn không được tạo. Ví dụ, tôi không có bản dựng / apk. Có thể bạn đang ở chế độ phát hành và nó không tạo ra các thư mục đó.


Xin chào Loïc, tôi đã thêm một ảnh chụp màn hình của cấu trúc dự án vào câu hỏi. Như bạn có thể thấy, toàn bộ resthư mục được đánh dấu là "nguồn" và tôi không có build/sourcethư mục. Tôi có nên tạo nó? Nếu vậy thì thế nào?
Ilya Kogan

cũng nên tạo thư mục build / source khi xây dựng theo như tôi có thể nói. Studio Android là phiên bản "alpha". Nó đi kèm với rất nhiều điều kỳ lạ. Tôi có 1.7.0_21. Một ý tưởng sẽ được thực hiện a build/rebuil project. Nếu bạn có thể chạy lớp từ dòng lệnh, nó có thể xuất hiện một số lỗi không được hiển thị trong trình chỉnh sửa.
Loïc Faure-Lacroix

Nó không được tạo, mặc dù dự án biên dịch và chạy thành công trên thiết bị.
Ilya Kogan

Các tệp iml trông rất giống với các tệp của bạn, với cùng các thư mục được bao gồm và loại trừ. "file: // $ MODULE_DIR $ / build / source / r / debug" được bao gồm ngay cả khi nó không tồn tại. Sử dụng một bản dựng bên ngoài gây ra các vấn đề khác (dự án hoàn toàn không biên dịch). Làm cách nào để kiểm tra xem tôi có ở chế độ phát hành không?
Ilya Kogan

5

Đây là giải pháp tạm thời của tôi cho đến khi tôi tìm thấy một giải pháp tốt hơn:

  1. Sử dụng Mọi thứ, tìm nơi R.java được tạo. Trong trường hợp của tôi, nó là C:\Program Files (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>

  2. Trong khung nhìn Project, nhấp vào mô-đun và nhấn F4. Bỏ qua cảnh báo.

  3. Nhấp vào "+ Thêm nội dung gốc" và chọn thư mục đã nói ở trên. Hãy chắc chắn rằng nó được đánh dấu màu xanh lam (dưới dạng nguồn).

Sau khi tôi làm điều này, đột nhiên tất cả các cảnh báo đã biến mất. Vấn đề là nếu bạn cộng tác với người khác, tên thư mục sẽ khác nhau trên mỗi máy, vì vậy hãy cẩn thận khi đồng bộ hóa.


Bạn đã thử với phiên bản 0.2.3 mới nhất của Android Studio chưa? Nếu bạn vẫn gặp sự cố, hãy báo cáo vấn đề này với code.google.com/p/android/issues để các nhà phát triển Android Studio biết về vấn đề này và có thể điều tra & khắc phục sự cố.
lừa

1
Không, tôi đã từ bỏ trên Android Studio. Tôi yêu IDE, nhưng vẫn còn rất nhiều lỗi không phù hợp để làm việc trong nhóm. Chúng tôi đã trở lại Eclipse.
Ilya Kogan

2
Không vấn đề gì. Vì Android Studio vẫn đang trong quá trình phát triển, bạn cần có thể báo cáo bất kỳ lỗi nào bạn tìm thấy (để chúng có thể được sửa) và chịu được các cạnh thô của nó. Cái này không dành cho tất cả mọi người.
lừa

5

Điều này làm việc cho tôi:

  1. Đóng và mở lại dự án

  2. Nhấn "Dự án đồng bộ hóa với tệp Gradle" (bên cạnh biểu tượng trình quản lý AVD trong menu trên cùng) lặp lại 1-2 nếu Gradle không thể Đồng bộ hóa lần đầu tiên. (tôi làm việc lần thứ hai).

Đã làm việc với Android Studio 1.2.2


5

Tôi đã giải quyết nó 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.

Một ngày không có lý do rõ ràng ứng dụng của tôi chỉ bị hỏng ... lỗi ở mọi nơi ... Cảm ơn bạn rất nhiều! Điều này rất hữu ích!
JFreeman

1
Xin chúc phúc cho bạn, bộ nhớ cache không hợp lệ là điều duy nhất có ích
Kibi

4

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


4

Đôi khi những lỗi xây dựng này sẽ tiếp tục ra khỏi hư không. Nếu điều này xảy ra với bạn, hãy thử điều này:

Kiểm tra lại tính hợp lệ của XML trong các tệp tài nguyên của bạn: Nếu tệp R.java của bạn không được tạo cho bản dựng cuối cùng, bạn sẽ thấy các lỗi trong dự án của mình ở bất cứ nơi nào bạn tham chiếu tài nguyên. Điều này có thể được gây ra bởi một lỗi đánh máy trong một trong các tệp XML của bạn. Bố cục XML không phải lúc nào cũng được xác thực, do đó lỗi chính tả trong các tệp này có thể không được chú ý rõ ràng. Tìm lỗi đánh máy và lưu tệp sẽ khiến R.java tạo lại.

Làm sạch dự án của bạn! Select Build → Clean ProjectĐiều này sẽ xây dựng lại dự án từ đầu, có thể dẫn đến việc xây dựng không có lỗi.

Đồng bộ hóa dự án của bạn với Gradle! Select Tools → Android → Sync Project with Gradle FilesAndroid Studio sẽ xây dựng lại dự án từ đầu với các cài đặt dự án chính xác, có thể giúp giải quyết các vấn đề sau khi thay đổi cấu hình Gradle của bạn.

Chạy Android Lint! Lint có thể cung cấp cho bạn thông tin tốt về một vấn đề. Nếu những điều trên không hoạt động, đây là nơi rất có thể bạn sẽ tìm thấy vấn đề của mình. Để chạy Lint,select Analyze → Inspect Code → select Whole project → OK phân tích cẩn thận các đề xuất Lint; bắt đầu với lỗi và sau đó cảnh báo.

Chúc may mắn.


Trong trường hợp của tôi, có một thuộc tính trong tệp manifest.xml đã gây ra sự cố. Tôi đã có những đêm mất ngủ cho đến khi tôi phát hiện ra và chỉ đơn giản là xóa dòng. Thuộc tính là android: fullBackupContent = ""
Kingsley Ijike

3

Lỗi này xảy ra với tôi vì có một đầu vào không hợp lệ trong tệp Activity_main.xml của tôi.

Khi bạn cố gắng xây dựng hoặc làm sạch dự án của bạn, bạn sẽ thấy các thông báo lỗi .

Tôi đã giải quyết vấn đề của mình bằng cách đọc những thông báo lỗi đó , sửa những gì sai trong tệp xml của tôi. sau đó xây dựng lại dự án .


2

Tôi đã gặp lỗi này vài ngày trước, tôi đã thử tìm kiếm xung quanh cho đến khi tôi quyết định cài đặt lại Android Studio. Nó làm việc cho tôi.


Cài đặt lại không giúp được gì :(
Ilya Kogan

Đây là một phương pháp rất thô thiển.
Taslim Oseni

2

Khi tạo một dự án từ một mẫu, trong khi không nhập dự án hiện tại là tốt (ngăn ngừa xung đột với gradle, .idea, .iml, build, jars và apks, tức là tất cả các tệp được tạo không cần thiết), sau khi tạo dự án mới, sao chép và dán tất cả các tài nguyên có liên quan, tôi khuyên bạn nên:

kiểm tra các gói và nhập từ các gói trong dự án {Khai báo AndroidManifest và tất cả nhập trong các lớp java}, tất cả các tài nguyên (drawable, mip-map, layout và menu & build.gradle của bạn (một mẫu build.gradle để sử dụng với sdk mới nhất có thể được cung cấp theo yêu cầu)) để xem liệu chúng có ở đó không và nếu các chuỗi và id được khai báo thực sự tồn tại và đã được sử dụng, sau đó lỗi duy nhất của bạn sẽ là câu hỏi được hỏi:

Bulid-> Dự án sạch

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

Tệp-> Bộ nhớ cache không hợp lệ và khởi động lại

Trong trường hợp xấu nhất, khởi động lại máy của bạn sẽ giúp.

Ở trên nên làm việc. Hãy đặt câu hỏi nếu cần thiết, tức là gửi bình luận.


2

nguyên nhân này chủ yếu là do lỗi trong tệp xml, kiểm tra các thay đổi xml mới nhất của bạn và xây dựng lại nó, cùng một vấn đề với tôi.


Điều đó đã giúp, Cảm ơn!
farahm

2

Tôi đã có một lỗi sao chép / dán tái sử dụng trong khai báo gói cho tệp kê khai

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">

tên hoạt động chính có đường dẫn chính xác để bảng kê khai không có bất kỳ lỗi nào được kiểm tra.

Sau khi giải quyết điều này, tệp nguồn vẫn hiển thị lỗi mặc dù quá trình xây dựng đã thành công. Tôi chỉ chạy ứng dụng và sau đó các chỉ số lỗi nguồn bị xóa.


Đối với tôi, có một thuộc tính trong tệp manifest.xml đã gây ra sự cố. Tôi chỉ đơn giản là xóa dòng. Thuộc tính là android: fullBackupContent = ""
Kingsley Ijike

1

Nó cũng đã làm việc với tôi bằng cách làm sạch thủ công thư mục .idea / library và nhấp vào sau đó trên "Sync Project with Gradle Files" để giải quyết vấn đề. Rõ ràng Đồng bộ hóa này không loại bỏ các yếu tố, nhưng giữ lại các yếu tố cũ và thêm các yếu tố hiện tại. Có lẽ là một lỗi để báo cáo :)


1

Có cùng một vấn đề với studio android, tôi phát hiện ra rằng build / created / source / r chỉ chứa thư mục phát hành và không gỡ lỗi. Vì vậy, vì một số lý do, việc xây dựng gỡ lỗi không tạo ra lớp R có thể sử dụng được.

Tôi đã giải quyết nó bằng cách mở tệp iml của dự án và sửa dòng này

<option name="RES_FOLDERS_RELATIVE_PATH" value="" />

đến

<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />

được đồng bộ lại với lớp, nhận xét các dòng sử dụng R, chạy gỡ lỗi để tạo R, các dòng không bị xóa bằng R và chạy lại gỡ lỗi, đã sửa.


Tôi sẽ tìm tập tin iml ở đâu?
Cappuccino90

cùng thư mục nơi bản dựng của bạn là ... rất có thể
Lukas Hanacek

1

Giải pháp rất đơn giản:

Đi đến File > Project Structure > appvà chọn Flavourstab, chọn API 21: Android 5.0 (Lollipop)trong danh sách thả xuống cho Min Sdk Version.


Cảm ơn, điều này làm việc! Tôi đã đặt giá trị minSdkVersion ở mức thấp hơn nhiều và hoàn nguyên đã khắc phục sự cố cho tôi.
Arvindh Mani

1

Trong trường hợp của tôi, tôi đã làm theo tất cả các câu trả lời tôi có thể tìm thấy trên Stackoverflow và dường như không ai trong số họ giải quyết vấn đề này. Tất cả các câu trả lời sẽ chỉ ra lỗi tham nhũng tệp xml hoặc xung đột với tên Gradle. Một số câu trả lời cho rằng cần phải xóa dự án hoặc Sync Project với các tệp Gradle. không có giải pháp nào trong số này sẽ giải quyết vấn đề. Ngoài ra, một khi tôi đã làm theo hướng dẫn về cách xây dựng ứng dụng Hello World và tôi chỉ theo dõi các cửa sổ thuật sĩ Android Studio mà không có bất kỳ mã hóa nào, sẽ không có ý nghĩa gì khi nghi ngờ đó là lỗi chính tả như thế này.

TLD

Vấn đề hóa ra là Phiên bản Công cụ Xây dựng. My đã được đặt thành 23.0.0 RC1 , vì vậy tôi đã đổi nó thành 22.0.1 . Tôi cho rằng đó là vì tôi đang sử dụng bản phát hành có sẵn cuối cùng của Android.

Để thay đổi giá trị này, bạn có thể mở trình duyệt Dự án của mình trên cửa sổ bên trái> nhấp chuột phải vào "ứng dụng> Cài đặt mô-đun mở" và tìm kiếm nó trên "Tab thuộc tính"


1

bạn cần phải nhập tệp R dự án của bạn

import <YOUR-PROJECT-PACKGENAME>.R;

1

Làm sạch dự án đã giúp trong trường hợp của tôi

Đi đến

Build -> Clean Project

1

Nếu bạn nhận được lỗi này, sau đó làm sạch dự án của bạn.

  1. Đi đến xây dựng trên đỉnh của studio android của bạn
  2. Chọn tùy chọn sạch dự án

Lý do đằng sau điều này là bằng cách làm sạch .apktệp trước đó có trong thư mục dự án studio android trên hệ thống của bạn sẽ bị xóa.


1

Gần đây tôi nhập dự án của mình vào studio Android, một phần của R được đánh dấu màu đỏ với lỗi meesage "không thể giải quyết ký hiệu R", nhưng quá trình biên dịch thành công và ứng dụng chạy.

Phát triển dự án:

  • IDE: Xưởng Android 3.1.2
  • Hệ thống: Mac Os

Giải pháp:

bước 1:

Tìm tệp cấu hình cho studio Android
Đường dẫn của tôi:

/Applications/Android Studio.app/Contents/bin/idea.properties

bước 2:

Thay đổi 2500:

idea.max.intellisense.filesize=2500  

đến 5000 trở lên:

idea.max.intellisense.filesize=5000  

Làm thế nào bạn nghĩ về điều đó? nó có nghĩa là gì?
Nikos Hidalgo

1
# Kích thước tệp tối đa (kilobyte) IDE sẽ cung cấp hỗ trợ mã cho. # Tệp càng lớn thì trình soạn thảo của nó hoạt động càng chậm và yêu cầu bộ nhớ hệ thống tổng thể cao hơn là # nếu bật hỗ trợ mã. Xóa thuộc tính này hoặc đặt thành số rất lớn nếu bạn cần hỗ trợ mã # cho bất kỳ tệp nào có sẵn bất kể kích thước của chúng. idea.max.intellisense.filesize = 2500
Yu Zhang

1

Bạn phải thay đổi đường dẫn:

ví dụ

import it.example.project.myproject.R;

Thay đổi trong

import it.example.project.R;


0

Tôi gặp phải lỗi tương tự, hóa ra tệp kê khai có một số lỗi. Sau khi sửa nó, bấm Make Project một lần nữa, nó hoạt động tốt. Android studio đôi khi không đưa ra thông báo lỗi rất hữu ích.


0

Tôi bị cắn bởi điều này mọi lúc và sau đó và có một điều khác để thử: khớp phiên bản compileSdk và buildSdk của bạn với phiên bản mới nhất có sẵn.

Tôi đã thay đổi compileSdkVersion của mình từ 21 trở về 19 vì trình gỡ lỗi Android Studio (kênh canary 1.1) không truy tìm đúng vào các thư viện dựng sẵn. Tôi thấy rằng nó dường như được theo dõi dựa trên buildToolsVersion (19.1.0), mà tôi đã xác minh bằng cách nhấp vào một lỗi trong theo dõi ngăn xếp (và sau đó chọn 19 thay vì 21). Mặc dù tôi đã thay đổi nó trực tiếp trong tệp build.gradle, một hướng dẫn đồ họa có ở đây: https://www.blogger.com/comment.g?blogID=4722727826918942842&postID=3875998513888772255 và tôi sẽ tóm tắt:

  1. IDE Android Studio, chọn Tệp | Kết cấu dự án.
  2. Chọn mô-đun của bạn, như "ứng dụng"
  3. Trong trường Biên dịch SDK, chọn phiên bản mới nhất
  4. Đồng thời chọn phiên bản mới nhất trong Công cụ xây dựng

Xác nhận và dự án sẽ tự động đồng bộ hóa đúng cách.

Bài học tôi nhận được từ điều này là cả hai nên giống nhau.

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.