Penyebab: buildOutput.apkData tidak boleh nol


244

Aplikasi android saya menggunakan Kotlin melempar pengecualian ini ketika saya mencoba Menjalankan 'aplikasi' di emulator di ponsel saya. Ketika saya membangun proyek saya itu berjalan dengan baik, tanpa kesalahan.

Saya menggunakan:

  • SDK 28 (Android 9.0 (Pai))
  • Gradle 5.1.1
  • Plugin Gradle 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
Saya memiliki hal yang sama setelah saya memperbarui Android Studio ke 3.4
Andrew

2
Periksa jawaban Lemberg yang berfungsi untuk saya, saya telah menghadapi masalah itu hari ini
Nicky

Sama untuk Java (tidak perlu Kotlin) setelah menginstal Android Studio 3.5.
Patapoom

Jawaban:


311

Klik Build->Clean Project

Lalu Build->Make Project

Diuji pada gradle 3.5.0-alpha3, -alpha5 dan 3.4.0 (project gradle)

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

1
Saya dapat mengkonfirmasi ini berfungsi baik dengan versi com.android.tools.build:gradle:3.5.0-alpha05(dengan Build-> Rebuild Projectdi AS)
kikoso

1
Sayangnya itu memerlukan peningkatan ke Android Studio 3.5, saya tidak bisa memberitahu tim saya untuk beralih ke saluran yang tidak stabil untuk pembaruan Android Studio.
void.pointer

8
Bekerja di Android Studio 3.4
Rafael

6
mencoba AndroidStudio3.5 di Mac OS, semua SDK diperbarui, menggunakan versi gradle com.android.tools.build:gradle:3.5.0, solusi ini tidak berfungsi untuk saya
Mihodi Lushan

1
mencobanya, ya, saya mendapatkan kesalahan ini. @MartinPfeffer
Mihodi Lushan

150

Untuk 3.5Pembaruan Android Studio . (Masalah yang ditandatangani APK)

Langkah 1: Saya telah menyelesaikan masalah ini dengan mengubah lokasi Folder Tujuan .

Sebelum

c:\user\folder\project\app

Setelah

c:\user\folder\project\apk


Untuk 3.4Pembaruan Android Studio .

Langkah 1: Setelah memperbarui Android Studio 3.4 Anda perlu menambahkan semua ketergantungan yang digunakan dalam modul atau pustaka di tingkat aplikasi Anda build.gradle.

Langkah 2: Bersihkan Proyek (Bangun> Bersihkan Proyek)

Langkah 3: Rebuild Project (Build> Rebuild Project)

Sekarang, Proyek Anda akan dikompilasi dengan Sempurna.


1
apa itu? apa yang harus saya lakukan? > Langkah 1: Setelah memperbarui Android Studio 3.4 Anda perlu menambahkan semua ketergantungan yang digunakan dalam modul atau pustaka Anda di build.gradle tingkat aplikasi Anda.
babay

1
@babay Misalkan Anda menggunakan pustaka yang menggunakan pustaka Glide. Maka Anda harus menambahkan ketergantungan Glide Anda di build.gradle tingkat App Anda juga.
Vishrut Mavani

1
@VishrutMavani Terima kasih atas jawaban Anda, tetapi saya menemukan kesalahan Android studio yang benar-benar bodoh. Saya baru saja mengubah jalur output build. Itu adalah. Solusi oleh Shuham Jain. Lihat di bawah solusinya.
james

5
Ini memperbaiki masalah saya di Android Studio v3.5 dan proyek Java. Ini adalah kejadian yang cukup standar setiap kali membangun aplikasi Android sekarang ... (1) dapatkan galat build yang tidak dapat dimengerti (2) google it (3) stack overflow (4) menerapkan solusi yang tampaknya tidak terkait dalam urutan tertentu (5) berdoa (6) ) berfungsi (7) lanjut ke langkah (1)
dodgy_coder

2
Saya tidak percaya solusi yang berfungsi untuk masalah ini sebenarnya adalah "Ubah folder tujuan." Tapi itu! ¯ \ _ (ツ) _ / ¯
mkasberg

138

UNTUK Android Studio 3.5 | 3.6

debug membangun selesai tanpa kesalahan. Selama pembuatan .apk yang ditandatangani mengarah ke kesalahan yang sama

