ข้อผิดพลาดในการกำหนดค่า Android Studio Run / Debug: ไม่ได้ระบุโมดูล


116

ฉันได้รับข้อผิดพลาด 'ไม่ได้ระบุโมดูล' ในการกำหนดค่าการเรียกใช้ของฉัน ฉันไม่มีโมดูลที่แสดงในเมนูแบบเลื่อนลง แต่ฉันไม่เห็นโมดูลของฉัน ปัญหาเกิดขึ้นเมื่อฉันปรับโครงสร้างชื่อโมดูลใหม่เปลี่ยน settings.gradle เป็นชื่อใหม่

ตอนนี้เมื่อฉันไปที่โครงสร้างโครงการและเลือกโมดูลของฉันไม่มีอะไรปรากฏในหน้าจอแม้แต่ข้อผิดพลาด

ฉันไม่แน่ใจ 100% แต่ไอคอนข้างโมดูลของฉันดูเหมือนโฟลเดอร์ที่มีถ้วยไม่ใช่โฟลเดอร์ที่มีโทรศัพท์

ขั้นตอนที่แน่นอนของฉัน -

  1. เปิดในมุมมอง Android
  2. ชื่อไดเร็กทอรี Refactor
  3. ชื่อโมดูล refactor
  4. เปลี่ยน settings.gradle เนื้อหา: ชื่อเป็นชื่อใหม่

คำตอบ:


339

ซิงค์ไฟล์ Gradle โครงการของคุณอีกครั้งเพื่อเพิ่มappโมดูลผ่าน Gradle

  1. ในโฟลเดอร์รูทของโปรเจ็กต์ของคุณให้เปิดsettings.gradleไฟล์เพื่อแก้ไข

  2. ตัดบรรทัดinclude ':app'จากไฟล์

  3. บน Android สตูดิโอ, คลิกที่เมนูและเลือกFileSync Project with Gradle files

  4. หลังจากการซิงโครไนซ์วางบรรทัดหลังinclude ':app'ลงในsettings.gradleไฟล์

  5. รีรันSync Project with Gradle filesอีกครั้ง


17
Up โหวตเรื่องนี้เนื่องจากให้ขั้นตอนเฉพาะในการแก้ไขมากกว่าคำแนะนำทั่วไป
Androidcoder

1
ขอบคุณทำงานให้ฉัน! คุณหรือคนอื่นช่วยอธิบายได้ไหมว่าทำไมจึงใช้งานได้และ / หรือทำไมบางครั้งจึงจำเป็น
OpenSauce

ฉันคิดว่า JetBrains มีสมองอยู่บ้าง พวกเขาเปลี่ยน Android Studio ให้เป็น Eclipse หรือไม่? ขอบคุณ @eLi โซลูชันใช้งานได้ดี !!!
Sileria

คำตอบที่ดีที่สุดที่ฉันเคยเห็นในเรื่องนี้ ... ทำงานได้อย่างมีเสน่ห์ ... ขอบคุณ
Robert Vogl

นั่นเป็นประโยชน์อย่างไม่น่าเชื่อ เป็นไปได้อย่างไรที่ Android Studio มีข้อบกพร่องใหญ่เช่นนี้
ยาสูบ

44

ไม่เป็นไรฉันเปลี่ยนชื่อใน settings.gradle และซิงค์แล้วเปลี่ยนกลับและซิงค์อีกครั้งและมันก็ใช้งานได้อย่างอธิบายไม่ได้ในครั้งนี้


7
ระบุได้ไหมว่า settings.gradle
Ian S

5
แค่ซิงค์ใหม่ก็ทำเพื่อฉัน
Alkarin

2
ฉันฉีดยา gradle ไม่ได้เปลี่ยนอะไร. ตอนนี้มันทำงาน
Kumar

