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?

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ọn sourcestab. Ở 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 của tôi 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 bình luận tất cả các dòng yêu cầu R. 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 đó.