ข้อผิดพลาด: น่าเสียดายที่คุณไม่มีโมดูล Java ที่ไม่ใช่ Gradle และโมดูล Android-Gradle ในโครงการเดียว


230

ฉันมีโครงการ IntelliJ 14.1.2 ซึ่งประกอบด้วยสองโมดูล - หนึ่งคือโมดูลที่ใช้ Android Gradle และอื่น ๆ เป็นโมดูลที่ใช้ Java Spring กับ Maven

gps-trackman.v1 เป็นโครงการหลักของฉันและฉันไม่ได้กำหนดค่าผลลัพธ์หรือแง่มุมใด ๆ สำหรับโครงการนี้ แอพนี้เป็นโมดูล gradle Android ของฉันและฉันได้กำหนดค่า Android และ Android-Gradle Facet สำหรับโครงการนี้และ gps-trackman ไม่ใช่ Spring Maven Project ของฉัน ฉันต้องการที่จะสามารถสร้างทุกอย่างด้วยกัน เป็นไปได้ไหม?

ตอนนี้ฉันได้รับข้อความแสดงข้อผิดพลาดใน IntelliJ Eventlog ของฉัน

ตรวจพบโมดูลที่ไม่รองรับ: ไม่รองรับการรวบรวมสำหรับโมดูลต่อไปนี้: gps-trackman, gps-trackman.v1, แอพ น่าเสียดายที่คุณไม่มีโมดูล Java ที่ไม่ใช่ Gradle และโมดูล Android-Gradle ในหนึ่งโครงการ

โครงการ 'gps-trackman.v1' ไม่ใช่ Gradle-based

ข้อผิดพลาดนี้เกิดจากการกำหนดค่าโครงการของฉันไม่ถูกต้องหรือเป็นไปไม่ได้ที่จะมีโมดูล maven และโมดูล Gradle ในโครงการเดียว

ฉันต้องกำหนดค่า Facets ใด ๆ สำหรับโครงการรูทหรือไม่ หรือฉันต้องแปลง maven ของฉันเป็นเกรน?


คุณไม่เห็นด้วยกับการแปลงโครงการ Maven เป็นเกรด?
RaGe

ใช่แล้วฉันได้พยายามแปลงโครงการ Maven เป็นโครงการ Gradle แต่นั่นส่งผลให้เกิดข้อผิดพลาดอื่น ๆ ดังนั้นฉันจึงอยากจะอยู่กับ Maven ...
kamokaze

1
เอาล่ะฉันแค่อยากจะทราบว่ามันเป็นไปได้ที่จะเพิ่มโครงการ java gradle ปกติเป็นโครงการย่อยในโครงการ Android
RaGe

1
ปัญหาที่คุณกำลังอธิบายโดย JetBrains YouTrack ตั๋วIDEA-122904 ? หากเป็นเช่นนั้นการแก้ไขปัญหาใด ๆ ที่ระบุไว้ในที่นั่นช่วยได้หรือไม่

คำตอบ:


397

1 - ปิดโครงการ

2- ปิดAndroid StudioIDE

3- ลบ.ideaไดเรกทอรี

4- ลบ.imlไฟล์ทั้งหมด

5- เปิดAndroid StudioIDE และนำเข้าโครงการ

ตอบจากที่นี่


14
ทำงานสำหรับฉันด้วยการลบ. aide dir บน astudio 3.5
Leres Aldtai

3
สิ่งนี้ใช้ได้กับ Android Studio รุ่นที่ระบุเท่านั้นหรือไม่
ชิงทรัพย์แรบไบ

ระวังการลบ. ina directory มีหลายสิ่งในไดเรกทอรีนั้นที่จะหายไปและไม่ได้สร้างขึ้นอัตโนมัติเมื่อคุณเปิด A / S ใหม่ โดยเฉพาะcodeStylesและdictionaries
tir38

มันใช้ได้กับ AS 3.6.3 ด้วย ฉันเพิ่งปิด IDE ลบไฟล์และเปิดใหม่ ไม่ต้องปิดโครงการหรือนำเข้า (ฉันเชื่อว่า IDE ทำเช่นนั้น)
JCarlosR

