Nguyên nhân: buildOutput.apkData không được rỗng


244

Ứng dụng Android của tôi sử dụng Kotlin sẽ ném ngoại lệ này khi tôi cố chạy 'ứng dụng' trong trình giả lập o trong điện thoại di động của mình. Khi tôi xây dựng dự án của mình, nó chạy tốt, không có lỗi.

Tôi đang dùng:

  • SDK 28 (Android 9.0 (Pie))
  • Lớp 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
Tôi đã tạo một vé phát hànhracker.google.com/issues/129994596
Eugen Martynov

3
Tôi cũng bị như vậy sau khi tôi cập nhật Android Studio lên 3,4
Andrew

2
Kiểm tra câu trả lời của Lprice phù hợp với tôi, tôi đã đối mặt với vấn đề đó ngày hôm nay
Nicky

Tương tự đối với Java (không cần thiết là Kotlin) sau khi cài đặt Android Studio 3.5.
Patapoom

Câu trả lời:


311

Bấm Build->Clean Project

Sau đó Build->Make Project

Đã thử nghiệm trên lớp 3.5.0-alpha3, -alpha5 và 3.4.0 (lớp dự án)

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

1
Tôi có thể xác nhận điều này cũng hoạt động tốt với phiên bản com.android.tools.build:gradle:3.5.0-alpha05(có Build-> Rebuild Projecttrong AS)
kikoso

1
Đáng buồn thay, nó yêu cầu nâng cấp lên Android Studio 3.5, tôi không thể yêu cầu nhóm của mình chuyển sang kênh không ổn định để cập nhật Android Studio.
void.pulum

8
Hoạt động trên Android Studio 3.4
Rafael

6
dùng thử AndroidStudio3.5 trên Mac OS, tất cả sdk được cập nhật, sử dụng phiên bản gradle com.android.tools.build:gradle:3.5.0, giải pháp này không hiệu quả với tôi
Mihodi Lushan

1
đã thử những cái đó, vâng, tôi nhận được lỗi này. @MartinPfeffer
Mihodi Lushan

150

Để 3.5cập nhật Android Studio . (Vấn đề đã ký APK)

Bước 1: Tôi đã giải quyết vấn đề này bằng cách sửa đổi vị trí Thư mục đích .

Trước

c:\user\folder\project\app

Sau

c:\user\folder\project\apk


Để 3.4cập nhật Android Studio .

Bước 1: Sau khi cập nhật Android Studio 3.4, bạn cần thêm tất cả các phụ thuộc được sử dụng trong mô-đun hoặc thư viện của bạn ở cấp ứng dụng build.gradle.

Bước 2: Dự án sạch (Xây dựng> Dự án sạch)

Bước 3: Xây dựng lại dự án (Xây dựng> Dự án xây dựng lại)

Bây giờ, Dự án của bạn sẽ biên dịch hoàn hảo.


1
cái gì vậy Tôi nên làm gì chính xác? > Bước 1: Sau khi cập nhật Android Studio 3.4, bạn cần thêm tất cả các phụ thuộc được sử dụng trong mô-đun hoặc thư viện của bạn trong build.gradle cấp ứng dụng.
babay

1
@babay Giả sử bạn đang sử dụng bất kỳ thư viện nào đang sử dụng thư viện Glide. Sau đó, bạn phải thêm phụ thuộc Glide của mình vào build.gradle cấp ứng dụng.
Vishrut Mavani

1
@VishrutMavani Cảm ơn câu trả lời của bạn, nhưng tôi đã tìm thấy lỗi thực sự ngu ngốc của studio Android. Tôi chỉ thay đổi đường dẫn đầu ra xây dựng. Đó là. Giải pháp của Shuham Jain. Xem giải pháp dưới đây của mình.
james

5
Điều này đã khắc phục sự cố của tôi trong Android Studio v3.5 và một dự án Java. Đây là một sự xuất hiện khá chuẩn bất cứ khi nào xây dựng ứng dụng Android bây giờ ... (1) gặp lỗi xây dựng kỳ lạ khó hiểu (2) google nó (3) tràn ngăn xếp (4) áp dụng cách giải quyết có vẻ không liên quan theo thứ tự cụ thể (5) cầu nguyện (6) ) nó hoạt động (7) đi tới bước (1)
dodgy_coder

2
Tôi không thể tin rằng giải pháp làm việc cho vấn đề này thực sự là "Thay đổi thư mục đích." Nhưng nó là! ¯ \ _ (ツ) _ / ¯
mkasberg

138

CHO Android Studio 3.5 | 3.6

gỡ lỗi xây dựng kết thúc mà không có bất kỳ lỗi. Trong quá trình tạo .apk đã ký dẫn đến cùng một lỗi

