web-dev-qa-db-ja.com

AndroidデバイスへのHelloWorld.apkのインストールに失敗しました(null)エラー

私はAndroidが初めてです。 EclipseでAndroidアプリケーションを実行すると、コンソールに次のメッセージが表示されます。

[2011-03-08 12:57:35 - HelloWorld] ------------------------------
[2011-03-08 12:57:35 - HelloWorld] Android Launch!
[2011-03-08 12:57:35 - HelloWorld] adb is running normally.
[2011-03-08 12:57:35 - HelloWorld] Performing com.oreilly.helloworld.HelloWorldActivity activity launch
[2011-03-08 12:57:35 - HelloWorld] Automatic Target Mode: Preferred AVD 'MY_AVD' is not available. Launching new emulator.
[2011-03-08 12:57:35 - HelloWorld] Launching a new emulator with Virtual Device 'MY_AVD'
[2011-03-08 12:57:39 - HelloWorld] New emulator found: emulator-5554
[2011-03-08 12:57:39 - HelloWorld] Waiting for HOME ('Android.process.acore') to be launched...
[2011-03-08 13:00:14 - HelloWorld] WARNING: Application does not specify an API level requirement!
[2011-03-08 13:00:14 - HelloWorld] Device API version is 11 (Android 3.0)
[2011-03-08 13:00:14 - HelloWorld] HOME is up on device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Uploading HelloWorld.apk onto device 'emulator-5554'
[2011-03-08 13:00:14 - HelloWorld] Installing HelloWorld.apk...
[2011-03-08 13:02:22 - HelloWorld] Failed to install HelloWorld.apk on device 'emulator-5554!
[2011-03-08 13:02:22 - HelloWorld] (null)
[2011-03-08 13:02:23 - HelloWorld] Launch canceled!

アプリケーションが起動するように問題を解決するにはどうすればよいですか?

66
Nagaraj

ADB接続タイムアウトを変更してみてください。デフォルトでは5000ミリ秒に設定されているので、この問題を取り除くために10000ミリ秒に変更しました。 Eclipseを使用している場合は、[ウィンドウ]-> [設定]を選択すると、AndroidのDDMSに移動できます。

ここで説明されているとおり: Androidエラー:デバイスに* .apkをインストールできませんでした*:タイムアウト

103
Dhaval Khant

デバイスを再起動するとうまくいきます。 adb installを使用するとapkをインストールできますが、Eclipseでデバッグするときにアプリを起動するたびに使用するのは面倒です。

9
Bolton

これはときどき発生しますが、通常はエミュレータの起動が遅いことに関連しています。再試行してくださいwithout再試行の間にエミュレーターを閉じます。それでも失敗する場合は、クライアントログ(logcat)を投稿してください。

もう1つの理由は、バックグラウンドで実行され、まだデバッグポートにバインドされているゴーストEclipseプロセスです。 Eclipseを閉じ、プロセスリストを見て、まだEclipseが実行されているかどうかを確認します。それらをすべて強制終了し、Eclipseを再起動します。

8
Zds

他に考慮したいのは、ユーザーデータを消去することによるエミュレータのハードリセットです。

これを行うには:-パッケージエクスプローラーでプロジェクト名を右クリックします-「実行」に進み、「構成の実行」に進みます-「構成の実行」ウィンドウで「ターゲット」タブをクリックし、選択した名前にチェックマークを付けますエミュレータ-「ユーザーデータのワイプ」にチェックマークを付け、「適用」をクリックします

そして、次回エミュレータを起動するときに、本当にデータを消去するかどうかを尋ねるプロンプトが表示されます。 [はい]をクリックすると、アプリのインストールに役立つことが期待されます。

4
user1217074

Androidエミュレーターで実行している場合、実行と実行の間にそれを閉じたくありません。システムはアプリをロードしようとし、エミュレーターの起動にかかる時間のためにタイムアウトします。これを修正するには、[ウィンドウ]-> [設定]-> Android-> DDMSに移動してADB時間を増やし、ADBタイムアウト(デフォルトは5000ms)を増やすか、エミュレータを開いたまま実行するエミュレータが稼働しています。

私は個人的には、エミュレータを実行した後は比較的速くアプリをロードするので、エミュレータを開いたままにしておくことをお勧めしますが、システムのドレインになる可能性があります。もっとあなたを助けるだろう方をしてください。