@ tir38 ฉันคิดว่าไฟล์ทั้งหมดในโฟลเดอร์. aide ถูกสร้างขึ้นโดยอัตโนมัติ ไม่ต้องกังวลในขณะที่ลบ Android Studio สร้างทุกไฟล์ด้วยตัวเอง
Neo

86
  1. ไปที่ไฟล์ -> ทำให้แคช / รีสตาร์ทไม่ถูกต้อง
  2. ปิดโครงการ
  3. ไปที่โฟลเดอร์โครงการและลบโฟลเดอร์ .idea
  4. ลบ YourProjectName.iml ในโฟลเดอร์โครงการ
  5. ลบ app.iml ในโฟลเดอร์แอพ
  6. เปิด Android studio -> เปิดโครงการที่มีอยู่แล้วเลือกโครงการของคุณ
  7. ข้อผิดพลาดในการตั้งค่าการโหลดและข้อผิดพลาดที่ตรวจพบโมดูลที่ไม่สนับสนุนจะหายไป

1
ขอบคุณ. มันช่วยฉัน และทางออกก็สวย! :) แต่ด้วย: ซิงค์โครงการกับไฟล์
Gradle

ไฟล์คือไฟล์ที่จะกำหนดค่าใน. gitignore คุณสามารถให้คำแนะนำสำหรับโครงการใหม่ได้ไหม
MohanRaj S

1
1.a หลังจากเลือก "ใช้งานแคช / รีสตาร์ท" กล่องโต้ตอบจะปรากฏขึ้น ตรวจสอบให้แน่ใจว่าได้เลือกตัวเลือก "ไม่ถูกต้อง" เท่านั้นและปิด Android studio ด้วยตนเอง หากคุณเลือก "โมฆะ + เริ่มใหม่" สตูดิโอ Android จะเริ่มต้นใหม่ก่อนที่คุณจะสามารถทำตามขั้นตอนที่ 3-5 ได้
Stuart Schechter

@MohanRajS ไฟล์ทั้งหมดที่สร้างขึ้นโดยอัตโนมัติจะต้องถูกละเว้น ตัวอย่างเช่น - ทุกไฟล์ iml, .idea โฟลเดอร์, .gradle โฟลเดอร์, สร้างโฟลเดอร์, .classpath, .project, .log, .apk, .aab เป็นต้น
Neo

19

ในกรณีของฉัน settings.gradle มีการกำหนดค่าที่ไม่ถูกต้อง

ฉันเปลี่ยน:

include ':app'
rootProject.name='<somthing else>'

ถึง:

include ':app'

เกิดข้อผิดพลาด ดังนั้นอาจตรวจสอบ settings.gradle ของคุณสำหรับข้อผิดพลาดที่อาจเกิดขึ้น หากวิธีนี้ใช้ไม่ได้ให้ลองลบแคชและเคล็ดลับอื่น ๆ


1
สิ่งนี้ได้แก้ไขให้ฉัน
Code Wiget

17

ก่อนอื่นคุณควรอัปเดตเป็น Android Studio Source: https://code.google.com/p/android/issues/detail?id=77983

จากนั้นคุณควรไปที่ไฟล์ -> ตรวจสอบแคช / รีสตาร์ท -> ทำให้แคช & รีสตาร์ทไม่ถูกต้อง

จากนั้นลองสร้างแอปพลิเคชันอีกครั้ง

ฉันพบคำตอบนี้ที่นี่


8
ฉันไม่ได้ใช้ android studio นี่ไม่ใช่กรณีของฉัน!
kamokaze

1
ได้รับ "ตรวจพบโมดูลที่ไม่สนับสนุน: การรวบรวมไม่รองรับโมดูลต่อไปนี้: อุปกรณ์เคลื่อนที่น่าเสียดายที่คุณไม่มีโมดูล Java ที่ไม่ใช่ Gradle และโมดูล Android-Gradle ในโครงการเดียว" - นี่ช่วยฉันได้ ขอบคุณ!
JC Carrillo

