gen มีอยู่แล้ว แต่ไม่ใช่โฟลเดอร์ต้นทาง


91

ฉันกำลังพัฒนาโปรเจ็กต์ Android ของฉันหลังจากที่ฉันลบไลบรารีที่ไม่ได้ใช้ฉันพบข้อผิดพลาด:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it

ในรหัสกิจกรรมของฉันทรัพยากรทั้งหมดจากR.javaไม่สามารถแก้ไขได้

ฉันลองคลิกขวาที่โครงการของฉัน => Java Build Path => ใต้แท็บ "Source" ฉันเพิ่ม gen / as source แต่ก็ไม่ช่วยแก้ปัญหา ...

ทำไมจะกำจัดปัญหานี้ได้อย่างไร?

---- อัพเดท ----

ฉันพบว่า eclipse ยังบ่นว่า "Project ไม่มีไฟล์ project.properties! แก้ไขคุณสมบัติของโปรเจ็กต์เป็นชุดเดียว" แต่ฉันมีไฟล์ project.properties ภายใต้โครงการของฉัน ทำไมมันถึงบ่น? ฉันทำความสะอาดโปรเจ็กต์และ "แก้ไขคุณสมบัติของโปรเจ็กต์" แล้ว แต่มันไม่ได้ช่วยอะไร


5
ตรวจสอบว่าโฟลเดอร์ src ของคุณมีโฟลเดอร์ gen ใด ๆ หากมีการลบ ไม่จำเป็นต้องสร้างมันขึ้นมาเอง ทำความสะอาดโครงการของคุณครั้งเดียว
Padma Kumar

สวัสดีโฟลเดอร์ My src ไม่มีโฟลเดอร์ gen ...
Leem.fin

1
เกิดขึ้นกับฉันหลังจากนำเข้าโครงการ
max.mustermann

1
คุณมีคำตอบที่ดีมากปัจจุบันให้คะแนน 79 แต่คุณยังไม่ยอมรับ คุณควรยอมรับมัน และ "อัปเดต" ของคุณควรเป็นคำถามแยกต่างหาก (และคุณอาจต้องการดูว่ามีใครตอบหรือไม่)
steveha

ฉันคิดว่าคำตอบของฉันจะช่วยในปัญหานี้ .. stackoverflow.com/questions/9738203/…
Ranjit

คำตอบ:


234

ฉันได้รับปัญหาเดียวกัน

สองการกระทำประการแรก:

    1. คลิกขวาที่โครงการและไปที่ "Properties"
    2. เลือก "Java Build Path" ทางด้านซ้าย
    3. เปิดแท็บ "แหล่งที่มา"
    4. คลิก "เพิ่มโฟลเดอร์ ... " และเลือก "gen" และ "src"

วินาที: (เพราะการกระทำก่อนหน้านี้ขอให้ฉันลบบางอย่างออก ... ฉันจำไม่ได้ว่ามันคืออะไร ... )

    1. คลิกขวาที่โครงการและไปที่ "Properties"
    2. เลือก "Java Build Path" ทางด้านซ้าย
    3. เปิดแท็บ "Libraries"
    4. เพิ่ม JAR ภายนอก เพิ่ม Google API ที่อยู่ในไดเรกทอรี Android ของคุณ (android-sdk \ platforms \ android-yourversion

และตอนนี้มันได้ผลสำหรับฉัน!


10
ในกรณีของฉันฉันต้องทำเฉพาะส่วนแรกที่กล่าวถึงข้างต้น ขอบคุณ!
tm_forthefuture

วิธีแก้ปัญหาแรกช่วยฉันในการลองครั้งแรกด้วย :)
Saad Qureshi

2
ทำงานแล้ว ... แต่สิ่งนี้เกิดขึ้นได้อย่างไร? Android โง่ :-)
Ryan Detzel