4
CF711

同じ問題があり、Android SDKフォルダーのパスを追加して解決しましたtoolsおよびplatform-toolssystem PATH variableその後、デバイスを再起動します。

3
Mina Samy

デバイスを取り外して再び接続しても機能しない場合は、アップロードタイムアウトを20000ミリ秒などの非常に大きな値に増やしてみてください。ウィンドウ→設定→Android→DDMS→「ADB接続タイムアウト(ms)」にあります。

2
Milan Shukla

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

  1. アプリケーションの実行を開始する前に、ホーム画面に移動します。
  2. 毎回アンインストールする必要はありません。アプリケーションを適切にアンインストールするだけです。

    設定->アプリケーションの管理->メニューをクリック->フィルター->サードパーティアプリケーションに移動します。アプリケーションがそこにあるかどうかを確認してください。

  3. アプリケーションを変更したら、保存するだけです。プロジェクトを右クリックし、「Androidアプリケーションとして実行」を選択します。
  4. 注:もう一度、アプリケーションを実行する前に、エミュレーターがホーム画面を表示しているかどうかを確認してください。

ホーム画面に移動:Eclipseからメニューに移動:ウィンドウ-> Android仮想デバイス->開始

2
student

私は同じ問題にぶつかり、ADB接続タイムアウトを増やしてみました...うまくいきませんでした。

「Android-sdk/tools」と「Android-sdk/platform-tools」をPATH変数に入れてみました。..効果はありません。

Eclipseを再起動して、実行する前にAVDを起動してみました。同じ問題。

プロジェクトを閉じてから再度開き、プロジェクトをクリーンアップして再構築することで、動作させることができます。常に機能するとは限りませんが、前回AVDを再起動しなかったため、問題はEclipse自体にあると思います。プロジェクトの「bin」ディレクトリ内のすべてを削除してから、クリーニングと再構築を試してください。一時ファイルまたは中間ファイルが適切に削除されていない可能性があります。もう1つやらなければならないことは、AVDを削除することでした。適切に削除されなかったため、AVDのサブフォルダーを手動で削除してから、AVDを再作成する必要がありました。これらの組み合わせにより、問題が一時的に解消されます。お役に立てば幸いです。

2
Lokiare

同じ問題があります:デバイス 'xxxxxxxxx'にtest.apkをインストールできませんでした:null

電話を再起動して、Eclipseを再起動しようとしましたが、何もしません!

次に、このプロジェクトをEclipseワークスペースから削除し、再度インポートします。 (ファイル、インポート、既存のプロジェクトをワークスペースに)。私は問題が何であったかを正確に知りませんが、今は大丈夫です。

2
Joselito

@ボルトンの答えは私のために働いた。いくつかの詳細...

数週間前に携帯電話を入手しました。 HelloAndroidサンプルアプリをすぐに試しました(必要なソフトウェアなどをインストールした後)。アプリはエミュレーターと電話ですぐに動作しました!

その後まもなく、電話をルート化したが、ROMやカーネルをフラッシュしなかった。私は昨日までエミュレーターで実験していました(簡単なメモ帳アプリを書く)。電話でアプリをデバッグしてみたところ、次のことがわかりました。

  1. Eclipseコンソールは、「...デバイスへのインストールに失敗しました...(null)」メッセージを報告しました。しかし

  2. HelloAndroidアプリDIDが電話にプッシュされます! (アプリドロワーに表示され、起動できました。)

  3. Eclipseの実行から電話で起動することはありません。

私は昨夜、このスレッドを含めて、こことその他の場所を検索しました。最後に、私は電話を再起動しました-試したことはありませんでした(それは違います)。アプリはEclipseの起動から起動しました。

それでも原因はわかりませんが、わかったらここに戻ってきます。

2
red

私に関しては、同じ問題があり、SDボリュームと最大VMアプリヒープサイズを増やすのに役立ちました。 (Android SDKおよびAVDマネージャー-仮想デバイス-編集)興味深いのは、SDとヒープを以前の値に戻す変更も同様です。つまり、エミュレータパラメータの変更とその再構築で十分です。 (単純な再起動は役に立ちません)

1
Gangnus

