นี่เป็นคำถามที่เก่ามาก แต่ก็ยังเกิดขึ้นมากและไม่มีคำตอบที่ครอบคลุมอย่างแท้จริงที่นี่
ฉันมีปัญหานี้หลายครั้งกว่าที่ฉันต้องการที่จะยอมรับ อาจเกิดจากปัญหาที่หลากหลายที่ส่วนใหญ่เกี่ยวข้องกับโครงสร้างโครงการของคุณไม่ตรงกับสิ่งที่คาดหวัง นี่คือรายการปัญหาทั้งหมดที่ฉันมี:
การนำเข้าจาก Eclipse ไปยัง Android Studio นั้นไม่ได้ทำงานได้อย่างราบรื่นเสมอไปโดยเฉพาะกับ Android Studio รุ่นเก่า ตรวจสอบให้แน่ใจว่าคุณใช้แผนผังไดเรกทอรีที่ถูกต้อง ควรมีลักษณะเช่นนี้สำหรับแอปที่มีความเป็นผู้ใหญ่ปานกลาง:
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
อาจไม่เป็นเช่นนี้ใน IDE ของคุณ มีรายการแบบหล่นลงด้านบนทรีไฟล์ที่แสดงไฟล์ของคุณในรูปแบบที่แตกต่างกันและจะมีค่าเริ่มต้นในระบบของฉันเป็นหนึ่งชื่อ Android ที่แบ่งไฟล์ของคุณออกเป็นประเภทต่างๆ การแก้ไขปัญหาประเภทนี้จากโครงการที่เรียกว่าง่ายกว่าและง่ายกว่าโดยตรงจากระบบไฟล์ของระบบปฏิบัติการของคุณเพราะ Android Studio ยุบโฟลเดอร์ที่บรรจุโฟลเดอร์อื่นไว้ในบรรทัดเดียวเท่านั้น
โดยเฉพาะอย่างยิ่งถ้าคุณเปลี่ยนชื่อแอปของคุณคุณต้องตรวจสอบให้แน่ใจว่าซอร์สต้นไม้ main / java / com / domain / AppName ได้รับการอัพเดต ตรวจสอบให้แน่ใจด้วยว่าแท็กแพ็คเกจใน AndroidManifest.xml ของคุณนั้นถูกต้อง
หากมีข้อผิดพลาดในไฟล์ Gradle หรือ AndroidManifest.xml ของคุณสิ่งนี้จะป้องกันไม่ให้ Android Studio สร้างไฟล์ทรัพยากรของคุณอย่างถูกต้อง ไฟล์ Gradle สามารถแตกได้โดยการอัพเกรด Android Studio บางครั้งโดยเฉพาะอย่างยิ่งจากรุ่นก่อน 1.0 บางครั้งนี่เป็นเพราะมันไม่สนับสนุนปลั๊กอิน Gradle เวอร์ชันเก่าดังนั้นคุณต้องอัปเดตหมายเลขเวอร์ชันของคุณ บางครั้งอาจเป็นเรื่องยากที่จะค้นหาว่ารุ่นปัจจุบันคืออะไร ณ วันนี้ 7/17/15 com.android.tools.build:gradle:1.2.3
ปพลิเคชันของฉันจะรวบรวมดีกับ สิ่งนี้อยู่ในบล็อกการพึ่งพาในไฟล์ gradle นอกสุด
หาก AndroidManifest ของคุณอ้างอิงถึงทรัพยากรหรือกิจกรรม drawable หรือสตริงที่ไม่มีอยู่จริงมันจะแตกและทำให้เกิดข้อผิดพลาดนี้ บางครั้งหากมีสิ่งใดอ้างอิงทรัพยากรหรือสตริงที่ไม่มีอยู่คุณจะได้รับข้อผิดพลาดนี้
หากคุณมีไฟล์ในทรัพยากรของคุณที่เสียหายหรือไฟล์ xml ไม่ถูกต้องคุณจะได้รับข้อผิดพลาดนี้
จากประสบการณ์ของฉันบางครั้ง Android Studio ก็เพิ่งสะดุดโดยไม่มีเหตุผลและคุณต้องรีสตาร์ทและ / หรือพีซีของคุณ ฉันไม่รู้ว่าทำไม แต่บางครั้งก็ใช้งานได้
หากคุณมีทรัพยากร xml สองรายการที่มีชื่อเดียวกันในไดเรกทอรีที่ไม่ได้แทนที่ซึ่งกันและกันคุณสามารถมีปัญหานี้ได้ ตัวอย่างเช่นคุณสามารถมีชื่อเดียวกันใน drawable-mhdpi และ drawable-xhdpi เพราะพวกเขาแทนที่กันขึ้นอยู่กับอุปกรณ์เป้าหมาย แต่ถ้าคุณมีชื่อเดียวกันในรูปแบบและในเมนูมันจะทำให้เกิดปัญหา เปลี่ยนชื่อหรือลบไฟล์ใดไฟล์หนึ่ง
หากมีเพียงบางแหล่งที่มีปัญหานี้ทรัพยากรเหล่านั้นส่วนใหญ่จะอยู่ในไดเรกทอรีที่ไม่ถูกต้อง
ในกรณีหนึ่งฉันต้องติดตั้ง Android Studio ใหม่ทั้งหมด ฉันไม่รู้ว่าอะไรผิดปกติ แต่มันใช้ได้ผล
ในกรณีหนึ่งฉันย้ายโครงการทั้งหมดไปยังไดเรกทอรีอื่นและนำเข้าใหม่เป็นโครงการใหม่ ฉันไม่รู้ว่าอะไรผิดปกติ แต่มันใช้ได้ผล
ไฟล์ Xml พร้อมคำที่สงวนไว้สำหรับชื่ออาจทำให้เกิดปัญหานี้ เปลี่ยนชื่อหรือลบ
มีบางวิธีที่ไฟล์ Gradle ของคุณสามารถจบการอ้างอิงถึงเวอร์ชันของเครื่องมือสร้างที่คุณไม่ได้ติดตั้ง แก้ไขสิ่งนี้โดยเปลี่ยน Gradle หรือดาวน์โหลดเครื่องมือสร้างที่เหมาะสม
ในที่สุดหลังจากที่คุณแก้ไขสิ่งที่ผิดคุณต้องทำความสะอาดโครงการ Gradle ของคุณ คุณทำได้โดยไปที่เมนู Build ที่ด้านบนและเลือก Clean Project