Android Studio derlemesi, "Projem" kök projesinde "Görev" bulunamadığından başarısız oluyor. "


91

Dizüstü bilgisayarı değiştirip Android Studio 0.8.2 sürümüne güncelledikten sonra projemi oluşturmaya çalışırken bu hatayı alıyorum.

HATA: Derleme bir istisna nedeniyle başarısız oldu.

  • Ne yanlış gitti: Görev '', 'Projem' kök projesinde bulunamadı.

  • Deneyin: Mevcut görevlerin bir listesini almak için aşamalı görevleri çalıştırın. Yığın izlemeyi almak için --stacktrace seçeneğiyle çalıştırın. Daha fazla günlük çıktısı almak için --info veya --debug seçeneğiyle çalıştırın.

YAPI HATALI OLDU

İşte Gradle dosyalarım:

Üst Düzey ayarlar.gradle

include ':MyProject'

MyProject'te build.gradle:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:0.12.+"
    }
}
repositories {
    mavenCentral()
}

android {
    compileSdkVersion 20
    buildToolsVersion "20"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 20
    }
}

dependencies {
    compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
    compile 'com.nineoldandroids:library:2.4.0'
}

Üst düzey build.gradle boş


Tam olarak hangi komutu çalıştırıyorsunuz?
Opal

@Opal Sadece temizlemeye ve yeniden inşa etmeye çalışıyorum
TomRichardson

İyi tamam. Hangi komutu yürütürsünüz?
Opal

8
Android Studio'yu kapatıp yeniden açmayı deneyin. Benim için çalıştı.
petter

2
Bunların arasından cevap seçilmedi mi ??? En azından cevabınızı gönderin o zaman, bu başkalarına da yardımcı olacaktır.
kAmol

Yanıtlar:


63

Cevap vermenin geç olmasına rağmen, bu Google için zor bir soru (tek alıntılar) ve ne olduğu net değil. Henüz yorum yapacak veya kapsam soracak (veya 3 bağlantı gönderecek) itibarım yok, bu yüzden bu yanıt biraz sıkıcı olabilir.

Hızlı cevap vermek için, projenizde birden fazla Gradle eklentiniz olabilir.

Gradle Wrapper ve Eklentileri Senkronize Edin

Sorunum bozuk bir IML dosyasıyla başlıyor gibiydi. Android Studio (bir projeyi kapatmak ve yeniden açmak arasında) bir IML'nin gittiğinden (değildi) şikayet etmeye başladı ve bir modülün silinmesi gerekiyor, bunu reddettiğim. Devam etti, AS 0.8.7'ye (kanarya kanalı) yükselttim ve OP konusunda takılıp kaldım (Görev '' kök projede bulunamadı). Bu tamamen engellenmiş yapılar olduğundan Gradle'a girmek zorunda kaldım.

OSX'teki onarım adımlarım (lütfen Windows için ayarlayın):

  1. Android Studio'yu 0.8.7'ye yükseltin
    • Tercihler | Güncellemeler | "Beta Kanalı" nı "Kanarya Kanalı" na değiştirin, ardından Şimdi Kontrol Edin.
    • Bunu atlayabilirsiniz.
  2. Gradle paketleyicisini kontrol ettim (şu anda 1.12.2; şu anda 2.0'ı kullanmayı denemeyin).

    • Belirli bir sürüme ihtiyacınız olmadığını varsayarsak, desteklenen en son dağıtımı kullanın

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • Bu, Android Studio'da Tercihler | Gradle (ancak 0.8.7 bana 'geçersiz konum' hataları veriyordu).

    • "Sarıcı", her Android Studio projesi için Gradle'ın yalnızca bir kopyasıdır. İşletim sisteminizde Gradle 2'ye ve projelerinizde farklı sürümlere sahip olmanızı sağlar. Android Geliştirici belgeleri bunu burada açıklamaktadır .
    • Ardından eklenti için build.gradle dosyalarınızı ayarlayın . Gradle eklenti sürümü, tüm proje için dağıtım / sarıcı sürümüyle uyumlu olmalıdır. Araçlar belgeleri (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) biraz eski olduğundan, eklenti sürümünü çok düşük (0.8.0 gibi) ayarlayabilirsiniz ve Android Studio, sarmalayıcı için kabul edilebilir aralıkta bir hata verecektir.

Örneğin, build.gradle'da şu eklentiye sahipsiniz:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.+"
}

