原因:buildOutput.apkDataをnullにすることはできません


244

私の携帯電話のエミュレーターで「アプリ」を実行しようとすると、Kotlinを使用するAndroidアプリケーションでこの例外がスローされます。プロジェクトをビルドすると、エラーなしで問題なく実行されます。

使ってます:

  • SDK 28(Android 9.0(Pie))
  • Gradle 5.1.1
  • Gradleプラグイン3.5.0-alpha03
  • コトリン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を3.4に更新した後も同じです
Andrew

2
私にとって有効なレンバーグの回答を確認してください。今日、その問題に直面しました
ニッキー

Android Studio 3.5をインストールした後、Javaでも同じ(Kotlinは不要)。
Patapoom

回答:


311

クリックBuild->Clean Project

次にBuild->Make Project

gradle 3.5.0-alpha3、-alpha5および3.4​​.0(プロジェクトgradle)でテスト済み

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

1
私はこれがバージョンcom.android.tools.build:gradle:3.5.0-alpha05(ASのBuild-> 付き)でも同様に機能していることを確認できますRebuild Project
kikoso

1
悲しいことに、Android Studio 3.5にアップグレードする必要があります。AndroidStudioのアップデートを不安定なチャネルに切り替えるようにチームに指示することはできません。
void.pointer

8
Android Studio 3.4で動作
Rafael

6
Mac OSでAndroidStudio3.5を試し、すべてのSDKを更新し、com.android.tools.build:gradle:3.5.0
gradle

1
それらを試しました、はい、私はこのエラーを得ています。@MartinPfeffer
Mihodi Lushan

150

Android Studio 3.5Updateの場合。(APK署名済みの問題)

手順1:宛先フォルダーの場所を変更することで、この問題を解決しました。

c:\user\folder\project\app

c:\user\folder\project\apk


Android Studio 3.4Updateの場合。

ステップ1:Android Studio 3.4を更新した後、モジュールまたはライブラリで使用されているすべての依存関係をアプリレベルで追加する必要がありますbuild.gradle

ステップ2:プロジェクトのクリーンアップ(ビルド>プロジェクトのクリーンアップ)

ステップ3:プロジェクトの再構築(ビルド>プロジェクトの再構築)

これで、プロジェクトは完全にコンパイルされます。


1
あれは何でしょう?私は正確に何をすべきですか?>ステップ1:Android Studio 3.4を更新した後、モジュールまたはライブラリで使用するすべての依存関係をアプリレベルのbuild.gradleに追加する必要があります。
バベイ

1
@babay Glideライブラリを使用しているライブラリを使用しているとします。次に、アプリレベルのbuild.gradleにもGlideの依存関係を追加する必要があります。
Vishrut Mavani

1
@VishrutMavani回答ありがとうございます。Androidスタジオの本当に愚かなエラーを見つけました。ビルド出力パスを変更しました。あれは。Shuham Jainによるソリューション。以下の彼の解決策を参照してください。
ジェームズ

5
これにより、Android Studio v3.5とJavaプロジェクトの問題が修正されました。これは、Androidアプリを今すぐビルドするときは常に標準的な出来事です...(1)不可解な不可解なビルドエラーが発生します(2)google it(3)スタックオーバーフロー(4)一見無関係のように見える特定の順序で回避策を適用します(5)祈ります(6 )機能します(7)ステップ(1)に
進みます

2
この問題の実際の解決策は、実際には「宛先フォルダーを変更する」とは信じられません。しかしそうです!¯\ _(ツ)_ /
¯– mkasberg

138

Android Studio 3.5の場合| 3.6

デバッグビルドはエラーなしで終了します。署名済み.apkの作成中に同じエラーが発生する

buildOutput.apkData must not be null

私が見つけたシンプルな解決策はです。次の画面に移動するときに署名資格情報を入力した後、APKに署名している間、宛先フォルダにデフォルトパスを変更するように求められます。

現在の宛先パスが

c:\ user \ folder \ project \ app

に変更

c:\ user \ folder \ project \

次に、署名されたapkを正常に生成します。

Androidスタジオの宛先フォルダーのスクリーンショット


5
私はあなたの解決策を本当に感謝しています。ありがとう。これは単純で、Android Studioの非常に愚かなビルドエラーです。
ジェームズ

2
うわー、あなたはこれで私の命を救った。しかし、これはAndroid Studioのバグですか、それとも私のプロジェクトは混乱していますか?
Vijay Kumar Kanta

1
OMG、Android Studioを3.5にアップグレードすると、多くの問題が発生します。
Henrique Monte

1
Android 3.5.2で非常に便利
CodeFluid '10 / 11/19

1
ありがとう、素敵な解決策。このエラーがAndroid Studio 3.6で発生する場合でも、Android Studioを更新しました。このソリューションは私の一日を救いました。ありがとうございました
Divakar Murugesh

49