14
  1. ปิดโครงการ
  2. เพียงลบ modules.xmlในโฟลเดอร์ .idea
  3. เปิดโครงการอีกครั้ง

1
ทำงานให้ฉันด้วย android studio 4.0
Afilu

12

พยายามทั้งหมดข้างต้น ใช้งานไม่ได้

นี่คือสิ่งที่ทำงาน ไปที่ไฟล์ชื่อ modules.xml

ลบโมดูลทั้งหมดที่นั่น ทำความสะอาดและสร้างใหม่


3
มันใช้งานได้สำหรับฉัน ฉันมีข้อผิดพลาดนี้ในโมดูลgradleที่ถูกลบในภายหลัง แต่ข้อผิดพลาดยังคงได้รับการรายงานไม่ว่าจะเกิดอะไรขึ้น การลบโมดูลออกจาก modules.xml ทำงานในขณะที่ทุกอย่างไม่ทำงาน
3c71

10

ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มโมดูลของคุณไปยังsettings.gradleไฟล์:

include ':app'
include ':your-module'

10

สวัสดีนักพัฒนาที่นี่เป็นทางออกที่ดีที่สุดสำหรับข้อผิดพลาดนี้:

แนวทางแก้ไข 1

ขั้นตอนที่ 1ไปที่ไฟล์ -> ทำให้แคช / รีสตาร์ทไม่ถูกต้อง

ขั้นตอนที่ 2ปิดโครงการ

ขั้นตอนที่ 3ไปที่โฟลเดอร์โครงการและลบโฟลเดอร์ .idea

ขั้นตอนที่ 4ลบ YourProjectName.iml ในโฟลเดอร์โครงการ

ขั้นตอนที่ 5คุณจะเห็นโฟลเดอร์ด้านล่างโฟลเดอร์ graddle ลบโฟลเดอร์ YourProjectName (มีไฟล์ YourProjectName.iml อีกไฟล์หนึ่ง)

ขั้นตอนที่ 6เปิดสตูดิโอ Android -> เปิดโครงการที่มีอยู่แล้วเลือกโครงการของคุณ

**

แนวทางแก้ไข 2

**

ขั้นตอนที่ 1:เปิดโครงการที่เสียหาย (รายการที่แสดงข้อผิดพลาด)

ขั้นตอนที่ 2:เปิดไฟล์ system.gradle

ขั้นตอนที่ 3:เพิ่มรหัสบรรทัดinclude ':app'นี้

ขั้นตอนที่ 4:คลิกที่การซิงค์เพื่อซิงค์ไฟล์ gradle

ยินดีด้วย!!! ข้อผิดพลาดในที่สุดแล้ว


1
การลบโฟลเดอร์ .idea และไฟล์. img
Redar

2
สิ่งนี้แตกต่างจากคำตอบก่อนหน้าอย่างไร สิ่งที่คุณทำคือรวบรวมคำตอบที่มีอยู่สองอันดับแรก
tir38

7

กด Ctrl-Alt-S> ยกเลิกการเลือกปลั๊กอิน "การสนับสนุน Android"

(ฉันหวังว่าฉันจะบอกคุณได้อย่างชัดเจนว่าทำไมถึงใช้งานได้ แต่ฉันทำไม่ได้ถ้าคุณต้องการพัฒนาสำหรับ Android ลองใช้ Android Studio ซึ่งสร้างโดย Jetbrains ด้วย)


2
File -> Settings (= STRG+ALT+S) -> Plugins -> uncheck "Android Support" หน้าช่วยเหลือของ JetBrains
schemacs

1
ในกรณีของฉันฉันไม่มีปลั๊กอินดังกล่าว แต่มี "ปลั๊กอิน Markdown" ที่ทำเครื่องหมายเป็นสีแดงเข้ากันไม่ได้ฉันถอนการติดตั้งและแก้ไขปัญหาหลังจากรีสตาร์ท AS
djdance

6

มีปัญหาเดียวกันกับ Android Studio 3.3 Canary 13

