gen zaten var ama kaynak klasör değil


91

Android projemi geliştiriyorum, Kullanılmayan bir kitaplığı kaldırdıktan sonra şu hatayı aldım :

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

Etkinlik kodumdaki tüm kaynaklar R.javaçözülemiyor.

Denedim, projeme sağ tıklayın => Java Build Path => "Source" sekmesi altında gen / kaynak olarak ekledim. Ama soruna yardımcı olmuyor ...

Neden, bu sorundan nasıl kurtuluruz?

----GÜNCELLEME----

Tutulmanın ayrıca "Project'in project.properties dosyası yok! Bir tane ayarlamak için proje özelliklerini düzenleyin." , ancak projemin altında project.properties dosyam var. Neden şikayet ediyor? Projeyi temizledim ve "proje özelliklerini düzelttim" ama yardımcı olmuyor.


5
src klasörünüzün herhangi bir gen klasörü içerip içermediğini kontrol edin. varsa silin. . manuel olarak oluşturmaya gerek yok. Projenizi bir kez temizleyin.
Padma Kumar

merhaba, src klasörüm herhangi bir gen klasörü içermiyor ...
Leem.fin

1
Bir projeyi içe
aktardıktan

1
Çok iyi bir cevabınız var, şu anda 79 olarak derecelendirilmiş, ancak henüz kabul etmediniz. Kabul etmelisin. Ve "GÜNCELLEME" sizin ayrı bir soru olmalıdır (ve herhangi birinin daha önce cevaplamış olup olmadığını görmek isteyebilirsiniz).
steveha

Cevabımın bu soruna yardımcı olacağını düşünüyorum .. stackoverflow.com/questions/9738203/…
Ranjit

Yanıtlar:


234

Aynı problem bende de var.

İlk olarak iki eylem:

    1. Projeye sağ tıklayın ve "Özellikler" e gidin
    2. Soldaki "Java Derleme Yolu" nu seçin
    3. "Kaynak" sekmesini açın
    4. "Klasör Ekle ..." yi tıklayın ve "gen" ve "src" yi kontrol edin

ikinci: (önceki eylem benden bir şeyi kaldırmamı istedi çünkü ... ne olduğunu hatırlamıyorum ...)

    1. Projeye sağ tıklayın ve "Özellikler" e gidin
    2. Soldaki "Java Derleme Yolu" nu seçin
    3. Kitaplıklar "sekmesini" açın
    4. Harici bir JAR ekleyin. Android dizininizdeki Google API'sini ekleyin (android-sdk \ platformlar \ android-yourversion

Ve şimdi benim için çalışıyor!


10
Benim durumumda sadece yukarıda belirtilen ilk kısmı yapmam gerekiyordu. Teşekkür ederim!
tm_forthefuture

İlk çözüm ilk denemede bana da yardımcı oldu :)
Saad Qureshi

2
İşe yaradı ... ama bu nasıl oldu? Aptal Android. :-)
Ryan Detzel

İlk adım benim için çalıştı. Değil emin nasıl ya Eclipse sadece ... Bu klasörler (.classpath değişikliğine görünmedi) vazgeçme kararı neden
ssawchenko

Şerefe .. Sadece iyi çalışıyor :)
vjamit

37

Çözüm :

Aşama 1 :

  • Projeye sağ tıklayın ve "Özellikler" e gidin
  • "Java Derleme Yolu" nu seçin
  • "Kaynak" sekmesine geçin Derleme Yolundaki kaynak klasörden tüm kaynakları kaldırın
  • Eclipse'i yeniden başlatın

Adım 2 :

  • Projeye sağ tıklayın ve "Özellikler" e gidin
  • "Java Derleme Yolu" nu seçin
  • "Kaynak" sekmesine geçin
  • "Klasör Ekle ..." öğesini tıklayın ve Derleme Yolunda "gen" ve "src" kaynak klasörünü kontrol edin
  • Eclipse'i yeniden başlatın

Final

Proje Oluşturma

Mutlu Coder :)


1
check gen yalnızca sorunu çözer ve src klasörüyle çalışmaz
Manikandan

Günümü boşa harcardım. Teşekkürler
Prakash

17
  1. Projeye sağ tıklayın ve Özellikler'e gidin
  2. Soldaki Java Derleme Yolu'nu seçin
  3. Kaynak sekmesini aç
  4. Klasör Ekle ... 'yi tıklayın ve gen ve src'yi kontrol edin

En iyi cevap bu. Kısa, sorun çözüldü, boom!
Ely

8

