ด้วยเหตุผลบางอย่างสตูดิโอ Android ใช้การตั้งค่าที่แตกต่างกันสำหรับการแก้ไขและคอมไพเลอร์ ถ้ามันใช้ได้กับคอมไพเลอร์มันก็ดี ถ้ามันไม่ทำงานสำหรับบรรณาธิการ (จะเห็นไฟล์ที่ไม่ได้แก้ไข)
คุณต้องเพิ่มไดเรกทอรีลงในแหล่งที่มาของโครงการของคุณ ตัวอย่างเช่นทรัพยากรทั้งหมดควรทำเครื่องหมายว่า "แหล่งที่มา"
ไฟล์ -> โครงสร้างโครงการ
เลือก "Modules" แล้วเลือกโครงการของคุณ และเลือกsources
แท็บ ด้านขวาให้ค้นหาไดเรกทอรีทรัพยากรของคุณและคลิกที่ปุ่ม "แหล่งที่มา" สีน้ำเงิน ปิดทั้งหมดและควรใช้งานได้
นอกจากนี้คุณจะต้องตรวจสอบให้แน่ใจว่า
build/source/r/debug
ยังเป็นแหล่ง ในฉันมีbuild/source/*/debug
เครื่องหมายของฉันทั้งหมดเป็นแหล่งที่มา
โมดูลหลัก. 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>
โครงการ 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>
มนต์ดำ
ไม่แน่ใจเกี่ยวกับอันนี้ แต่ฉันได้ยินมันทำงานในขณะที่ฉันค่อนข้างแน่ใจว่ามันไม่ควรเปลี่ยนแปลงอะไร R
ลองรวบรวมและบันทึกโครงการหลังจากการแสดงความคิดเห็นทุกสายที่ต้องใช้ แล้วเมื่อทุกอย่างไม่แดง ลองเพิ่มพวกเขากลับ สิ่งที่แปลกคือนี่คือการสร้าง / แหล่งที่มาของคุณไม่ได้ถูกสร้างขึ้น
นอกจากนี้คำถามนี้ขอแนะนำให้ตรวจสอบ "คอมไพเลอร์ใช้งานสร้างภายนอก"
Android Studio ไม่ได้สร้าง R.java สำหรับโครงการนำเข้าของฉัน
ข้อความด้านข้าง
นอกจากนี้ตรวจสอบให้แน่ใจว่าในรหัส java ของคุณไม่มี import android.r;
จากสิ่งที่คุณแสดงทุกอย่างดูดี แปลกที่การสร้าง / แหล่งที่มาไม่ได้ถูกสร้างขึ้น ตัวอย่างเช่นฉันไม่มีบิลด์ / apk อาจเป็นเพราะคุณอยู่ในโหมดเผยแพร่และจะไม่สร้างไดเรกทอรีเหล่านั้น