ขั้นตอนแรกใช้ได้ผลสำหรับฉัน ไม่แน่ใจว่าทำไม Eclipse จึงตัดสินใจทิ้งโฟลเดอร์เหล่านี้ (.classpath ดูเหมือนจะไม่มีการเปลี่ยนแปลง) ...
ssawchenko

ไชโย.. ใช้งานได้ดี :)
vjamit

37

วิธีการแก้ :

ขั้นตอนที่ 1 :

  • คลิกขวาที่โครงการและไปที่ "Properties"
  • เลือก "Java Build Path"
  • เปลี่ยนเป็นแท็บ "แหล่งที่มา" ลบแหล่งที่มาทั้งหมดจากโฟลเดอร์ซอร์สบน Build Path
  • รีสตาร์ท Eclipse

ขั้นตอนที่ 2 :

  • คลิกขวาที่โครงการและไปที่ "Properties"
  • เลือก "Java Build Path"
  • เปลี่ยนเป็นแท็บ "แหล่งที่มา"
  • คลิก "เพิ่มโฟลเดอร์ ... " และเลือกโฟลเดอร์ซอร์ส "gen" และ "src" บน Build Path
  • รีสตาร์ท Eclipse

สุดท้าย

สร้างโครงการ

Happy Coder :)


1
ตรวจสอบ gen เท่านั้นที่แก้ปัญหาได้และไม่ทำงานกับโฟลเดอร์ src
Manikandan

ฉันคงเสียเวลาไปทั้งวัน ขอบคุณ
Prakash

17
  1. คลิกขวาที่โครงการและไปที่Properties
  2. เลือกJava Build Pathทางด้านซ้าย
  3. แท็บOpen Source
  4. คลิกเพิ่มโฟลเดอร์ ...และตรวจสอบgenและsrc

นั่นคือคำตอบที่ดีที่สุด รวบรัดแก้ปัญหาตูม!
Ely

8

สาเหตุนี้เกิดจากการใช้ตัวนำเข้าที่ไม่ถูกต้องใน Eclipse ถ้าคุณมีโครงการ Android ของคุณจะต้องนำเข้าไว้ในพื้นที่ทำงานของคุณกับAndroid-> รหัสที่มีอยู่ของ Androidไม่งานทั่วไปซึ่ง> โครงการที่มีอยู่

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


3

ฉันต้องลบโฟลเดอร์ gen ทั้งหมดภายใน eclipse ไม่ใช่จาก file explorer จากนั้นทำความสะอาดและสร้างขึ้นใหม่ ตลกดีที่เกิดขึ้นหลังจากที่ฉันเรียกใช้รายงาน Lint HTML


สิ่งนี้ใช้ได้ผลกับฉันด้วย เพิ่งลบไฟล์ gen และไม่กี่วินาทีต่อมาก็ถูกสร้างใหม่และทุกอย่างก็กลับมาเป็นปกติ
Sandy

2

โฟลเดอร์ gen เป็นที่ที่ ADT สร้างไฟล์ R.java ซึ่งระบุนิยามทรัพยากรของคุณ เช่นทรัพยากรของคุณ (สีมิติเค้าโครง ฯลฯ ) จะถูกแปลงเป็นรหัสและวางไว้ใน R.java ในโฟลเดอร์ gen

ดังนั้นเมื่อคุณสร้างแอปคุณต้องแน่ใจว่าโฟลเดอร์ gen ได้รับการปฏิบัติเป็นโฟลเดอร์ซอร์สโค้ดโดย IDE ของคุณเนื่องจากมีคลาส R

ใน IDE ของคุณคุณต้องทำเครื่องหมายโฟลเดอร์ gen เป็นโฟลเดอร์ต้นทางดังนั้นเนื้อหาจึงถูกสร้างขึ้นควบคู่ไปกับแหล่งที่มาของคุณ

อัตราการยอมรับของคุณต่ำมาก หากคุณต้องการให้คนอื่นช่วยเหลือคุณคุณต้องมีอัตราการยอมรับที่สูง