buildOutput.apkData must not be null

Giải pháp đơn giản mà tôi tìm thấy là. Trong quá trình ký apk sau khi nhập thông tin đăng nhập khi bạn điều hướng đến màn hình tiếp theo, nó sẽ yêu cầu thư mục đích chỉ cần thay đổi đường dẫn mặc định.

Giả sử đường dẫn đích hiện tại là

c: \ user \ thư mục \ dự án \ ứng dụng

thay đổi nó thành

c: \ người dùng \ thư mục \ dự án \

sau đó nó sẽ tạo apk đã ký thành công.

Ảnh chụp màn hình thư mục đích của studio Android


5
Tôi thực sự đánh giá cao giải pháp của bạn. Cảm ơn. Đây chỉ là lỗi xây dựng đơn giản và thực sự ngu ngốc của Android Studio.
james

2
Wow, bạn đã cứu cuộc đời tôi với điều này. Tuy nhiên, đây có phải là một lỗi trong Android Studio hay dự án của tôi bị rối tung?
Vijay Kumar Kanta

1
OMG, bản nâng cấp Android Studio lên 3.5 này mang đến rất nhiều vấn đề cho tôi.
Henrique Monte

1
Rất hữu ích trong Android 3.5.2
CodeFluid

1
Cảm ơn & giải pháp tốt đẹp. Tôi đã cập nhật Android Studio ngay cả lỗi này xảy ra trong Android Studio 3.6. Giải pháp này đã cứu ngày của tôi. Cảm ơn một lần nữa
Divakar Murugesh

49

Tôi cũng gặp phải lỗi này khi cố gắng "Tạo APK đã ký" cho phiên bản phát hành của mình. Tôi đã thử tất cả các phương pháp trên, tiếc là không có phương pháp nào hiệu quả với tôi.

Những gì đã làm việc, đầu tiên là tạo phiên bản gỡ lỗi của ứng dụng, và sau đó tạo lại phiên bản phát hành.

Tôi không biết chính xác những gì đã thay đổi hoặc vấn đề ban đầu là gì, nhưng nó đã hoạt động. Tôi hy vọng nó cũng sẽ giúp bạn, vì lỗi này khá khó chịu ...


1
Trong trường hợp của tôi, tôi cần phải tạo apk hương vị sản phẩm đầu tiên (gỡ lỗi để phát hành) đến hương vị cuối cùng (gỡ lỗi để phát hành).
Trái cây

3
Đúng!! Nó làm việc cho tôi quá. cảm ơn. Tôi không biết tại sao nhưng nó trông giống như một lỗi.
Doongsil

3
dùng thử AndroidStudio3.5 trên Mac OS, tất cả sdk được cập nhật, sử dụng phiên bản gradle com.android.tools.build:gradle:3.5.0, giải pháp này không hiệu quả với tôi
Mihodi Lushan

1
Trong trường hợp của tôi: AndroidStudio3.5, Gói bó / apk (s) => Xây dựng apk (s), sau đó tạo APK đã ký
solo

1
Thật là điên rồ, nhưng giải pháp này hiệu quả - tôi không hiểu tại sao. Android Studio 3.5, Windows
cVoronin

22

Việc dọn dẹp dự án không giúp tôi nhưng xóa thủ công tất cả các thư mục xây dựng được tạo tự động trong tất cả các mô-đun được trợ giúp. nhập mô tả hình ảnh ở đây


Điều này là tương đương với việc làm sạch dự án.
devgianlu

4
Không, không, hãy thử dọn sạch dự án khỏi Android Studio và sau đó kiểm tra thư mục Ứng dụng cho các buildthư mục trong bất kỳ trình duyệt tệp nào, bạn sẽ thấy rằng một số tệp vẫn còn ở đó.
Roman Nazarevych

Trong trường hợp của tôi, tôi có nhiều hương vị, nó hoạt động khi tôi đã xóa tất cả thư mục xây dựng cùng với các thư mục cụ thể của Flavor. Sau khi xóa các thư mục, tôi phải đóng dự án và mở lại để nó hoạt động
Hari

dùng thử AndroidStudio3.5 trên Mac OS, tất cả sdk được cập nhật, sử dụng phiên bản gradle com.android.tools.build:gradle:3.5.0, giải pháp này không hiệu quả với tôi
Mihodi Lushan

18

Cập nhật lên Android Studio 3.4.? , tôi nhận được tin nhắn

Nguyên nhân: buildOutput.apkData không được rỗng

Tìm kiếm một câu trả lời tôi tìm thấy các thủ tục:

Build -> Clean Project

