次の理由でインストールに失敗しました: 'null'-Android Studio 3.5


83

APKのインストールの問題が発生して以来、AndroidStudioを3.5に更新しました。これはそれが示す唯一のログです:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry

これは、APKを実際のデバイスにインストールしようとしたときに発生します。デバイスからアプリをアンインストールしてからビルドを再実行すると、アプリは1回だけインストールされ、次のインストールでこのエラーがスローされ続けます。エミュレーターでは正常に動作しますが、すべてにエミュレーターを使用することはできません。

私が試したこと:

  • AndroidStudioの構成ファイルを削除しました。
  • プロジェクトからGradleファイルを削除しました。
  • キャッシュを無効にしてリセットします。
  • プロジェクトをクリーンアップ/再構築しました。
  • 同様の問題を探しましたStackoverflow(私の問題に一致するものはありません)
  • クリーンインストール(SDKを含むすべてのファイルを削除)Android Studio 3.5

更新

Linux Mintを自分のマシンにインストールし、そこでAS 3.5をテストしました。何らかの理由で、Android7以下のデバイスでもすべて正常に動作しています。

以前のOS:Windows 10 1903

現在のOS:Linux Mint 19.2

この問題はWindowsマシンが原因である可能性があると思います。


私も同様の問題を抱えていますが、私にとってはINSTALL_PARSE_FAILED_NOT_APKエスプレッソテストの実行中です
adek1 1119

私も得ていますINSTALL_PARSE_FAILED_NOT_APK
求職者

私も同じ問題を抱えています。
Santhosh

14
グーグル、どうすればこれを安定版リリースにすることができますか?!
01011001 0119

Android Studioでインスタントランが有効になっているかどうかを確認しましたか?
ReazMurshed19年

回答:


99

[実行/デバッグ構成]ダイアログを開きます(Windows:[実行]> [構成の編集])

アプリの編集>一般>インストールオプション>インストールフラグ

インストールフラグを追加し-r -tます。

このフラグは、 adb install -r -t apkpath

画面の写真


2
このフラグはadb install -r -t apkpath、私が推測することを意味します。@ TaseerAhmad
胡晟昊

21
-r「既存のアプリケーションを置き換える」という意味です。-t「テストパッケージを許可する」手段
duckbrain

1
この男はどこから来たのですか、そして彼はこの解決策をどのように考えましたか?彼にメダルをあげよう!
01011001 0119

4
私のために働いていません!:(私の問題を見てください。あなたの問題とは少し異なります。stackoverflow.com
questions / 57770464 /…

3
Windowsバージョンの場合、設定は[実行]> [構成の編集]です。
ベアトリスリン

17

環境設定で「libusbバックエンドを使用」を無効にする必要があります->デバッガー ここに画像の説明を入力してください


これだけ解決策は助け- Xubuntuの18.04
Raskilas

カントはこれがうまくいったと信じています!Androidのメーカー3.5.1 AndroidのデバッグBridgeバージョン1.0.41バージョン29.0.5-5949299
ケバブKrabby

1
チャームのように機能します。この問題に何ヶ月も苦労し、この答えだけが私のために働いた
srisindhusaride19年

1
ああ、神様!これは大きな大きな問題を解決しました。ウェルとして何ヶ月もこの問題に苦しんでいた..うわー!
のVivek

1
OSx 10.15でこれを修正しました!ありがとうございました!
Chris.Jenkins

12

Android Studioでのこの問題は、それより前のデバイスAPI 26(Android 8)で発生します。これはInstantRun、現在ApplyChangesとして知られているの置き換えが原因です

次のアップデートで修正するまでには、2つの方法しかないようです。

  1. で実行しAPI>=26ます。
  2. コード編集をrun configuration変更するたびに、deployからAPKApp bundle、またはその逆に変更します。私が正しく理解していれば、これはアプリを正しく再構築し、バグを回避します。

もちろん、AndroidStudioからアプリを実行する前に、デバイスからアプリを手動で削除するオプションがあります。


1
Android 9.0デバイスを使用していますが、この問題が発生します。ただし、エミュレータと実際のデバイスの間で実行中のテストを混在させると、アプリとテストが非常に頻繁に実行されているように見えます。理由はよくわかりませんが、誰かに役立つかもしれません。
adek1 1119

?の代わりに、API26+をクリックするとApply changes、アプリを正常に再実行できる可能性がありrerunます。これは、の右側にある新しいボタンですrerun
mohax

6

私にとっては、アプリをアンインストールするか、プロジェクトをクリーンアップすることで問題を「解決」します。イライラを少なくするために、次のようにビルドタイプをデバッグするためのクリーンなジョブを追加しました。

buildTypes {
    ...
    debug {
        clean
    }
    ...
}

4

変更の適用に関するリリースノートを読んだ後、私はついにここで解決策を見つけました:https//developer.android.com/studio/run#apply-changes-run-fallback

変更を適用するための実行フォールバックを有効にする

[変更を適用してアクティビティを再開]または[コード変更を適用]をクリックすると、Android Studioは新しいAPKを作成し、変更を適用できるかどうかを判断します。変更を適用できず、変更の適用が失敗する場合、Android Studioは、代わりにアプリの実行アイコンを再度実行するように求めます。ただし、これが発生するたびにプロンプ​​トが表示されないようにする場合は、変更を適用できないときにアプリを自動的に再実行するようにAndroidStudioを構成できます。

この動作を有効にするには、次の手順に従います。

  1. [設定]または[設定]ダイアログを開きます。
    • WindowsまたはLinuxでは、メニューバーから[ファイル]> [設定]を選択します。
    • macOSでは、メニューバーから[ Android Studio]> [設定]を選択します。
  2. 移動し、ビルド、実行、配備>配備
  3. チェックボックスを選択して、いずれかの変更の適用アクションの自動実行フォールバックを有効にします。
  4. [OK]をクリックします。

Linuxで実行されているスクリーンショット


1
OSをLinuxに変更しましたが、AS3.5はそこで正常に動作しています。
Taseer

4

Googleチームがhttps://issuetracker.google.com/issues/139782879で述べているように、LineageOSに問題があります

LineageOSを搭載したデバイスで再現できます。DeltaInstallに使用するシステムコールは完全にはサポートされていません。

明らかな解決策はありません(ビルドフォルダーからAPKを削除するか、アプリケーションをアンインストールする以外)。

回避策が必要ですが、現時点では、LineageOSにはDeltaInstallがなく、常に低速のフルインストールを実行する必要があります。

NothingOPで指摘されているように変更しても、APKはデバイスにデプロイされないため(エラーが表示されないため)、問題は解決されません。

編集:

これはAndroidStudio3.6で修正されています。

フィードバックをお寄せいただきありがとうございます。これは、3.6の最新バージョンで修正されるはずです。


4

ビルド>クリーンプロジェクトは私にとってその仕事です。他の設定を変更する前に、まずこれを試してください。

ハッピーコーディング:)


