Neden: buildOutput.apkData boş olmamalıdır


245

Kotlin kullanan android uygulamam, cep telefonumdaki emülatörde 'uygulamayı' çalıştırmaya çalıştığımda bu istisnayı atıyor. Projemi oluşturduğumda iyi çalışıyor, hatasız çalışıyor.

Ben kullanıyorum:

  • SDK 28 (Android 9.0 (Pasta))
  • Sınıf 5.1.1
  • Gradle Plugin 3.5.0-alpha03
  • Kotlin 1.3.10
  • Java 1.8.0_151
  • OSX 10.13.2
    org.gradle.internal.exceptions.LocationAwareException: buildOutput.apkData must not be null
        at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:99)
        at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:65)
        at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39)
        at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:29)
        at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:194)
        at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:141)
        ...
    Caused by: java.lang.IllegalStateException: buildOutput.apkData must not be null
        at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:103)
        at com.android.build.gradle.internal.ide.EarlySyncBuildOutput$Companion$load$2.invoke(EarlySyncBuildOutput.kt:67)
        at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:174)
        at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:691)
        at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:721)
        at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:712)
        ...


3
Android Studio'yu 3.4'e güncelledikten sonra da aynısı aldım
Andrew

2
Benim için işe yarayan Lemberg cevabını kontrol et, bugün bu sorunla karşılaştım
Nicky

Android Studio 3.5'i yükledikten sonra Java (gerekli Kotlin) için de aynı şey geçerli.
Patapoom

Yanıtlar:


312

Tıklayın Build->Clean Project

Sonra Build->Make Project

3.5.0-alfa3, -al5 ve 3.4.0. Sınıflar üzerinde test edilmiştir (proje grubu)

classpath 'com.android.tools.build:gradle:3.5.0-alpha03'

1
Bunun sürüm ile de çalıştığını doğrulayabilirim com.android.tools.build:gradle:3.5.0-alpha05( AS ile Build-> Rebuild Projectile)
kikoso

1
Ne yazık ki Android Studio 3.5'e yükseltme gerektiriyor, ekibime Android Studio güncellemeleri için kararsız bir kanala geçmesini söyleyemem.
void.pointer

8
Android Studio 3.4 üzerinde çalışıyor
Rafael

6
Mac OS'de AndroidStudio3.5 üzerinde çalışıyor, tüm sdk güncellendi, gradle sürümünü kullanarak com.android.tools.build:gradle:3.5.0, bu çözüm benim için çalışmıyor
Mihodi Lushan

1
bunları denedim, evet, bu hatayı alıyorum. @MartinPfeffer
Mihodi Lushan

151

Android Studio 3.5Güncellemesi için. (APK imzalı sorun)

Adım 1: Hedef Klasör konumunu değiştirerek bu sorunu çözdüm .

Önce

c:\user\folder\project\app

Sonra

c:\user\folder\project\apk


Android Studio 3.4Güncellemesi için.

Adım 1: Android Studio 3.4'ü güncelledikten sonra , modülünüzde veya kitaplığınızda kullanılan tüm bağımlılığı uygulama düzeyinde eklemeniz gerekir build.gradle.

Adım 2: Projeyi Temizle (Derleme> Projeyi Temizle)

3. Adım: Yeniden Oluşturma Projesi (Derleme> Yeniden Oluşturma Projesi)

Şimdi, Projeniz Mükemmel Derlenecektir.


1
bu da ne? tam olarak ne yapmalıyım? > Adım 1: Android Studio 3.4'ü güncelledikten sonra, modülünüzde veya kitaplığınızda kullanılan tüm bağımlılığı uygulama düzeyi derlemenizde eklemeniz gerekir.
babay

1
@babay Glide kitaplığını kullanan herhangi bir kitaplığı kullandığınızı varsayalım. Sonra da App seviyesi build.gradle Glide bağımlılığını eklemek zorunda.
Vishrut Mavani

1
@VishrutMavani Cevabınız için teşekkür ederim, ancak Android stüdyosunun gerçekten aptalca hatasını buldum. Yapı çıkış yolunu yeni değiştirdim. Yani. Shuham Jain tarafından çözüm. Onun çözümüne bakın.
james

5
Bu, Android Studio v3.5 ve bir Java projesindeki sorunumu düzeltti. Bu, Android uygulamalarını şimdi oluştururken oldukça standart bir durumdur ... ) çalışır (7) (1). adıma gidin
dodgy_coder

2
Bu sorunun çalışma çözümünün aslında "Hedef klasörü değiştir" olduğuna inanamıyorum. Ama bu! ¯ \ _ (ツ) _ / ¯
mkasberg