ฉันสามารถแก้ไขได้โดยทำตามขั้นตอนเหล่านี้:

  • ไปที่การตั้งค่าโมดูลและลบโมดูลของคุณออกจากรายการ
  • แก้ไข settings.gradle และลบโมดูลของคุณออกจากที่นั่น
  • ย้ายไดเรกทอรีโมดูลออกจากโครงการ (ตัวอย่างเช่นเดสก์ท็อปของคุณ)
  • จากนั้นในการตั้งค่าโมดูลเพิ่มโมดูลอีกครั้งและเลือกเป็นประเภท 'นำเข้าโครงการ Gradle' ซึ่งคุณเลือกโฟลเดอร์โมดูลที่คุณย้ายไปยังเดสก์ท็อปของคุณ (หรือที่อื่น ๆ )

เมื่อคุณทำตามขั้นตอนเหล่านี้แล้วโมดูลจะถูกคัดลอกไปยังโครงการของคุณอีกครั้ง AS จะเริ่มซิงค์ Gradle อีกครั้งและประสบความสำเร็จโดยไม่มีข้อผิดพลาด :-) ตรวจสอบสถานะ GIT ของคุณและคุณจะเห็นทันทีที่คุณเพิ่มไดเรกทอรีโมดูลของคุณไปยัง GIT อีกครั้ง ได้เปลี่ยนเป็นไดเรกทอรีทำงานของคุณ ดังนั้นจึงเป็นปัญหาที่เกิดขึ้นกับ AS ซึ่งทำให้ซิงค์ไม่ได้ ...

อิงตามโซลูชันของฉันกับความคิดเห็นนี้: https://issuetracker.google.com/issues/37008041#comment3


3

ด้วยเหตุผลบางอย่างคุณไม่สามารถลบโฟลเดอร์ .idea

วิธีที่ดีที่สุดคือ

  • ลบไฟล์ทั้งหมดที่อยู่ใน .idea
  • ลบ .idea


2

วิธีนี้ใช้ได้กับ Android Studio 3.3.2 ของฉัน

  1. ลบไฟล์. iml ออกจากไดเรกทอรีโครงการ
  2. ใน android studio File-> ทำให้แคช / รีสตาร์ทเป็นโมฆะ
  3. ทำความสะอาดและสร้างโครงการใหม่หากการสร้างอัตโนมัติพ่นผิดพลาด

2

ไม่มีข้อใดถูกใช้งานได้สำหรับฉัน แต่ลองทำแบบสุ่มและใช้งานได้

  1. คัดลอกไดเรกทอรีโครงการที่เสียหาย
  2. วางไว้ที่อื่น
  3. นำเข้ามาใน Android Studio (ไฟล์ -> ใหม่ -> นำเข้าโครงการ)
  4. และโครงการที่ไม่เสียหายได้รับการฟื้นฟู

PS: คุณต้องมีโครงการที่เสียหายต้นฉบับ (หมายถึงคัดลอกโดยไม่มีการดัดแปลงโครงสร้างโครงการ)



2

คุณสามารถปรับลดระดับการพึ่งพาการไล่ระดับสีของคุณเพื่อให้พอดีกับรุ่นสตูดิโอ Android ปัจจุบันของคุณ

dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
        ....
}

ทำงานให้ฉัน


1

สำหรับฉันโครงการของฉันเสียหายมาก ฉันไม่รู้ว่าฉันเข้ารัฐได้อย่างไร สิ่งที่ฉันสังเกตคือไฟล์. gradle และไฟล์ proguard หลายชุดมีเนื้อหา xml ทั้งชุด โชคดีที่ไฟล์ทางกายภาพมีเนื้อหาที่ถูกต้อง แต่ android studio แสดงเป็นไฟล์ xml บางไฟล์ที่ดูเหมือนว่าเป็นของข้อมูล res xml ที่สร้างขึ้น สิ่งต่าง ๆ เช่น "ซิงค์กับระบบไฟล์" หรือ "ซิงค์โครงการเพื่อไล่ระดับไฟล์", "ทำให้แคชใช้ไม่ได้และรีสตาร์ท" หรือ "gradlew clean" จะไม่เป็นการแก้ปัญหา ฉันยังแทนที่ข้อมูลปลอม xml ที่แสดงในสคริปต์การไล่ระดับสีด้วยเนื้อหาดั้งเดิม แต่นั่นก็ไม่ได้ช่วยอะไร ฉันลองใช้คำแนะนำบางอย่างที่ให้ไว้ข้างต้น แต่พวกเขาไม่ได้ทำงานหรือดูเหมือนซับซ้อนเกินไปสำหรับฉันที่จะรู้สึกว่าโครงการของฉันจะกลับไปสู่สภาพที่ดีขึ้น