9
แต่จะยอมรับได้อย่างไรหากไม่มีคำตอบที่ถูกต้อง? ฉันตรวจสอบคำตอบ แต่ไม่มีใครเป็นทางแก้ ... ตัวอย่างเช่นโพสต์ปัจจุบันของฉันฉันรู้ว่าอะไรคือ gen / และทำงานอย่างไรใน Android ฉันกำลังหาวิธีแก้ปัญหาปัจจุบันของฉัน แต่ยังไม่มีเลย.
Leem.fin

1

ฉันพบปัญหาเดียวกันแก้ไขได้ดังนี้:

ใน Package Explorer ให้คลิกขวาที่โฟลเดอร์ gen ค้นหา "Build Path - Use as Source Folder" แล้วคลิก

อย่างนั้นแหละ. ฉันหวังว่ามันจะช่วยได้


1

ฉันได้กำหนดค่า SVN สำหรับโครงการที่มีปัญหาเดียวกันลบโฟลเดอร์และไฟล์ทั้งหมดดึงข้อมูลอีกครั้งจาก SVN และยังไม่มีโชค สิ่งเดียวที่ช่วยได้คือการคืนค่าการเปลี่ยนแปลงและการลบ / นำเข้าโครงการไปยังพื้นที่ทำงานอีกครั้ง หวังว่านี่จะช่วยได้


0

ครั้งสุดท้ายที่ฉันมีปัญหานี้เป็นเพราะฉันเปลี่ยนแหล่งที่มาเป็นสาขาอื่นเบื้องหลัง เมื่อฉันปิด Eclipse และเปิดขึ้นมาใหม่ปัญหาก็หายไป


0

ฉันมีอาการเดียวกันแต่แก้ไขต่างกัน:

ฉันพบว่าฉันมีสองไฟล์ใน dir ที่วาดได้ซึ่งขัดแย้งกัน: icon.png และ icon.xcf สิ่งนี้ทำให้การสร้าง R ล้มเหลว ฉันย้าย icon.xcf ออกไปและสร้าง R และคอมไพล์โครงการ


0

ไปที่คุณสมบัติโครงการจากนั้นไปที่ Java Build Path จากนั้นลบโฟลเดอร์ที่มีอยู่แล้วจากนั้นคลิกเพิ่มโฟลเดอร์จากนั้นเพิ่มโฟลเดอร์ Source และ gen จากนั้นกด ok ............ จะได้ผล .......


0

วิธีแก้ปัญหาของฉันคือวางสิ่งต่อไปนี้ลงในไฟล์. classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>


0

สิ่งนี้เกิดขึ้นเนื่องจากไฟล์. classpath ของคุณถูกลบออกไป ไฟล์นี้มีข้อมูลทั้งหมดจากแท็บ Java Build Path ภายใต้ Project Properties คุณสามารถเพิ่มข้อมูลทั้งหมดได้ด้วยตนเอง แต่มีวิธีที่ง่ายกว่าในการแก้ไขปัญหานี้

หากคุณมีสำเนาของไฟล์. classpath ในเครื่องของคุณคุณสามารถคัดลอกและวางลงในไดเรกทอรีโครงการของคุณได้


0

ฉันลองทำตามคำแนะนำที่ให้ไว้ที่นี่แล้ว แต่ยังพบปัญหา สุดท้ายปรากฎว่า Eclipse นำเข้าผิด ด้วยเหตุผลบางประการจึงเพิ่มคำว่า "gen" และ "src" ไว้ที่จุดเริ่มต้นของบรรทัดการนำเข้า ฉันต้องเปลี่ยนบรรทัดการนำเข้าทั้งหมดจาก

import gen.org.qtproject.qt5.android.bindings.QtApplication;

ถึง

import org.qtproject.qt5.android.bindings.QtApplication;

เมื่อฉันทำอย่างนั้นทุกอย่างก็กลับมาเป็นปกติ

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