Bunun nedeni Eclipse'de yanlış ithalatçı kullanılmasıdır. Android projeleriniz varsa, bunları Genel-> Mevcut Projeler değil, Android-> Mevcut Android Kodu ile çalışma alanınıza aktarmanız gerekir .

görüntü açıklamasını buraya girin


3

Eclipse içindeki tüm gen klasörünü dosya gezginden değil silmem gerekti. sonra bir temizlik yaptı ve yeniden inşa edildi. komik bu, bir Lint HTML raporu çalıştırdıktan hemen sonra gerçekleşti.


Bu benim için de çalıştı. Sadece gen dosyasını sildi ve birkaç saniye sonra yeniden oluşturuldu ve her şey normale döndü.
Sandy

2

Gen klasörü, ADT'nin kaynak tanımlarınızı belirten R.java dosyasını oluşturduğu yerdir. yani kaynaklarınız (renkler, boyutlar, düzenler, vb.) koda dönüştürülür ve gen klasöründe R.java'ya yerleştirilir.

Bu nedenle, uygulamayı oluşturduğunuzda, gen klasörünün, R sınıfını içerdiği için IDE'niz tarafından bir kaynak kodu klasörü olarak değerlendirildiğinden emin olmanız gerekir.

IDE'nizde, gen klasörünü bir kaynak klasör olarak işaretlemeniz gerekir, böylece içeriği kaynağınızla birlikte oluşturulur.

Kabul oranınız çok düşük. İnsanların size yardım etmesini istiyorsanız, yüksek bir kabul oranına ihtiyacınız var.


9
ama doğru cevap yoksa nasıl kabul edebilirim? Cevapları kontrol ediyorum ama kimse çözüm değil ... Örneğin şu anki yazımda gen nedir / Android'de nasıl çalıştığını biliyorum, mevcut sorunuma bir çözüm arıyorum. Ama henüz bir tane yok.
Leem.fin 02

1

Aynı problemle karşılaştım, şu şekilde çözdüm:

Paket Gezgini'nde, gen klasörünü sağ tıklayın, "Oluşturma Yolu - Kaynak Klasörü Olarak Kullan" öğesini bulun ve tıklayın.

İşte bu. Umarım yardımcı olur.


1

SVN'yi aynı soruna sahip bir proje için yapılandırdım, tüm klasörleri ve dosyaları sildim, SVN'den tekrar aldım ve hala şansım yok. Yardımcı olan tek şey değişiklikleri geri almak ve projeleri çalışma alanına silmek / yeniden aktarmaktı. Bu yardımcı olur umarım


0

Bu sorunu en son yaşadığımda, kaynağı perde arkasındaki başka bir şubeye geçirmiş olmamdı. Eclipse'i kapatıp yeniden başlattıktan sonra sorun ortadan kalktı.


0

Aynı semptomlardan bazılarına sahiptim ama farklı şekilde çözdüm:

Çekilebilir dizinde çakışan iki dosyam olduğunu öğrendim: icon.png ve icon.xcf. Bu, R'nin başarısız üretimine neden oldu. İcon.xcf dosyasını yoldan çıkardım ve R oluşturuldu ve proje derlendi.


0

Proje özelliklerine gidin, ardından Java Derleme Yoluna gidin, ardından Mevcut klasörü kaldırın, ardından Klasör Ekle'ye ve ardından Kaynak ve gen klasörünü Ekle'ye tıklayın. sonra Tamam'a basın ............ Çalışacak .......


0

Çözümüm aşağıdakileri .classpath dosyasına yapıştırmaktı:

<?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

İthalat beyanlarımızı da kontrol etmemiz gerekiyor, eğer 'android.R'yi ithal etmişsek onu kaldırmalıyız.


0

Bunun nedeni, .classpath dosyanızın bir şekilde silinmiş olmasıdır. Bu dosya, Proje Özellikleri altındaki Java Oluşturma Yolu sekmesindeki tüm bilgileri içerir. Tüm bilgileri manuel olarak ekleyebilirsiniz, ancak bu sorunu çözmenin daha kolay bir yolu var.

Makinenizde .classpath dosyasının bir kopyası varsa, bunu kopyalayıp proje dizininize yapıştırabilirsiniz.


0

Burada verilen önerileri denedim ve hala sorun yaşadım. Sonunda, Eclipse'in ithalatını yanlış yaptığı ortaya çıktı. Bazı nedenlerden dolayı içe aktarma satırının başına "gen" ve "src" kelimelerini ekledi. Tüm ithalat satırlarını değiştirmek zorunda kaldım

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

-e

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

Bunu yaptıktan sonra her şey normale döndü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.