ดังนั้นฉันเลือกที่จะสร้างโครงการเปล่าใหม่ ใช้ file explorer ฉันคัดลอกโมดูลทั้งหมดในโครงการที่เสียหายไปยังโครงการใหม่ (คัดลอกและวางแบบเก่าธรรมดา) ฉันยังแทนที่ "settings.gradle" และ root "build.gradle" ไฟล์ของไฟล์ใหม่ด้วย เนื้อหาจากไฟล์เก่า เมื่อทำเสร็จแล้วคุณต้องเรียกใช้ "ซิงค์โครงการกับไฟล์ gradle และคุณดีถึงดีถ้าโอกาสรากโครงการของคุณมีเนื้อหาบางส่วนที่คุณเพิ่มทางกายภาพคุณจะต้องคัดลอกที่เกินไป

เพื่อให้คุณสำรองและทำงานได้ ฉันไม่รู้ว่าอะไรทำให้โครงการของฉันเสียหาย แต่ฉันคิดว่ามันน่าจะเกี่ยวข้องกับแล็ปท็อปที่เข้าสู่โหมดสลีป แล็ปท็อปของฉันไม่อนุญาตให้ฉันตื่นจากการนอนหลับและวิธีเดียวที่ฉันจะตื่นคือการปิดเครื่องอีกครั้ง ฉันมีบางโครงการที่เปิดขึ้นมาสองสามครั้งเมื่อมันเกิดขึ้น นั่นคือการคาดเดาที่ดีที่สุดของฉันว่าโครงการอาจได้รับความเสียหายอย่างไร


1

คัดลอกไฟล์โครงการจากแหล่งต้นฉบับและวางที่ใดที่หนึ่งแล้วนำเข้าจาก Android Studio


1

รับการจัดการกับปัญหานี้ในขณะที่ทุกครั้งที่ฉันพยายามเปิดโครงการ

ฉันได้รับข้อผิดพลาดนี้เสมอแม้ว่าฉันรู้ว่าฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ ที่ควรทำให้เกิดสิ่งนี้นอกเหนือจากการส่งออกไปยัง zip

เพื่อแก้ไข:

  • สร้างโครงการใหม่หรือเปิดโครงการที่ใช้งานได้
  • ไปที่ไฟล์> เปิด> "โครงการของคุณ"
  • ตรวจสอบให้แน่ใจว่าโครงการจำลองของคุณเปิดอยู่ โครงการที่คุณได้รับข้อผิดพลาดควรเปิดในหน้าต่างใหม่

การแก้ไขนี้สำหรับฉันโดยไม่ทำการเปลี่ยนแปลงใด ๆ หรือลบอะไรเลย


0

ข้อผิดพลาดอธิบายทุกสิ่งความคิดที่สับสนระหว่างการไล่ระดับสีและMavenผู้เชี่ยวชาญ

พยายามสร้างโครงการใหม่ที่มีสองระดับโมดูลโมดูลคุณสามารถสร้างโปรแกรมสปริงด้วย gradle เป็น maven

ดูตัวอย่างนี้จากคู่มือนำสปริง


0

วิธีแก้ปัญหาต่อไปนี้ที่ฉันพบในฟอรัมนี้ใช้งานได้ดี:

1 - ปิดโครงการ

2- ปิด Android Studio IDE

3- ลบไดเรกทอรี .idea ในไดเรกทอรีที่แอปของคุณตั้งอยู่

4- ลบไฟล์. img ทั้งหมดในไดเรกทอรีที่แอปของคุณตั้งอยู่

5- เปิด Android Studio IDE และนำเข้าโครงการ

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