3
ฉันมีสิ่งเดียวกัน แต่สำหรับฉันเหตุผลก็คือการซิงค์หยุดทำงาน ปิด android studio และลบ .idea และ. gradle seams เพื่อแก้ปัญหา
Yakir E

3
โหวตลงเนื่องจากคำตอบนี้เป็นคำที่ไม่ชัดเจน
Shachar Har-Shuv

18

ลองลบ app.iml ในไดเรกทอรีโครงการของคุณแล้วรีสตาร์ท android studio


3
นอกจากนี้เพียงแค่ทำเช่นนี้หาก Android สตูดิโอไม่ได้ "สร้าง" Run > Rebuild Projectโครงการของคุณหลังจากที่คุณคลิก
tom_mai78101

7

คุณมี 3 วิธี:

  1. Clean Project ในเมนู Android Studio

    สร้าง -> ล้างโปรเจ็กต์และใช้บิลด์ -> สร้างใหม่


  1. ลบโมดูลทั้งหมดใน settings.gradle

    • เปิดโปรเจ็กต์ settings.gradle
    • ลบรวม ': app'และและโมดูลอื่น ๆ
    • ซิงค์ gradle
    • เพิ่มรวม ': app'และและโมดูลอื่น ๆ
    • ซิงค์ gradle อีกครั้ง

  1. ลบโค้ดทั้งหมดใน gradle.properties

    • เปิดโปรเจ็กต์ gradle.properties
    • ลบรหัสทั้งหมด

      org.gradle.daemon = จริง

      org.gradle.configureondemand = true

      org.gradle.parallel = จริง

      android.enableBuildCache = true

    • ซิงค์ gradle

    • เพิ่มรหัสอีกครั้ง
    • ซิงค์ gradle อีกครั้ง

ในกรณีของฉันเมื่อฉันเปลี่ยนชื่อแพ็คเกจมันถูกเปลี่ยนใน setting.gradle
b devloper

2 ใช้งานได้ดี ขอบคุณ
Satya

5

ฉันรู้ว่าบรรทัดต่อไปนี้ขาดหายไปในไฟล์ settings.gradle

รวม ': app'

อย่าลืมใส่โมดูล ": app"


3

ฉันต่อสู้กับสิ่งนี้เพราะฉันกำลังพัฒนาห้องสมุดและทุก ๆ ครั้งก็ต้องการเรียกใช้เป็นแอปพลิเคชัน

จากการตรวจสอบ / build.gradle ตรวจสอบว่าคุณมีแทนapply plugin: 'com.android.application'apply plugin: 'com.android.library'

คุณควรมีสิ่งนี้ใน app / build.gradle:

defaultConfig { applicationId "com.your_company.your_application" ... }

สุดท้ายเรียกใช้การซิงค์ Gradle


3

ฉันมีปัญหาเดียวกันหลังจากอัปเดตบน Android Studio 3.2.1 ฉันต้องนำเข้าโครงการอีกครั้งหลังจากนั้นทุกอย่างก็ใช้งานได้


3

ไม่มีคำตอบที่มีอยู่ในกรณีของฉัน (Android studio 3.5.0) ฉันต้อง

  1. ปิดโครงการสตูดิโอ Android ทั้งหมด
  2. ลบโครงการออกจากโครงการล่าสุดในตัวช่วยสร้างสตูดิโอ android
  3. รีสตาร์ท android studio
  4. ใช้อ็อพชันอิมพอร์ต (อิมพอร์ตโปรเจ็กต์ - Gradle, Eclipse ADT ฯลฯ ) แทนการเปิดโปรเจ็กต์ AS โปรเจ็กต์ที่มีอยู่
  5. ไฟล์ -> ซิงค์โครงการกับไฟล์ gradle

2

หากคุณไม่พบไฟล์ settings.gradle ในไดเรกทอรีโครงการของคุณ

  1. เพิ่มไฟล์ settings.gradle

  2. เพิ่มรวม ': app' ในไฟล์ settings.gradle

  3. สร้างใหม่หรือซิงค์โครงการของคุณ