Bunu tam sürüme geçirmeyi deneyebilirsiniz, örneğin:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.2"
}

ve (her durumda hangi sürümü değiştirdiğinizi kaydettikten sonra) projenizdeki her build.gradle dosyasının aynı eklenti sürümünü çektiğini doğrulayın. "+" Karakterini tutmak işe yaramalı (0.12.0, 0.12.1, 0.12.2, vb. İçin), ancak Google'ın Volley kitaplığını (orijinal olarak derecelendirme: 0.8. +) Ve ana projemi (orijinal olarak 0.12. +) sabit versiyona: gradle: 0.12.2.

Diğer kontroller

  1. Aynı Projede iki Android Uygulama modülünüzün olmadığından emin olun

    • Bu, nihai çözümle (yukarıdaki farklı Gradle sürümleri) etkileşime girebilir ve

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • Kontrol etmek için, Oluştur | Make Project, hangi uygulamayı yapmak istediğinizi soran bir pencere açmamalıdır.

  2. Önbelleklerinizi geçersiz kılın
    • Dosya | Önbellekleri Geçersiz Kıl / Yeniden Başlat (stackoverflow.com/a/19223269/513413)
  3. Adım 2 işe yaramazsa, ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/) silin.
    • Android Studio'dan çıkın
    • $ rm -rf ~ / .gradle /
    • Android Studio'yu başlatın, ardından senkronize edin:
      • Araçlar | Android | Gradle Dosyaları ile Projeyi Senkronize Et
    • Vazgeçmeden önce tüm diziyi birkaç kez tekrarlayın (senkronizasyondan çıkın).
  4. Projeyi temizleyin
    • Yapı | Temiz Proje

Bunu Görürseniz ...

Son derlemelerimde korkunç başarısızlıklar görmeye devam ettim (istisna sayfaları), ancak saniyeler içinde mesajlar temizlenir, başarılı bir şekilde oluşturulur ve uygulama devreye girer. Asla açıklayamayacağım ve uygulama çalıştığı için, projemde iki Gradle eklentim olduğunu hiç fark etmedim. Bu yüzden Gradle eklentilerinin birbirleriyle savaştığını düşünüyorum; biri çöktü, diğeri durumunu kaybetti ve hatayı bildirdi.

Vaktiniz varsa, 1 saatlik "Gradle'a Nazik Bir Giriş" (www.youtube.com/watch?v=OFUEb7pLLXw) videosu Gradle derleme dosyalarına, görevlere, derleme kararlarına vb. Yaklaşmama gerçekten yardımcı oldu.

Feragatname

Tüm bu yığını, yabancı bir işletim sisteminde, farklı bir kariyerden sonra öğreniyorum ... hepsi aynı anda ve baskı altında. Son birkaç ayda Android'in sahip olduğunu düşündüğüm her duvara çarptım; Buraya oldukça sık geldim ve bu benim ilk yazım. Bunun zor bir düzeltme olduğunu düşündüm, bu yüzden cevabımın kalitesi ona ulaşmakta yaşadığım zorluğu yansıtıyorsa içtenlikle özür dilerim.


Harika yanıt, özür dilemeyecek bir şey yok ve YouTube bağlantısı için teşekkürler
Sabuncu

Bunun için teşekkürler. "Diğer Çekler" deki 3. Adım benim için yaptı:$ rm -rf ~/.gradle/
String

24