buildOutput.apkData must not be null

solusi sederhana yang saya temukan adalah. Selama menandatangani apk setelah memasukkan kredensial penandatanganan ketika Anda menavigasi ke layar berikutnya maka ia akan meminta folder tujuan hanya mengubah jalur default.

Mari kita asumsikan jalur tujuan saat ini adalah

c: \ user \ folder \ project \ app

ubah ke

c: \ user \ folder \ project \

maka itu akan menghasilkan apk yang ditandatangani berhasil.

Tangkapan layar folder tujuan Android studio


5
Saya sangat menghargai solusi Anda. Terima kasih. Ini hanya kesalahan build sederhana dan sangat bodoh dari Android Studio.
james

2
Wow, kamu menyelamatkan hidupku dengan ini. Namun apakah ini bug di Android Studio atau proyek saya kacau?
Vijay Kumar Kanta

1
OMG, peningkatan Android Studio ke 3,5 ini membawa banyak masalah bagi saya.
Henrique Monte

1
Sangat berguna di Android 3.5.2
CodeFluid

1
Terima kasih & solusinya bagus. Saya memperbarui Android Studio bahkan kesalahan ini terjadi di Android Studio 3.6. Solusi ini menyelamatkan hari saya. Terima kasih lagi
Divakar Murugesh

49

Saya juga mendapatkan kesalahan ini, ketika mencoba "Hasilkan Signed APK" untuk versi rilis saya. Saya mencoba semua metode di atas, sayangnya tidak ada yang berhasil untuk saya.

Apa yang berhasil, pertama-tama menghasilkan versi debug yang ditandatangani dari aplikasi, dan kemudian menghasilkan lagi yang rilis.

Saya tidak tahu apa yang sebenarnya berubah atau apa masalah aslinya, tetapi berhasil. Saya harap ini akan membantu Anda juga, karena kesalahan ini cukup mengganggu ...


1
Dalam kasus saya, saya perlu membuat apk rasa produk pertama (debug untuk melepaskan) untuk rasa terakhir (debug untuk melepaskan).
Buah

3
Iya!! Ini juga berhasil untuk saya. Terima kasih. Saya tidak tahu mengapa, tetapi itu terlihat seperti bug.
Doongsil

3
mencoba AndroidStudio3.5 di Mac OS, semua SDK diperbarui, menggunakan versi gradle com.android.tools.build:gradle:3.5.0, solusi ini tidak berfungsi untuk saya
Mihodi Lushan

1
Dalam kasus saya: AndroidStudio3.5, Build bundle (s) / apk (s) => Build apk (s), lalu Generate Signed APK
solo

1
Ini gila, tetapi solusi ini berhasil - saya tidak mengerti mengapa. Android Studio 3.5, Windows
cVoronin

22

Membersihkan proyek tidak membantu saya, tetapi secara manual menghapus semua folder build yang dibuat secara otomatis di semua modul membantu. masukkan deskripsi gambar di sini


Ini setara dengan membersihkan proyek.
devgianlu

4
Tidak, ini bukan, cobalah untuk membersihkan proyek dari Android Studio dan kemudian memeriksa direktori Aplikasi untuk builddirektori dalam penjelajah file apa pun, Anda akan melihat bahwa beberapa file masih tertinggal di sana.
Roman Nazarevych

Dalam kasus saya, saya memiliki beberapa rasa, itu berfungsi setelah saya menghapus semua folder build bersama dengan folder-folder khusus Flavour. Setelah menghapus folder, saya harus menutup proyek dan membuka kembali untuk membuatnya bekerja
Hari

mencoba AndroidStudio3.5 di Mac OS, semua SDK diperbarui, menggunakan versi gradle com.android.tools.build:gradle:3.5.0, solusi ini tidak berfungsi untuk saya
Mihodi Lushan

18

Memperbarui ke Android Studio 3.4.? , saya menerima pesannya

Penyebab: buildOutput.apkData tidak boleh nol

mencari jawaban saya menemukan prosedur:

Build -> Clean Project

tapi itu tidak berhasil, saya tahu bahwa prosedur ini akan menghapus konten ke dalam /builddirektori tetapi untuk pengalaman saya itu tidak berfungsi dalam semua kasus, jadi saya mencoba cara "mentah", menghapus direktori:

/app/build/ 

kemudian saya membangun kembali proyek dan itu berhasil.


2
Ini bekerja untuk saya, tetapi saya juga harus menghapus semua <flavor>/<buildConfig>direktori (ini tentang output.jsonfile di dalamnya). Clean projectsendiri tidak menyelesaikan masalah.
javaxian

11

Saya mencoba beberapa solusi di atas tetapi tidak ada yang terjadi kemudian saya menemukan ini dan bekerja untuk saya

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

Sekarang saya dapat menghasilkan apk


9

Semua solusi tidak bekerja dengan saya

Android Studio V 3.5

Plugin Android gradle V 3.4.2

Versi Gradle V 5.1.1

  1. Bersihkan proyek
  2. Mulai ulang Android Studio + Cache Tidak Valid
  3. Hapus folder build, debug, dan lepaskan
  4. Buat proyek
  5. Hasilkan APK yang ditandatangani

Referensi


7

Saya sudah mencoba banyak hal untuk menyelesaikan masalah ini, tetapi tidak ada yang membantu. Saya mendapatkan kesalahan ini ketika mencoba membuat apk yang ditandatangani.

Menurunkan versi ke versi Android Studio yang lama membantu (3.4.2) berhasil, namun ini bukan solusinya.

Fungsi 'Clean Project' di AS tidak membersihkan tempat di mana apk yang Anda buat dibuat dan ada satu file yang mungkin memblokir seluruh prosedur: output.json

Coba hapus output.json dari ... / app / projectname / release / output.json


5

Saya menggunakan Android Studio 3.5 beta 2 dan saya mengalami kesalahan yang sama persis tetapi hanya pada rilis saya membangun. Setelah mencoba setiap solusi lain yang saya temukan, satu-satunya cara saya dapat mengkompilasi lagi adalah kembali ke Android Studio 3.4.


"Solusi" ini juga berhasil untuk saya. Turun ke AS 3.4.2, unduh di sini: developer.android.com/studio/archive dan ubah dari 3.5.0 ke: classpath 'com.android.tools.build:gradle:3.4.2'
Loadeed

4

Ini bekerja untuk saya:

  1. hapus build folder dari proyek Anda secara manual.

  2. di terminal android studio ketik perintah ini

jika pengguna windows

gradlew clean build

jika pengguna linux

./gradlew clean build

1
mencoba AndroidStudio3.5 di Mac OS, semua SDK diperbarui, menggunakan versi gradle com.android.tools.build:gradle:3.5.0, solusi ini tidak berfungsi untuk saya
Mihodi Lushan

4

Masalah ini terjadi biasanya ketika Anda menjalankan beberapa jendela studio android dengan proyek yang berbeda.

Solusinya adalah

  • pilih proyek daripada menghapus .gradle dan bangun folder
  • daripada membersihkan dan membangun kembali proyek.

tolong ref screen shot terpasang

tolong ref screen shot terpasang


mencoba AndroidStudio3.5 di Mac OS, semua SDK diperbarui, menggunakan versi gradle com.android.tools.build:gradle:3.5.0, solusi ini tidak berfungsi untuk saya
Mihodi Lushan

Dapatkah Anda mencoba File> Validasi cache / Restart setelah menghapus file .gradle yang dibuat secara otomatis dan membangun @MihodiHasanLushan
Suresh Maidaragi

4

Cukup ganti lokasi rilis / debug Apk .

EX:

/home/sanaebadi/Desktop

setelah perubahan:

/home/sanaebadi/apk

3

Solusi bagi saya adalah menghapus semua file dan folder dari folder keluaran apk. Saya punya masalah ini ketika membuat apk yang ditandatangani untuk rasa "produksi" dan output.jsonfolder keluaran "fitur" menyebabkan masalah -> Android Studio 3.6 Canary 7menunjukkan kepada saya pesan kesalahan yang benar. Ini juga berfungsi sekarang untuk AS 3.5 stable dengan Gradle Plugin 3.5.0.


3

Semua solusi tidak bekerja dengan saya.
Dalam kasus saya dari AndroidStudio 3.4+ pembaruan ke 3.5.
Dan akhirnya saya menyelesaikannya dengan memodifikasi 'Map Tujuan' menjadi pic detail "app / build / outputs / apk"