โมดูลแอปของคุณควรปรากฏในไฟล์การกำหนดค่าของคุณ


2

ตรวจสอบbuild.gradleไฟล์ของคุณและตรวจสอบให้แน่ใจว่าใช้apply plugin: 'com.android.application' istead ของ apply plugin: 'com.android.library'

มันได้ผลสำหรับฉัน


ใช่ แต่จะเกิดอะไรขึ้นถ้าโมดูลของคุณเป็น 'com.android.library' จริงๆและคุณกำลังเขียนกิจกรรมใต้ androidTest เพื่อทดสอบ นั่นคือสิ่งที่เจดับบลิวไม่ที่นี่: github.com/JakeWharton/RxBinding/tree/master/... ต้องมีทางวิ่ง ...
Ewan

1

ฉันต้องเลือกตัวเลือกแบบเลื่อนลง "Use classpath of module:" และเลือกโมดูลของฉัน


1
นี่เป็นเพียงสิ่งเดียวที่ช่วยฉันได้
CosmicSeizure

1

ฉันต้องการเพิ่มข้อมูลเพิ่มเติมในขณะที่ฉันประสบปัญหานี้:

อ้างอิง: คำตอบจาก @Eli:

  1. เส้นตัด ได้แก่:app ' จากไฟล์
  2. บน Android Studio ให้คลิกที่เมนูไฟล์และเลือกซิงค์โปรเจ็กต์กับไฟล์ Gradle
  3. หลังจากการซิงโครไนซ์ให้วางบรรทัดหลังรวม ": app" ลงในไฟล์ settings.gradle
  4. เรียกใช้ Sync Project ด้วยไฟล์ Gradle อีกครั้ง

ลองทำตามคำแนะนำและพยายามคำนึงถึงสิ่งหนึ่งนั่นคือสิ่งที่แสดงในการกำหนดค่าบิลด์ของคุณ ตรวจสอบให้แน่ใจว่าคุณเห็นชื่อการกำหนดค่าของคุณappเหมือนภาพด้านล่าง: หากคุณเห็นสิ่งอื่นใดขั้นตอนที่ @Eli (คำตอบที่ยอมรับมากที่สุด) จะไม่ทำงาน

ป้อนคำอธิบายภาพที่นี่

ทางเลือกในการแก้ไข หากคุณมีชื่ออื่นในหน้าต่างRun / Debug Configurationsและกระบวนการข้างต้นไม่ทำงานโปรดเปลี่ยนชื่อ config เป็น ' app'

แล้ว -> กดApply -> แล้วตกลง

หลังจากนั้นทำตามนี้: -

ไฟล์ -> ซิงค์โปรเจ็กต์กับไฟล์ gradle (ถ้าจำเป็น)

ตอนนี้ตรวจสอบปัญหาจะได้รับการแก้ไขหวังว่า ฉันประสบปัญหานี้และคิดว่าอาจช่วยคนอื่นได้เช่นกัน



0

เรากำลังแนะนำ AS 3.3 สำหรับแบบฝึกหัด

การตั้งค่าเหล่านี้จะทำงานในเวอร์ชัน 3.3 เบต้าปัจจุบันโดยมีการเปลี่ยนแปลงเล็ก ๆ สองอย่างในโครงการของคุณ:

ใน build.gradle (Project) ให้เปลี่ยน gradle version เป็น 3.3.0-rc02

ในเมนูไปที่ไฟล์ -> โครงสร้างโครงการ คุณสามารถเปลี่ยนเวอร์ชัน gradle เป็น 4.10.0 ได้ที่นั่น


0

เรียกใช้แอพมันจะแสดงEdit Configurationหน้าต่าง '' ภายใต้Module- เลือกแอพ (มันจะเป็น<no module>)

จากนั้นเลือกกิจกรรม (ด้านล่างLaunch Options)

ป้อนคำอธิบายภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.