3

デプロイで変更するコード編集実行構成で解決策を取得しました。デフォルトAPKを選択し、フラグ= -r -tインストールしてから、実行に適用します。アプリはすべてのデバイスとエミュレーターで実行されます。私はOPPO1 plus、Samsung Tab、EmulatorAlsoでテストをしました

AndroidStudioの[実行に 近い構成編集]ボタンを考えてみてください

アプリの編集>一般==>インストールオプション==>インストールフラグ

インストールフラグを追加します-r-t

-rは、「既存のアプリケーションを置き換える」ことを意味します。-tは「テストパッケージを許可する」を意味します

ここに画像の説明を入力してください


2

3.5にアップグレードした後、私も同じ問題を抱えています。接続されたデバイスで「実行」を機能させることができたのではないかと思いました。

更新:[実行/デバッグ構成]ダイアログの[インストールオプション]で[アプリバンドルからAPK]を設定することで、これを機能させることになりました。


1

デバイスからアプリを削除/アンインストールすると、問題が解決しました。


API 29エミュレーターからアプリをアンインストールしましたが、役に立ちました。
CoolMind

1

以下の構成を使用してapkをインストール/実行するに、「クリーンな」gradleタスクの依存関係を追加します。

project.afterEvaluate {
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def capitalizedVariant = variant.name.capitalize()
            def assembleVariantTask = project.tasks."assemble${capitalizedVariant}"
            assembleVariantTask.dependsOn clean
        }
    }
}

上記のコードをコピーしてapp/build.gradleファイルに貼り付けます。これはすべてのビルドバリアントで機能します。

具体的には、デバッグビルドタイプとリリースビルドタイプしかない場合、上記のコードは以下のコードと同等になります。

assembleDebug.dependsOn clean
assembleRelease.dependsOn clean

1

古いアプリケーションを削除してからプロジェクトを再実行するのに効果がありました。その場合、古いサイン証明書は気になりません。


1

また、実際のxiaomi pocophone 1でアプリケーションを実行したときにこのエラーが発生し、最初にエミュレーターでアプリケーションを実行し、次にxiaomi pocophone1でアプリケーションを実行することでこの問題を解決しました。


1
splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a','x86_64'
        universalApk true
    }
}

「armeabi」、「x86」、「armeabi-v7a」、「x86_64」、「arm64-v8a」などの構造が異なるため、上記の構成をbuild.gradleファイルに追加する必要があります。


0

ついに、私は解決策を見つけました