私のリリースバージョンで「署名付きAPKを生成」しようとすると、このエラーも発生しました。上記の方法をすべて試しましたが、残念ながらうまくいきませんでした。

機能したのは、最初にアプリのデバッグ署名バージョンを生成し、次にリリースバージョンを再度生成することでした。

正確に何が変更されたか、元の問題が何であったかはわかりませんが、うまくいきました。このエラーが非常に煩わしいので、それがあなたにも役立つことを願っています...


1
私の場合、最初の製品のフレーバーapk(リリースするデバッグ)から最後のフレーバー(デバッグするリリース)を生成する必要があります。
フルーツ

3
はい!!それも私のために働いた。ありがとう。理由はわかりませんが、バグのようです。
Doongsil

3
Mac OSでAndroidStudio3.5を試し、すべてのSDKを更新し、com.android.tools.build:gradle:3.5.0
gradle

1
私の場合:AndroidStudio3.5、Build bundle(s)/ apk(s)=> Build apk(s)、Generate Signed APK
solo

1
クレイジーですが、このソリューションは機能します-理由はわかりません。Android Studio 3.5、Windows
cVoronin

22

プロジェクトのクリーンアップは役に立ちませんでしたが、すべてのモジュールで自動生成されたすべてのビルドフォルダーを手動で削除することが役立ちました。 ここに画像の説明を入力してください


これは、プロジェクトのクリーンアップと同じです。
devgianlu

4
いいえ、そうではありません。AndroidStudioからプロジェクトをクリーンアップしてからbuild、ファイルエクスプローラーのディレクトリのAppディレクトリを確認してください。ファイルがまだ残っていることがわかります。
ローマナザレビッチ

私の場合、複数のフレーバーがありましたが、フレーバー固有のフォルダーと一緒にすべてのビルドフォルダーを削除すると、うまくいきました。フォルダを削除した後、プロジェクトをいったん閉じてから再度開くと、機能するようになりました
Hari

Mac OSでAndroidStudio3.5を試し、すべてのSDKを更新し、com.android.tools.build:gradle:3.5.0
gradle

18

Android Studio 3.4に更新していますか?、私はメッセージを受け取ります

原因:buildOutput.apkDataをnullにすることはできません

答えを探して私は手順を見つけました:

Build -> Clean Project

しかし、うまくいきませんでした。この手順でコンテンツが/buildディレクトリから削除されることはわかっていますが、私の経験では、すべての場合にうまくいくわけではないので、「生の」方法でディレクトリを削除しました。

/app/build/ 

それから私はプロジェクトを再構築し、それは働いた。


2
これでうまくいきましたが、すべての<flavor>/<buildConfig>ディレクトリも削除する必要がありました(ディレクトリoutput.json内のファイルに関するものです)。Clean project単独では問題は解決しませんでした。
javaxian

11

私は複数のソリューションの上にしようとしたが、何も、私は、この発見起こらなかった これをし、私のために働きました

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

今、私はAPKを生成することができます


9

すべての解決策がうまくいかなかった

Android Studio V 3.5

Android GradleプラグインV 3.4.2

GradleバージョンV 5.1.1

  1. プロジェクトをきれいにする
  2. Android Studioを再起動してキャッシュを無効にする
  3. ビルド、デバッグ、リリースのフォルダーを削除する
  4. プロジェクトを作る
  5. 署名済みAPKを生成

参照


7

私は問題を解決するために多くのことを試みましたが、何も助けにはなりませんでした。署名付きAPKを生成しようとすると、このエラーが発生します。

古いバージョンのAndroid Studio(3.4.2)へのダウングレードは機能しましたが、これは解決策ではありません。

ASの「プロジェクトのクリーンアップ」機能は、生成されたapkが作成された場所をクリーンアップせず、プロシージャ全体をブロックしている可能性があるファイルが1つあります:output.json

... / app / projectname / release / output.jsonからoutput.jsonを削除してみてください


5

Android Studio 3.5ベータ2を使用していて、まったく同じエラーが発生しましたが、自分のリリースビルドでのみ発生しました。私が見つけた他のすべてのソリューションを試した後、再度コンパイルすることができた唯一の方法は、Android Studio 3.4に戻ることでした。


この「解決策」も私にとってうまくいきました。AS 3.4.2にダウングレードし、ダウンロード:developer.android.com/studio/archiveおよび3.5.0からclasspath 'com.android.tools.build:gradle:3.4.2'に変更
Loadeed

4

わたしにはできる:

  1. プロジェクトからビルドフォルダーを手動で削除します。

  2. Android Studioのターミナルでこのコマンドを入力してください

Windowsユーザーの場合

gradlew clean build

Linuxユーザーの場合

./gradlew clean build

1
Mac OSでAndroidStudio3.5を試し、すべてのSDKを更新し、com.android.tools.build:gradle:3.5.0
gradle

4

この問題は通常、複数のAndroid Studioウィンドウを異なるプロジェクトで実行しているときに発生します。