nhưng nó không hoạt động, tôi biết rằng quy trình này sẽ xóa nội dung vào /buildthư mục nhưng theo kinh nghiệm của tôi thì nó không hoạt động trong mọi trường hợp, vì vậy tôi đã thử cách "thô", xóa thư mục:

/app/build/ 

sau đó tôi xây dựng lại dự án và nó đã hoạt động.


2
Điều này làm việc cho tôi, nhưng tôi cũng phải xóa tất cả các <flavor>/<buildConfig>thư mục (đó là về output.jsoncác tệp trong đó). Clean projectmột mình không giải quyết được vấn đề.
javaxian

11

Tôi đã thử trên nhiều giải pháp nhưng không có gì xảy ra sau đó tôi tìm thấy cái này và làm việc cho tôi

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

Bây giờ tôi có thể tạo apk


9

Tất cả các giải pháp đã không làm việc với tôi

Android Studio V 3.5

Plugin phân lớp Android V 3.4.2

Phiên bản lớp V 5.1.1

  1. Làm sạch dự án
  2. Khởi động lại Android Studio + Bộ nhớ cache không hợp lệ
  3. Xóa thư mục xây dựng, gỡ lỗi và phát hành
  4. Lập dự án
  5. Tạo APK đã ký

Tài liệu tham khảo


7

Tôi đã thử nhiều cách để giải quyết vấn đề, nhưng không có gì giúp được. Tôi gặp lỗi này khi cố gắng tạo apk đã ký.

Việc hạ cấp xuống các phiên bản cũ hơn của Android Studio đã giúp (3.4.2) hoạt động, tuy nhiên đây không phải là giải pháp.

Hàm 'Dự án sạch' trong AS không dọn sạch nơi tạo apk được tạo của bạn và có một tệp có thể chặn toàn bộ quy trình: output.json

Hãy thử xóa output.json khỏi ... / app / projectname / release / output.json


5

Tôi đang sử dụng Android Studio 3.5 beta 2 và tôi cũng gặp lỗi tương tự nhưng chỉ trên bản phát hành. Sau khi thử mọi giải pháp khác mà tôi tìm thấy, cách duy nhất tôi có thể biên dịch lại là quay trở lại Android Studio 3.4.


"Giải pháp" này cũng có tác dụng với tôi. Hạ cấp xuống AS 3.4.2, downloadhere: developer.android.com/studio/archive và thay đổi từ 3.5.0 thành: classpath 'com.android.tools.build:gradle:3.4.2'
Loadeed

4

Nó hoạt động với tôi:

  1. xóa thư mục xây dựng từ dự án của bạn bằng tay.

  2. trong thiết bị đầu cuối của studio android gõ lệnh này

nếu người dùng windows

gradlew clean build

nếu người dùng linux

./gradlew clean build

1
dùng thử AndroidStudio3.5 trên Mac OS, tất cả sdk được cập nhật, sử dụng phiên bản gradle com.android.tools.build:gradle:3.5.0, giải pháp này không hiệu quả với tôi
Mihodi Lushan

4

Vấn đề này thường xảy ra khi bạn đang chạy nhiều cửa sổ studio android với các dự án khác nhau.

Giải pháp là

  • chọn dự án hơn là xóa .gradle và xây dựng thư mục
  • hơn là làm sạch và xây dựng lại dự án.

xin vui lòng tham khảo ảnh chụp màn hình đính kèm

xin vui lòng tham khảo ảnh chụp màn hình đính kèm


dùng thử AndroidStudio3.5 trên Mac OS, tất cả sdk được cập nhật, sử dụng phiên bản gradle com.android.tools.build:gradle:3.5.0, giải pháp này không hiệu quả với tôi
Mihodi Lushan

Bạn có thể thử Tệp> Vô hiệu hóa bộ nhớ cache / Khởi động lại sau khi xóa các tệp được tạo tự động. Nâng cấp và xây dựng @MihodiHasanLushan
Suresh Maidaragi

4

Chỉ cần thay đổi vị trí phát hành / gỡ lỗi Apk .

VÍ DỤ:

/home/sanaebadi/Desktop

sau khi thay đổi:

/home/sanaebadi/apk

3

Giải pháp cho tôi là xóa tất cả các tệp và thư mục khỏi thư mục đầu ra apk. Tôi gặp vấn đề này khi tạo apk đã ký cho hương vị "sản xuất" và output.jsontrong thư mục đầu ra "tính năng" gây ra sự cố -> Android Studio 3.6 Canary 7hiển thị cho tôi thông báo lỗi chính xác. Hiện tại nó cũng đang hoạt động ổn định với AS 3.5 với Gradle Plugin 3.5.0.


3