v2SigningEnabledをtrueに設定するだけです

 signingConfigs {
    release {
        v2SigningEnabled true
    }
}

0

私自身は問題に直面していませんでした。ただし、以前はAndroidStudioのインスタント実行でいくつかの問題がありました。Android Studioで次の設定を確認し、設定のチェックを外して、コードが正常に機能するかどうかを確認することをお勧めします。

に移動し、のAndroid Studio -> Preference下にある次のチェックを外しますDeployments

ここに画像の説明を入力してください

これに関するAndroidStudio 3.5の新機能は、機能をよりよく理解するのに役立ちます。

ここに画像の説明を入力してください


0

コマンド「adbdevices」を実行してみてください。出力が空の場合は、デバイスを再接続してください。これは同じエラーで私を助けました。Android Studio 3.5は、デバイスが切断されたとは判断しません。


0

エミュレーターからアプリをアンインストールして実行すると、すべてが正常に戻りました


0

私にとってはminSdkVer = 22, tarSdkVer = 28Gradle -> app -> Tasks -> build -> clean && cleanBuildCacheアクションを実行し、問題を解決しました。


0

ハンマーアイコンを押してアプリを再構築し、インストールしました。わからないの?アンドロイドハックジョブプラットフォーム全体が最悪です。

そのすべてのお金はまだグーグルは彼ら自身の本当のオペレーティングシステムを思い付くのに十分良いプログラマーを雇うか見つけることができません。


0

私も同じ問題に直面しました、私は次のステップに従いました1)プロジェクトをクリーンアップします2)プロジェクトを再構築しました

これは私の問題を解決しました


0

私の場合、上記のすべての答えで解決することはできないので、別の方法を見つけることができます。最後に、私は解決策を見つけました。電話の正しいドライバを見つけるだけです。私の開発用電話はSamsungGalaxy Note 2(モデル:GT-N7105 / Android 4.1.2)です。私はそれをどのように解決したかについての私の解決策を共有するだけです。あなたの時間を節約したいと思います。


0

この問題は、新しいモジュールをテストしているときに発生します。まず、個別に記述してから、メインアプリに追加します。メインアプリに追加するときは、携帯電話から「test_app」を削除してください。



0

私の場合、APK署名の検証を無効にすることによってのみ機能します。

$ adb shell settings put global verifier_verify_adb_installs 0

そして、-r -t上記のフラグを使用します


0

私が新しい実際のデバイスを入手してAndroidStudio 3.5からapkをインストールしようとすると、それはまだ私のMac OSにバグがあります-そしてそれがどのように修正されるか醜い方法を見つけます-スタジオでターミナルを開き、次のようにします:

cd app/build/outputs/apk/debug
adb install -r -t your_app_name.apk

そして、それは各プロジェクトと各デバイスに関係する必要があります!!

編集:

最終的にインストールしました

Android Studio3.6カナリア

  • 3.5よりも動作するバージョンです

しかし、stiilはインストールフラグに追加する必要があります -r -t


「安定した」3.6リリースを待つ必要があります。
Taseer

0

数分前に実際のデバイスでアプリを実行しようとしたときにこの問題が発生し、終了する前にgradleビルドを停止しました。私が今やったことは、デバイスでアプリをアンインストールし、AVDと実際のデバイスの両方でアプリを再実行することでした(同時に)、それは機能しました。これがあなたにもうまくいくことを願っています


0

主な解決策

  1. ファイル->設定->ビルド、実行、デプロイ->デバッガー>無効Use libusb backend

  2. Gradle(IDEの右側にフラップ)-> android->アプリ->タスク->インストール-> uninstallAllまたは、次の方法でコンソールから実行することもできます。

    $ ./gradlew uninstallAll



その他のヒント:

  • 実行/デバッグ構成でアプリを削除して再度作成します

    • インストールオプション->すべてのユーザーのインストールをチェック
  • 実行/デバッグ構成->起動オプション>起動:指定されたアクティビティ>アクティビティを選択

  • 別の物理デバイス、バージョンのIDEまたはPCを使用してアプリをインストールします

  • IDEを再インストールし、.androidを削除します

  • メインソリューションで再試行してください


アプリをインストールして開きたい場合は、次のコマンドでadbを使用できます。

$ adb install -r -t absolute-path.apk

$ adb shell am start -n "com.package.flavor.env/.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

GL

ソース


-1

アンドロイドを変えてみてください:appComponentFactory=""android:appComponentFactory="new""new"どんな言葉でもかまいません


-2

最後に、インストールオプションDEPLOY-> select 4th option->(Nothing)option-> Applyで変更するコード編集実行構成の解決策を取得しました。アプリは、android studio3.5で正しく動作します。モバイルやエミュレーターでも。これはAndroidバージョン9でも正しく機能します。これは永続的な解決策です。

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