解決策は

  • .gradleを削除してフォルダをビルドするよりもプロジェクトを選択する
  • プロジェクトをクリーンして再構築するよりも。

添付のスクリーンショットを参照してください

添付のスクリーンショットを参照してください


Mac OSでAndroidStudio3.5を試し、すべてのSDKを更新し、com.android.tools.build:gradle:3.5.0
gradle

自動生成されたファイル.gradleを削除してキャッシュを無効化/再起動して、@ MihodiHasanLushanをビルドしてみてください
Suresh Maidaragi '22

4

APKのリリース/デバッグの場所を変更するだけです

例:

/home/sanaebadi/Desktop

変更後:

/home/sanaebadi/apk

3

私の解決策は、apk出力フォルダーからすべてのファイルとフォルダーを削除することでした。「製品」フレーバーの署名済みAPKを作成するときにこの問題が発生output.jsonし、「機能」出力フォルダーに問題が発生した-> Android Studio 3.6 Canary 7正しいエラーメッセージが表示された。また、Gradle Plugin 3.5.0を含むAS 3.5の安定版でも動作します。


3


私の場合、AndroidStudio 3.4以降から3.5にアップデートすると、すべてのソリューションが機能しませんでした。
そして最後に、「宛先フォルダ」を「app / build / outputs / apk」詳細写真に変更することで解決します


2

私のために働く唯一の解決策は私のルートグラドルで使用することです

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

私が試したこと:-すべてのビルドフォルダーを手動でクリア-キャッシュを無効にしますが、これらはどれも機能しません

PS:私はAndroid Studio 3.5を使用しています

更新:

@Vishrut Mavaniと同じように、リリースバージョンの宛先フォルダーを変更するのは簡単です。


2

通常、この問題は、Android Studio V3.4をV3.5にアップデートすると発生します。debug/output.jsonrelease/output.jsonファイルを削除してみてください。

次に、以下の手順を試してください。

ステップ1:プロジェクトのクリーンアップ(ビルド>プロジェクトのクリーンアップ)

ステップ2:プロジェクトの再構築(ビルド>プロジェクトの再構築)


2

Android Studio 3.5.1を使用しています。以下の私にとっては手順が機能します

  1. ファイル->キャッシュの無効化/再起動
  2. Android Studioが再起動した後、Build-> Clean projectをクリックします。
  3. 次にビルド->プロジェクトを再ビルド

1

私の場合、異なるビルド構成でプロジェクトをビルドして起動することは成功しました。しかし、署名さCause: buildOutput.apkData must not be nullれたapkを生成するとエラーがスローされます。一方、apkが生成され、ビルド出力トグルビューが印刷されBUILD SUCCESSFULます。手動インストールはメッセージで終了しますApp not installed。私のせいは使用していてcompileSdkVersion 'android-P'compileSdkVersion 28すべてに変更した後うまくいきました。


1

私はすべての解決策を試しましたが、それらのどれも助けにはなりませんでした!最終的に多くの人が試した後、私はそれを理解しました、ヒントに従ってください:

  1. (リリースに使用する)署名キーストロークを内部にコピーする yourProject/app/
  2. gradle.properties(独自のキーに関連する値を変更):
    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(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(buildTypes内):
    release {
        manifestPlaceholders = [analytics_deactivated: "false"]
        minifyEnabled true
        signingConfig signingConfigs.release
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    5.最後にこのコマンド:

マック: ./gradlew clean assemble_YOUR_FAVOR_Release

勝つ: gradlew clean assemble_YOUR_FAVOR_Release

_YOUR_FAVOR_オプションの支持はどこにありますか。支持を使用しない場合は、assembleRelease代わりに単に使用してくださいassemble_YOUR_FAVOR_Release


1

この問題は、Android Studio v3.4をv3.5にアップデートした後に発生します。

debug / output.jsonおよびrelease / output.jsonファイルを削除して、この問題を修正しました

Android Studio 3.5 compilesdkVersion 28

apk生成動作


1

私も同じバグに悩まされました。しかし、署名済みapkの宛先c / users / project / appからc / users / projectに変更するとうまくいきました。


1

1-すべてのバリアントの生成されたすべてのApp Bundle(.aab)とAPKを削除します。

2-ビルドフォルダを削除します

3-クリーンなプロジェクト


1

既存のビルドバリアントフォルダーをすべて手動で削除し、プロジェクトフォルダー内のビルドフォルダーも機能しました。



0

ソリューション :-

1- Build -> Clean Project役に立たなかった

2- Build -> Make Project役に立たなかった

3- Androidスタジオを再起動しても解決しませんでした

4 -手動で削除ビルドフォルダからappproject助けにはなりませんでした

私のための唯一の解決策は、宛先フォルダーからすべての古いビルドを削除することでした


-1

プロジェクトをクリーンアップすると問題が解決するようですが、私にとってはこのように機能しました。

ファイル-> Gradleファイルとプロジェクトを同期します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.