İçe aktardığınız proje için sdk yöneticisinden sistem görüntüsünü (projenizin hedeflenen android düzeyinin) indirin.

Bu hata, android projenizin hedef sdk'sini sdk klasörüne yüklemediğinizde ortaya çıkar

örneğin. İçe aktarılan projenizin hedef sdk seviyesi android-19 olabilir ve sdk klasörü-> sistem görüntülerinde android-21 yüklü olabilir. Bu nedenle, android-19 sistem görüntüsünü ve diğer dosyaları sdk yöneticisinden indirmeniz gerekir veya sistem görüntünüz varsa kopyalayıp yapıştırabilirsiniz.


1
Bu benim için sorunu çözdü - AS'de 'Gradle proje senkronizasyonu başarısız oldu' şeklinde sarı bir uyarı fark ettim, Mesajlar penceresine baktığımda, eksik hedef SDK'yı birkaç tıklama ile yüklemek için bir köprü içeriyordu.
Bay Bungle


9

Bu, yakın zamanda bir Android Studio projesini kapattığımda ve başka bir Eclipse projesini içe aktardığımda başıma geldi. Android Studio'da, daha önce açık olan projeden bazı gradle ayarlarını koruduğu ve ardından yeni projede kafasının karıştığı bir hata gibi görünüyordu.

Çözüm son derece basitti: Yeniden açmadan önce projeyi kapatın ve Android Studio'yu tamamen kapatın ve ardından yeni projeyi içe aktarın / açın. O andan itibaren her şey sorunsuz gidiyor.


4

Benim için basit düzeltme

  1. Oluştur> Temiz proje
  2. Android Studio'yu yeniden başlatın

3

Benim durumumda, 'Gradle sürümünü' Dosya-> Proje Yapısı-> Proje altındaki 'Android Eklenti sürümü' ile aynı şekilde ayarlamak benim için sorunu çözdü.


3

Görünüşe göre bu hatanın birçok nedeni var. İşte benim için düzelten şey.

Build komutunu şu şekilde çalıştırıyordum:

./gradlew :testapp: build

Alan olmadan çalıştırmak sorunu çözdü:

./gradlew :testapp:build

3

Bu hatayı bir Git dalından diğerine geçerken ve ardından "Temiz Proje" yi çalıştırmaya çalışırken aldım. Ben kullanılan ackGörev adını aramak için, ve bir .iml dosyasında buldum.

Benim çözümüm oldu projenin .iml (ana menüde) tıklayarak dosyayı Araçlar> Android> Gradle Files ile senkronize Projesi yeniden. ( Bu cevap sayesinde .)


2

Bazen, Android Studio'nun iki penceresi açtıysanız ve derlemeye çalıştığınızda bu sorun ortaya çıkabilir. Benim için, bir projeye gömülü olmayan, farklı Android Studio projeleri arasında paylaşılan, yedeklenmiş bir Google Cloud Endpoint modülünü derlerken ve birden fazla açık örnek olduğunda, bu hata benim için ortaya çıkıyor. Ancak diğer pencereleri kapatır kapatmaz her şey yoluna girecek. Bazen Android Studio'yu tamamen yeniden başlatmanız gerekebilir.


2

Bu sorunu Android SDK yolunu bulamadığı için aldım. local.propertiesİçinde bir dosya veya bir ANDROID_HOMEortam değişkeni eksikti .


iyi adam, aynı şey burada. ~ / .Bash_profile dosyama ANDROID_SDK eklendi ve işe yaradı
Gary O 'Donoghue

1

Gradle dosyalarınızda en son değerlere sahip olduğunuzdan emin olun. Bu yazı itibariyle:

  • buildToolsVersion "21.1.2"

  • bağımlılıklar {sınıf yolu 'com.android.tools.build:gradle:1.1.0'}


1

Yine aynı soruna başka bir çözüm:

Bu, sihirbazı kullanarak bir tutulma projesini stüdyoya her aktarışımda başıma geldi (stüdyo sürümü 1.3.2).