Tất cả các giải pháp không hoạt động với tôi
Trong trường hợp của tôi từ bản cập nhật AndroidStudio 3.4+ lên 3.5.
Và cuối cùng tôi giải quyết nó bằng cách sửa đổi 'Thư mục đích' thành " chi tiết ứng dụng / xây dựng / đầu ra / apk"


2

giải pháp duy nhất phù hợp với tôi là sử dụng trong lớp gốc của tôi

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

những gì tôi đã thử: - xóa tất cả thư mục bản dựng theo cách thủ công - không hợp lệ bộ đệm nhưng không có cái nào trong số này là công việc

PS: Tôi đang sử dụng android studio 3.5 btw

Cập nhật:

giống như @Vishrut Mavani, việc thay đổi thư mục đích của phiên bản phát hành của bạn là công việc


2

Thông thường sự cố này xảy ra khi cập nhật Android Studio V3.4 lên V3.5. Cố gắng xóa debug/output.jsonrelease/output.jsontập tin.

Sau đó thử các bước sau:

Bước 1: Dự án sạch (Xây dựng> Dự án sạch)

Bước 2: Xây dựng lại dự án (Xây dựng> Dự án xây dựng lại)


2

Tôi có studio android 3.5.1. Đối với tôi dưới đây các bước được làm việc

  1. Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại
  2. Sau khi android studio khởi động lại, nhấp vào Build -> Clean project
  3. Sau đó xây dựng -> Xây dựng lại dự án

1

Trong trường hợp của tôi, dự án xây dựng và khởi chạy với các cấu hình xây dựng khác nhau đã thành công. Nhưng việc tạo apk đã ký sẽ ném lỗi Cause: buildOutput.apkData must not be nulltrên apk khác đã được tạo và Build Output để chuyển đổi chế độ xem BUILD SUCCESSFUL. Hướng dẫn cài đặt kết thúc bằng tin nhắn App not installed. Lỗi của tôi là sử dụng compileSdkVersion 'android-P'và sau khi thay đổi compileSdkVersion 28tất cả đều ổn.


1

Tôi đã thử tất cả các giải pháp và không ai trong số họ giúp được! Cuối cùng, sau nhiều lần thử, tôi đã hiểu ra, chỉ cần làm theo các mẹo:

  1. sao chép tổ hợp phím chữ ký của bạn (mà bạn sử dụng để phát hành) bên trong yourProject/app/
  2. gradle.properies (sửa đổi các giá trị liên quan đến khóa của riêng bạn):
    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. cấp độ ứng dụng build.gradle (bên trong 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. cấp độ ứng dụng build.gradle (bên trong buildTypes):
    release {
        manifestPlaceholders = [analytics_deactivated: "false"]
        minifyEnabled true
        signingConfig signingConfigs.release
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    5. cuối cùng là lệnh này:

mac: ./gradlew clean assemble_YOUR_FAVOR_Release

thắng lợi: gradlew clean assemble_YOUR_FAVOR_Release

_YOUR_FAVOR_ưu tiên tùy chọn của bạn ở đâu , nếu bạn không sử dụng bất kỳ ưu tiên nào, chỉ cần sử dụng assembleReleasethay vìassemble_YOUR_FAVOR_Release


1

Sự cố này xảy ra sau khi cập nhật Android studio v3.4 của tôi lên v3.5 Bây giờ, nó hoạt động tốt

Tôi đã khắc phục sự cố này bằng cách xóa các tệp gỡ lỗi / output.json và phát hành / output.json

Android Studio 3.5 biên dịchdkVersion 28

apk tạo ra làm việc


1

Tôi cũng bị làm phiền bởi lỗi tương tự. Nhưng việc thay đổi đích apk đã ký của tôi từ c / users / project / app thành c / users / project đã giúp tôi.


1

1- Xóa tất cả các gói ứng dụng được tạo (.aab) và APK cho tất cả các biến thể.

2- Xóa thư mục xây dựng

3- dự án sạch


1

Xóa thủ công tất cả các thư mục biến thể xây dựng thoát cũng như thư mục xây dựng trong thư mục dự án làm việc cho tôi.


0

Tạo APK đã ký để gỡ lỗi và sau đó bạn có thể tạo APK đã ký để phát hành .


0

Giải pháp :-

1- Build -> Clean Project không giúp

2-Build -> Make Project không giúp

3- khởi động lại studio android không giúp được gì

4- Tự xóa thư mục Build khỏi appproject không trợ giúp

giải pháp duy nhất cho tôi là xóa tất cả các bản dựng cũ khỏi thư mục đích


-1

Có vẻ như làm sạch dự án có thể giải quyết vấn đề, nhưng đối với tôi nó đã làm việc như thế này.

File-> dự án đồng bộ hóa với các tập tin gradle.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.