2

satu-satunya solusi yang bekerja untuk saya adalah menggunakan di root gradle saya

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

apa yang saya coba: - hapus semua folder secara manual - cache tidak valid tetapi tidak ada yang berfungsi

PS: Saya menggunakan android studio 3.5 btw

Perbarui:

sama seperti @Vishrut Mavani, mengubah folder tujuan versi rilis Anda berfungsi


2

Biasanya masalah ini terjadi pada pembaruan Android Studio V3.4 ke V3.5. Coba hapus debug/output.jsondan release/output.jsonfile.

Kemudian Coba langkah-langkah ini:

Langkah 1: Bersihkan Proyek (Bangun> Bersihkan Proyek)

Langkah 2: Rebuild Project (Build> Rebuild Project)


2

Saya memiliki android studio 3.5.1. Bagi saya langkah-langkah di bawah ini berhasil

  1. File -> Cache / Restart Tidak Valid
  2. Setelah android studio dimulai kembali klik pada Build -> Clean project
  3. Kemudian Bangun -> Rebuild Project

1

Dalam kasus saya, membangun dan meluncurkan proyek dengan konfigurasi bangunan yang berbeda berhasil. Tetapi menghasilkan apk yang melempar kesalahan melempar Cause: buildOutput.apkData must not be nulldi sisi lain apk telah dibuat dan Build Output akan menampilkan tampilan cetak BUILD SUCCESSFUL. Instalasi manual berakhir dengan pesan App not installed. Kesalahan saya menggunakan compileSdkVersion 'android-P'dan setelah mengubah compileSdkVersion 28semua berjalan dengan baik.


1

Saya sudah mencoba semua solusi dan tidak ada yang membantu! akhirnya setelah banyak mencoba, saya mengetahuinya, ikuti saja tipsnya:

  1. salin keystrok tanda tangan Anda (yang Anda gunakan untuk melepaskan) di dalamnya yourProject/app/
  2. gradle.properties (ubah nilai yang terkait dengan kunci Anda sendiri):
    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. build.gradle tingkat aplikasi (di dalam android):

    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. build.gradle tingkat aplikasi (di dalam buildTypes):
    release {
        manifestPlaceholders = [analytics_deactivated: "false"]
        minifyEnabled true
        signingConfig signingConfigs.release
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    5. akhirnya perintah ini:

Mac: ./gradlew clean assemble_YOUR_FAVOR_Release

menang: gradlew clean assemble_YOUR_FAVOR_Release

di mana _YOUR_FAVOR_bantuan opsional Anda, jika Anda tidak menggunakan bantuan apa pun, cukup gunakan saja assembleReleasealih-alihassemble_YOUR_FAVOR_Release


1

Masalah ini terjadi setelah memperbarui Android studio v3.4 saya ke v3.5 Sekarang, berfungsi dengan baik

Saya memperbaiki masalah ini dengan menghapus file debug / output.json dan rilis / output.json

Android Studio 3.5 compilesdkVersion 28

apk menghasilkan kerja


1

Saya juga terganggu oleh bug yang sama. Tetapi mengubah tujuan apk Signed saya dari c / pengguna / proyek / aplikasi ke c / pengguna / proyek bekerja untuk saya.


1

1- Hapus semua bundel aplikasi (.aab) dan APK yang dihasilkan untuk semua varian.

2- Hapus folder build

3 - proyek bersih


1

Hapus secara manual semua folder varian build yang ada dan folder build di folder proyek bekerja untuk saya.


0

Hasilkan APK yang Ditandatangani untuk debug , dan kemudian Anda dapat membuat APK yang ditandatangani untuk dirilis .


0

Solusinya :-

1- Build -> Clean Projecttidak membantu

2- Build -> Make Projecttidak membantu

3 - restart studio android tidak membantu

4- Hapus secara manual folder Bangun dari appdan projecttidak membantu

satu-satunya solusi bagi saya adalah menghapus semua build lama dari folder tujuan


-1

Tampaknya membersihkan proyek dapat menyelesaikan masalah, tetapi bagi saya itu berhasil seperti ini.

File-> proyek sinkronisasi dengan file gradle.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.