web-dev-qa-db-ja.com

原因:buildOutput.apkDataはnullであってはなりません

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

私は使っている:

  • 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)
        ...
224
jzelar

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'
291
Martin Pfeffer

For Android Studio 3.5 Update。(APK署名の問題)

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

c:\user\folder\project\app

c:\user\folder\project\apk


For Android Studio 3.4 Update。

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

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

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

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

142
Vishrut Mavani

FOR 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 studio destination folder screenshot

119
Shubham Jain

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

うまくいったのは、アプリのデバッグ署名バージョンを最初に生成してから、リリースバージョンを再度生成することでした。

何が正確に変わったのか、元の問題が何だったのかはわかりませんが、うまくいきました。このエラーは非常に迷惑なので...

49
Kuruchy

プロジェクトのクリーニングは助けにはなりませんでしたが、すべてのモジュール内のすべての自動生成buildフォルダーを手動で削除すると役に立ちました。 enter image description here

21

Android Studio 3.4.?に更新すると、メッセージが表示されます

原因:buildOutput.apkDataはnullであってはなりません

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

Build-> Clean Project

しかし、うまくいきませんでした。この手順によりコンテンツが/buildディレクトリですが、私の経験ではすべての場合に機能しないので、ディレクトリを削除して「生」の方法を試しました。

/app/build/ 

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

18
Jorgesys

上記の複数の解決策を試しましたが、何も起こりませんでしたが、これを見つけました this

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

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

8
Rohan Pawar

すべてのソリューションは私と一緒に機能しませんでした

Android Studio V 3.5

Android gradle plugin V 3.4.2

Gradle Version V 5.1.1

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

参照

8
Qays Dwekat

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

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

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

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

7
TheScriptan

Android Studio 3.5 beta 2を使用しており、リリースビルドでのみ同じエラーが発生していました。他のすべてのソリューションを試した後、もう一度コンパイルできる唯一の方法はAndroid Studio 3.4。

5
amp

わたしにはできる:

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

  2. Android studioの端末でこのコマンドを入力します

windowsユーザーの場合

gradlew clean build

linuxユーザーの場合

./gradlew clean build
4
Abhishek Garg

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

解決策は

  • .gradleを削除してフォルダを構築するよりもプロジェクトを選択してください
  • プロジェクトをきれいにして再構築するよりも。

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

please ref screen shot attached

4

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

例:

/home/sanaebadi/Desktop

変更後:

/home/sanaebadi/apk
4
sana ebadi

私にとっての解決策は、apk出力フォルダーからすべてのファイルとフォルダーを削除することでした。 「プロダクション」フレーバーとoutput.json「機能」出力フォルダーの問題の原因-> Android Studio 3.6 Canary 7は、正しいエラーメッセージを表示しました。また、Gradle Plugin 3.5.0を使用したAS 3.5安定版でも機能しています。

3
3dmg

Android studio 3.5.1があります。

  1. ファイル->キャッシュの無効化/再起動
  2. Android studioが再起動した後、[ビルド]-> [プロジェクトのクリーン]をクリックします
  3. 次に、ビルド->プロジェクトのリビルド
2
Sachin Tanpure

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

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

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

PS:Android studio 3.5 btwを使用しています

更新:

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

2
justnoone

通常、この問題はAndroid Studio V3.4からV3.5への更新時に発生します。debug/output.jsonおよびrelease/output.jsonファイル。

その後、次の手順を試してください。

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

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

2
Masoud Mokhtari

すべてのソリューションは私と一緒に機能しませんでした
私の場合、AndroidStudio 3.4+から3.5へのアップデートです。
そして最後に、「Destination Folder」を「app/build/outputs/apk」に変更して解決します
詳細写真

2
pool

すべてのソリューションを試しましたが、それらのどれも助けませんでした!最後に多くのことを試した後、私はそれを理解しました、ただヒントに従ってください:

  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.最後に、このコマンド:

mac:./gradlew clean assemble_YOUR_FAVOR_Release

win:gradlew clean assemble_YOUR_FAVOR_Release

_YOUR_FAVOR_はオプションの好意です。好意を使用していない場合は、assemble_YOUR_FAVOR_Releaseの代わりにassembleReleaseを使用します

1
AlirezaXX

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

1

私も同じバグに悩まされていました。しかし、私のSigned apk destinationc/users/project/appからc/users/projectに変更するとうまくいきました。

1
Sarthak Sharma

プロジェクトフォルダー内の既存のビルドバリアントフォルダーとビルドフォルダーをすべて手動で削除してください。

1
Thamilvanan

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

2-ビルドフォルダーを削除する

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

1
Islam Assi

debugの署名付きAPKを生成すると、releaseの署名付きAPKを生成できます。

0

この問題は、my Android studio v3.4からv3.5への更新後に発生します。

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

Android Studio 3.5コンパイルdkバージョン28

apk生成作業

0
Pradeep P