Şans eseri bulduğum şey, Android stüdyosundan çıkmanın ve ardından stüdyoyu yeniden başlatmanın sorunu ortadan kaldırmasıydı.

Sinir bozucu, ama umarım bu birine yardımcı olur ...


1
  1. Komut İstemi'ni Aç
  2. sonra komut isteminden proje klasörünüze gidin
  3. Tip gradlew yapı ve koşmak

1

Sorun

"[module_name]:prepareDebugUnitTestDependencies" task not foundHer seferinde gradle build çalıştırdığımda özellikle hatayı aldım . Bu, Android Studio'umu 3.0.0'a güncelledikten sonra başıma geldi.

Araştırma

Daha önce gradle tabanlı derleyiciye komut satırı seçeneklerini eklemiştim, bunları şurada bulabilirsiniz: Dosya -> Ayarlar -> Oluştur, Yürütme, Dağıtım -> Derleyici -> Komut Satırı Seçenekleri . Özellikle, yukarıda bahsedilen görev de dahil olmak üzere bir dizi görevi hariç tuttum. Bu, önceki kararlı sürümde (o sırada 2.3) iyi çalışsa da, yapı başarısızlığının arkasındaki sebep bu gibi görünüyor.

Çözüm

Bu, birçok olası çözümden biridir. Aşağıdaki ayarlarda belirtilen doğru komut satırı seçeneklerine sahip olduğunuzdan emin olun: Dosya -> Ayarlar -> Oluşturma, Yürütme, Dağıtım -> Derleyici -> Komut Satırı Seçenekleri ve bunların hiçbirinin bu soruna neden olmadığından emin olun.

Benim durumumda, bu görevin (ve ilgili görünen diğer görevlerin) hariç tutulmasını kaldırdım, ilgisiz görevleri hariç bıraktım ve işe yaradı!


0

Kök klasörün yolunu ayarlayın ve aşağıdaki komutu çalıştırdıktan sonra

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial

0

Yaptığım bu

  1. .İdea klasörünü kaldır

    $ mv .idea .idea.bak

  2. Projeyi tekrar içe aktarın


0

.gradleKlasörü kaldırdım / yeniden adlandırdım c:\users\Myuser\.gradleve Android Studio'yu yeniden başlattım ve benim için çalıştı


0

Görünüşe göre bu sorun çeşitli durumlarda Android Studio'nun neden olduğu, ancak nedeni mevcut bir projeyi android stüdyosuna aktarırken inşa hatası .

Benim durumumda, birkaç yapı aracı yüklemem gereken var olan projemi içe aktardım ve sonunda yapılandırma yapılandırması hata ile yapıldı. Bu durumda, sadece aşağıdakileri yapın

  1. Mevcut projeyi kapat
  2. Dosya> Yeni> Projeyi İçe Aktar (Açık olan son projeyi kullanmayın)

    Not: İçe aktarma projesinde bu gerçekleştiğinde kaynak kodunda bu tür bir hata olmadığından eminim .

0

Benim durumumda, Android Studio'daki derleme seçeneklerinin "stacktrace" olduğu sorunuyla karşılaşıyorum. Değiştir stacktrace için --stacktrace , sorun çözüldü.

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


0

Bu sorunu çözdüm Sadece Android Klasöründe dosya oluşturmanız gerekiyor

Android klasörüne git

Local.properties dosyası oluşturun

sonra bu kodu local.properties dosyasına ekleyin: -

MacBook kullanıyorsanız sdk.dir = / Kullanıcılar / KULLANICIADI / Kitaplık / android / sdk

Windows kullanıyorsanız sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

Linux kullanıyorsanız sdk.dir = / home / USERNAME / Android / sdk

Sisteminizin USERNAME'inin ne olduğunu bilmek istiyorsanız, Mac whoami için komut kullanın

ve sonra react-native run-android komutunu yeniden çalıştır

Teşekkürler :)

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.