既存のプロジェクトをインポートして実行を開始しました...私も同じ問題に直面していました(警告:アプリケーションはAPIデバイスAPIバージョン11(Android 3.0)を指定していません)。それを解決するためのすべての試みが失敗した後、同じ名前を維持するために他のパッケージの下に新しいプロジェクトを作成し、以前のimporetdプロジェクトのすべてのファイル内容を手動でコピーし、再び実行を開始しました...驚いたことに、それは最初に正常に実行されました試み...私は問題がインポートされたときのバージョンの互換性の欠如によるものだと思う...私はそれがいくつかを助けるかもしれないと思います...

1
rajesh

私はこの問題に何度も直面していました。多くのフォーラムを回ってみましたが、問題の論理的な解決策を見つけることができませんでした。

以前、このエラーメッセージが表示されました。 。 。 test.apkをデバイス 'emulator-5554'にアップロードしていますtest.apkをデバイス 'emulator-5554'にインストールできませんでした:タイムアウト起動がキャンセルされました!

このエラーは、エミュレーターの開始とアプリケーションのデプロイにかなりの時間がかかり、その前にエミュレーターがタイムアウトになるとスローされます。

この問題の簡単な修正方法は、この問題が発生したときにエミュレータを開いたままにすることです。* アプリケーションを再度実行するだけです。これは、すでに起動されているエミュレータにのみアプリケーションをデプロイします*。アプリの展開中の時間の大部分はエミュレータの起動が遅いためであるため、この実行中に消費される時間はあまりありません。

お役に立てれば!

1
Nimesh

赤い書き込みが表示されたら(エラー)、エミュレーターを閉じないでください-そのままにして、アプリケーションを再度実行します。

0
lokoko

設定に進みます-セキュリティがチェックされている場合はアプリを確認し、未チェックの状態に変更してから、チェック済みの状態に変更します

0
asfman

aDTを再起動するか、ADB接続タイムアウトを変更してください。デフォルトでは5000ミリ秒に設定されているので、この問題を取り除くために10000ミリ秒に変更しました。 Eclipseを使用している場合は、[ウィンドウ]-> [設定]を選択すると、AndroidのDDMSに移動できます。

0
Dharam Chag

同じエラーが発生していました。

"Failed to install *.apk on device-emulator-5554"と言っても、AVDを実行したままにしました。その後、プロジェクトが自動的にロードされました。

AVDの起動が遅いためにエラーが発生したと思います。

0
Ashwin Kumar

デバイスでも同じエラーが発生していました。
最初に、同じapkを既にインストールしているがリリース証明書で署名したデバイスにデバッグapkをアップロードしないでください。この場合、最初にデバイスからアンインストールする必要があります。
他の場合、私の解決策はすべてを再起動することです:

  1. デバイスを再起動します
  2. pskill emulator-arm.exe
  3. pskill Eclipse.exe
  4. pskill adb.exe

その後、デバイス、adb、およびEclipseが動作します。

0
user1788876

Jichaoが言ったことは、常に私にとって有効です。

通常、Eclipseを使用している場合にこのエラーが表示されたら、プログラムを閉じて再度開きます。次に、ターゲットの電話からアプリケーションをアンインストールします。これは時々問題を修正しますが、常にではありません。

次に、コマンドターミナルを開き、Android SDKに移動してから実行します。

./adb install <AppName>.apk

これは、Eclipseで実行した場合と同じことを行いますが、エラーメッセージが表示されます。

(10回のうち9回は単に「INSTALL_ALREADY_EXISTS」と表示されます。ターゲットの電話からアプリケーションを再度アンインストールしてから、adbを実行すると正常に動作します。)

0
TurqMage

わかりました。このアプローチは、Androidエミュレーターではなく、実際のデバイスに接続する場合にのみ役立ちます。

デバイスのUSBデバッグモードに問題がある場合、DDMS ADB接続タイムアウトのリセットは実際のデバイスではうまく機能しません。

そのため、USBデバッグモードを無効にして再度有効にすると、デバイス上に新しいADBセッションを新しく作成することで問題が解決するようです。

0
ecle

1)このディレクトリからapkを削除しますproject/build/outputs/apk

2)genymotionエミュレータを使用している場合は、genymotionを再起動します

3)プロジェクトの作成とプロジェクトの再構築

4)再実行

0