138

Android Studio 3.5 İÇİN | 3.6

debug builds bitirmeden hatasız. İmzalı bir .apk oluştururken aynı hataya yol açar

buildOutput.apkData must not be null

Bulduğum basit çözüm. Bir sonraki ekrana geçtiğinizde imza kimlik bilgilerini girdikten sonra apk imzalama sırasında hedef klasörden varsayılan yolu değiştirmesini isteyecektir.

Mevcut hedef yolun

c: \ user \ klasör \ projesi \ uygulaması

olarak değiştir

c: \ user \ klasör \ projesi \

imzalı apk başarıyla oluşturulur.

Android studio destination folder ekran görüntüsü


5
Çözümün için gerçekten minnettarım. Teşekkürler. Bu sadece basit ve sadece gerçekten aptal inşa hatası Android Studio.
james

2
Vay canına, bununla hayatımı kurtardın. Ancak bu Android Studio'da bir hata mı yoksa projem berbat mı?
Vijay Kumar Kanta

1
OMG, bu Android Studio 3.5'e yükseltme benim için birçok sorun getiriyor.
Henrique Monte

1
Android
3.5.2'de

1
Teşekkürler ve güzel bir çözüm. Bu hata Android Studio 3.6'da bile olsa Android Studio'yu güncelledim. Bu çözüm günümü kurtardı. Tekrar teşekkürler
Divakar Murugesh

49

Sürümüm için "İmzalı APK Oluştur" çalıştığında da bu hatayı alıyorum. Yukarıdaki yöntemlerin hepsini denedim, ne yazık ki hiçbiri benim için işe yaramadı.

İşe yarayan, önce uygulamanın hata ayıklama imzalı sürümünü ve daha sonra tekrar sürümü oluşturuyordu.

Tam olarak neyin değiştiğini veya orijinal sorunun ne olduğunu bilmiyorum, ama işe yaradı. Umarım size de yardımcı olur, çünkü bu hata oldukça sinir bozucu ...


1
Benim durumumda, son lezzet (serbest bırakmak için hata ayıklama) için ilk ürün lezzet apk (serbest bırakmak için hata ayıklama) oluşturmak gerekir.
Meyve

3
Evet!! Benim için de çalıştı. Teşekkürler. Neden bilmiyorum ama bir hata gibi görünüyor.
Doongsil

3
Mac OS'de AndroidStudio3.5 üzerinde çalışıyor, tüm sdk güncellendi, gradle sürümünü kullanarak com.android.tools.build:gradle:3.5.0, bu çözüm benim için çalışmıyor
Mihodi Lushan

1
Benim durumumda: AndroidStudio3.5, Paketleri inşa et / apk (s) => apk (ler) inşa et, sonra İmzalı APK Oluştur
solo

1
Çılgınca, ama bu çözüm işe yarıyor - nedenini anlamıyorum. Android Studio 3.5, Windows
cVoronin

22

Projeyi temizlemek bana yardımcı olmadı, ancak tüm modüllerdeki otomatik olarak oluşturulan tüm oluşturma klasörlerini manuel olarak silmek yardımcı oldu. resim açıklamasını buraya girin


Bu, projeyi temizlemeye eşdeğerdir.
devgianlu

4
Hayır, öyle değil, projeyi Android Studio'dan temizlemeye çalışın ve ardından buildherhangi bir dosya gezginde App Directory dizinlerini kontrol edin , bazı dosyaların hala orada bırakıldığını göreceksiniz.
Roman Nazarevych

Benim durumumda birden çok lezzet vardı, Flavor belirli klasörlerle birlikte tüm yapı klasörünü sildiğimde işe yaradı. Klasörleri sildikten sonra, projeyi kapatmak ve yeniden çalıştırmak için yeniden açmak zorunda kaldım
Hari

Mac OS'de AndroidStudio3.5 üzerinde çalışıyor, tüm sdk güncellendi, gradle sürümünü kullanarak com.android.tools.build:gradle:3.5.0, bu çözüm benim için çalışmıyor
Mihodi Lushan

18

Android Studio 3.4'e güncelleniyor.? , mesajı alıyorum

Neden: buildOutput.apkData boş olmamalıdır

bir cevap arıyorum ben prosedür bulundu:

Build -> Clean Project

ama işe yaramadı, bu yordamın /builddizine içeriği sileceğini biliyorum ama benim durumum için her durumda çalışmıyor, bu yüzden dizini silerek "ham" yolunu denedim:

/app/build/ 

sonra projeyi yeniden inşa ediyorum ve işe yaradı.


2
Bu benim için çalıştı, ama tüm <flavor>/<buildConfig>dizinleri de kaldırmak zorunda kaldım (içlerindeki output.jsondosyalar hakkında ). Clean projecttek başına sorunu çözmedi.
javaxian

11

Ben birden çok çözüm yukarıda çalıştı ama hiçbir şey bunu buldum sonra oldu bu ve benim için çalıştı

    deleting debug/output.json and release/output.json solved my problem

Artık apk üretebiliyorum


9

Tüm çözümler benimle çalışmadı

Android Studio V 3.5

Android sürüm eklentisi V 3.4.2

Sınıf Sürüm V 5.1.1

  1. Projeyi temizle
  2. Android Studio'yu yeniden başlatın + Önbellekleri Geçersiz Kıl
  3. Derleme, hata ayıklama ve bırakma klasörünü silme
  4. Proje yap
  5. İmzalı APK oluştur

Referans


7

Sorunu çözmek için birçok şey denedim, ancak hiçbir şey yardımcı olmadı. İmzalı bir apk oluşturmaya çalışırken bu hatayı alıyorum.

Android Studio'nun eski sürümlerine geçmek yardımcı oldu (3.4.2), ancak bu çözüm değildir.

AS'deki 'Projeyi Temizle' işlevi, oluşturulan apk'nizin oluşturulduğu yeri temizlemez ve tüm prosedürü engelleyen bir dosya vardır: output.json

Output.json dosyasını ... / app / projectname / release / output.json dizininden kaldırmayı deneyin


5

Android Studio 3.5 beta 2 kullanıyordum ve aynı hatayı alıyordum, ancak yalnızca sürüm derlememde. Bulduğum diğer tüm çözümleri denedikten sonra tekrar derlememin tek yolu Android Studio 3.4'e geri dönmekti.


Bu "çözüm" de benim için çalıştı. AS 3.4.2 sürümüne geçin, downloadhere: developer.android.com/studio/archive ve
3.5.0'dan şuraya

4

Benim için çalışıyor:

  1. derleme klasörünü projenizden manuel olarak silin.

  2. android studio terminalinde bu komutu yazın

Windows kullanıcısıysa

gradlew clean build

linux kullanıcısıysa

./gradlew clean build

1
Mac OS'de AndroidStudio3.5 üzerinde çalışıyor, tüm sdk güncellendi, gradle sürümünü kullanarak com.android.tools.build:gradle:3.5.0, bu çözüm benim için çalışmıyor
Mihodi Lushan

4

Bu sorun genellikle farklı projelerle birden fazla android stüdyo penceresi çalıştırdığınızda olur.

Çözüm şudur

  • .gradle ve build klasörlerini silmek yerine proje seçin
  • projeyi temizleyip yeniden inşa etmektense.

lütfen ekli ekran görüntüsü

lütfen ekli ekran görüntüsü


Mac OS'de AndroidStudio3.5 üzerinde çalışıyor, tüm sdk güncellendi, gradle sürümünü kullanarak com.android.tools.build:gradle:3.5.0, bu çözüm benim için çalışmıyor
Mihodi Lushan

Eğer Dosya deneyebilir miyim> Invalidate'yi önbelleğe / Yeniden silme otomatik oluşturulan dosyalar .gradle ve yapı @MihodiHasanLushan sonra
Suresh Maidaragi

4

Apk yayınlama / hata ayıklama konumunu değiştirmeniz yeterlidir .

EX:

/home/sanaebadi/Desktop

değişiklikten sonra:

/home/sanaebadi/apk

3

Benim için çözüm, apk çıktı klasöründeki tüm dosyaları ve klasörleri silmekti. Ben bir "üretim" lezzet için imzalı bir apk oluştururken bu sorun vardı output.jsonve "özellik" çıkış klasöründe soruna neden olur -> Android Studio 3.6 Canary 7bana doğru hata mesajı gösterdi. Ayrıca şimdi Gradle Plugin 3.5.0 ile AS 3.5 için çalışıyor.


3

Tüm çözümler benimle
çalışmadı AndroidStudio 3.4+ sürümünde 3.5 sürümüne geçiyorum.
Ve son olarak 'Hedef Klasör'ü' app / build / output / apk ' detay resmine değiştirerek çözüyorum


2

benim için çalışan tek çözüm kök grubumda kullanmaktır

classpath 'com.android.tools.build:gradle:3.3.0'

ne denedim: - tüm derleme klasörünü manuel olarak temizle - önbelleği geçersiz kıl ama bunların hiçbiri işe yaramıyor

Not: android studio 3.5 btw kullanıyorum

Güncelleme :

@Vishrut Mavani gibi, sürüm sürümünüzün hedef klasörünü değiştirmek iştir


2

Genellikle bu sorun android Studio V3.4'ü V3.5'e güncellerken meydana gelir. Dosyaları debug/output.jsonve release/output.jsondosyaları silmeye çalışın .

Ardından şu adımları deneyin:

Adım 1: Projeyi Temizle (Derleme> Projeyi Temizle)

Adım 2: Projeyi Yeniden Oluştur (Oluştur> Projeyi Yeniden Oluştur)


2

Android stüdyom 3.5.1 var. Benim için aşağıdaki adımlar işe yaradı

  1. Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat
  2. Android studio yeniden başladıktan sonra Build -> Clean project üzerine tıklayın
  3. Sonra Oluştur -> Yeniden Oluşturma Projesi

1

Benim durumumda farklı yapı yapılandırmaları ile derleme ve başlatma projesi başarılı oldu. Ancak imzalı apk oluşturmak hata atıyor Cause: buildOutput.apkData must not be nullapk üretildi ve Build Output geçiş görünümü baskıları BUILD SUCCESSFUL. Manuel kurulum mesajla sona erer App not installed. Benim hatam kullanıyordu compileSdkVersion 'android-P've compileSdkVersion 28tüm değiştirdikten sonra iyi gider.


1

Tüm çözümleri denedim ve hiçbiri yardımcı olmadı! nihayet birçok denemeden sonra, anladım, sadece ipuçlarını takip edin:

  1. İmza keystrok'unuzu (serbest bırakmak için kullandığınız) içine kopyalayın yourProject/app/
  2. gradle.properties (kendi anahtarınızla ilgili değerleri değiştirin):
    MYAPP_RELEASE_STORE_FILE=KEYSTROK_NAME
    MYAPP_RELEASE_KEY_ALIAS=KEY_ALIAS
    MYAPP_RELEASE_STORE_PASSWORD=R_PASS
    MYAPP_RELEASE_KEY_PASSWORD=K_PASS
    android.enableR8=true
  3. uygulama seviyesi build.gradle (android içinde):

    signingConfigs{
        release{
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    
    configurations {
        cleanedAnnotations
        compile.exclude group: 'org.jetbrains' , module:'annotations'
    }
    
  4. app level build.gradle ( buildTypes içinde):
    release {
        manifestPlaceholders = [analytics_deactivated: "false"]
        minifyEnabled true
        signingConfig signingConfigs.release
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    5. son olarak bu komut:

Mac: ./gradlew clean assemble_YOUR_FAVOR_Release

win: gradlew clean assemble_YOUR_FAVOR_Release

_YOUR_FAVOR_isteğe bağlı iyilik nerede , herhangi bir iyilik kullanmıyorsanız, sadece assembleReleaseyerine kullanınassemble_YOUR_FAVOR_Release


1

Bu sorun, Android stüdyom v3.4'ü v3.5'e güncelledikten sonra oluyor. Şimdi, iyi çalışıyor

Hata ayıklama / output.json ve release / output.json dosyalarını silerek bu sorunu çözdüm

Android Studio 3.5 derlemeleridk Sürüm 28

apk üreten çalışma


1

Aynı hata beni de rahatsız etti. Ama değişen İmzalanmış apk hedef dan c / kullanıcılar / proje / uygulama için c / kullanıcılar / proje benim için çalıştı.


1

1- Tüm varyantlar için oluşturulan tüm uygulama paketlerini (.aab) ve APK'ları silin.

2- Derleme klasörünü silin

3- Temiz proje


1

Benim için çalıştı proje klasöründe de inşa tüm mevcut yapı varyant klasörü el ile silin.


0

Hata ayıklama için İmzalı APK oluşturun ve ardından serbest bırakmak için imzalı APK oluşturabilirsiniz .


0

Çözüm :-

1- Build -> Clean Projectyardım etmedi

2- Build -> Make Projectyardım etmedi

3- Android Studio'yu yeniden başlat yardımcı olmadı

4- Derleme klasörünü el ile kaldırın appve projectyardımcı olmadı

benim için tek çözüm tüm eski yapıları hedef klasörden kaldırmaktı


-1

Projeyi temizlemek sorunu çözebilir gibi görünüyor, ama benim için böyle çalıştı.

Dosya-> projeyi not dosyalarıyla senkronize et.

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.