どういう意味ですか:失敗[INSTALL_FAILED_CONTAINER_ERROR]?


129

アプリをデプロイしようとすると、次のエラーが発生することがあります。

Failure 
[INSTALL_FAILED_CONTAINER_ERROR] 

私はそれをグーグルしようとしましたが、エラーが何を意味するのか、それが何によって引き起こされているのかわかりません。IDE(IntelliJ)を使用してファイルをデバイスにコピーし、/ data / local / tmp(ルート権限を取得していないHuawei Ideos、2.2を実行)にコピーしましたが、パッケージマネージャーはそれを気に入らないようです。APKをインストールする前に、事前にデバイスからアプリを削除しておきました。また、デバイスの/ data / local / tmpの下に古いファイルがないことを確認しました。それでもこのエラーが発生します。アプリを「実行」してIDE経由でデプロイするため、パッケージはデバッグキーで署名する必要があります。

$ pwd 
/data/local/tmp 
$ ls -l 
-rw-rw-rw- shell    shell    17257686 2011-04-21 20:31 
com.company.shop 
$ pm install -r com.company.shop 
        pkg: com.company.shop 
Failure [INSTALL_FAILED_CONTAINER_ERROR]

それは何を意味し、どのように解決しますか?

編集/更新:

SDカードへのアプリのインストールを許可しない場合のエラーを回避できます。設定

android:installLocation="internalOnly"

マニフェストで。開発には問題ありませんが、本番環境では、私が望んでいるものではありません。私のアプリは17MBと非常に大きいためです。したがって、私はそれがsdcard上にあることを好みます。ルート化せずに外部メモリにインストールできるようにする方法(これが/mnt/secure/asec/smdl2tmp1.asecを削除できる唯一の方法であるため、これも1つの解決策のようです)。


ちょうど好奇心から:あなたはそれをインストールできますpm install -f com.company.shopか?
Jakub Czaplicki

INSTALL_FAILED_CONTAINER_ERROR問題にはいくつかのバリエーションがあり、そのうちのいくつかはここで私の答えを参照してください:stackoverflow.com/a/30343659/313113
bitek

私にとっては、エミュレーターが「領域不足」(???)と同じくらい簡単で、AVD Managerでデータをワイプする必要がありました。
EpicPandaForce

回答:


44

このファイルをデバイスから削除します

/mnt/secure/asec/smdl2tmp1.asec

Mathias Conradt(OP)による編集/更新:

rootアクセス権がない場合は、SDカードをマウントして、PCから削除する必要があります。

/.android_secure/smdl2tmp1.asec

3
しかし、私のデバイスはルート化されておらず、安全なフォルダを見ると、ルートだけがアクセスできます。以前はアプリを実行できましたが、しばらくしてから実行できず、上記のエラーが発生します。
Mathias Conradt

1
ところで、ルート以外でもアクセスできるフォルダ/ mnt / asec /もありますが、それは空です
Mathias Conradt

3
@ジャズこれは今日私に起こりました。なぜ/これが何であるかを本当に知りたいです。ファイルを手動で削除しますか?なぜこれを日食できなかったのですか?これは電話のバグですか?
エリック

1
私はこの問題を抱えています。Macを使用してファイル/フォルダーを表示できません。他に方法はありますか?
SleepNot

14
これは機能しましたが、なぜ機能するのか説明してください。謎のsmdl2tmp1.asecファイルには何がありますか?
Alexander Pacha 2013年

222

インストール場所を

android:installLocation="preferExternal"

android:installLocation="auto"

プロジェクトのAndroidManifest.xml内。


12
これは私のためにそれをしたものです。ありがとう!
ジムマッキース、2007

はい、これも私のために行いました。ありがとう!
Senthil Kumaran

22
しかし、私は外部を優先したい...?これを修正するには?
Aiden Fry、

2
@同じです。これは実際のデバイスでも発生しますが、一貫性がありません。主なものはHTC Desire SとNexusデバイスです。
アイデンフライ

1
@AidenFry preferExternalを維持する場合は、user2445968ソリューションを使用します。
LG

32

エミュレータを使用している場合は、それを編集してメモリを追加します。私はこのような問題を抱えていましたが、AVDのメモリを200 MBから1000 MBに編集するだけで問題は解決したようです...幸運を祈ります。


ええ、私と同じことが起こりました。
いいね

メモリを増やすことに加えて、ユーザーデータをワイプする必要もありました。その後、新しいサイズが反映され、エラーはなくなりました。
Varun、2015年

2
RAMではなく、内部ストレージのことを言っていると思いますか?
ジョニー2015

1
AVDのメモリを増やし、データを消去しました!! そして今それは働いています。
Vora

7

これは、破損した以前のインストールがあったことを意味します。外部にインストールする場合は、sdカードをフォーマットしてもう一度試すことをお勧めします。


6

このエラーは繰り返し発生しました。エラー全体を回避する最も簡単な方法は、SDカードをフォーマットすることです。電話またはエミュレーターの内部ツールを使用する。自動生成されたSDカード、または独自のsdcard.isoを作成することさえ失敗し、内部のandroidツールでフォーマットされない限り、このエラーが発生することがわかりました。


1
Stack Overflowへようこそ!投稿ありがとうございます!投稿では署名/キャッチフレーズを使用しないでください。あなたのボックスはあなたの署名として数えられます、そしてあなたはあなたが好きなあなた自身についてのどんな情報でも投稿するためにあなたのプロフィールを使うことができます。署名/タグラインに関するFAQ
Andrew Barber

同じ解決策でこれを解決しました。問題はSDカードへの書き込みエラーが原因であるため、android:installLocation = "preferExternal"を保持したいルネの回避策よりも優れています。
LG

確認。SDのエラーが原因でした。マニフェストから「外部を優先」を削除してテストしました-インストール済みです。
djdance 2014

4

私にとってこれは、エミュレータのSDカードのスペースが不足していることが原因でした。かなり大きなプロジェクトで作業していて、40 mbで十分だと思っていましたが、200 mbに変更して問題は解消しました。


4

.apkLink2SDの2番目のパーティションを持つノート8のCyanogenmod 12.1(Android 5.1.1)でさまざまなエラーが発生しました。rootとしてadbを介してインストールを強制することで、アプリをインストールすることができました。

adb root
adb install -f myapp.apk

3

Android 5.0.1からこのエラーメッセージが表示されました。[設定]-> [アプリ]-> [優先インストール場所]で、優先インストール場所を「リムーバブルSDカード」に変更しました。

オプションを「システムに決定させる」に戻すと、エラーメッセージが消えました。


1
これは、Cyanogenmod 12(Android 5.0.2)を実行している私にとっての解決策のようです。アプリのマニフェストでアプリをインストールできないと指定されていたとしても、このオープンにより、アプリをリムーバブルSDカードに強制的にインストールするように見えました。
Sam

1

私にとって、それはデバイス言語でした。アプリケーションをテストするために、その言語をアラビア語に変更しました。次に、このエラーが発生しました。言語を元に戻すとうまくいきました。


1

android:installLocation = "auto"が機能します。

そうでない場合は、外部ストレージスペースのサイズを確認します。[使用可能なメモリ>アプリのサイズ]ストレージスペースが十分でない場合、このエラーもスローされます。


0

エミュレータにも同様の問題がありました。エミュレータのCPUタイプをARMからIntelに変更したときになくなっていました。


これは、OPが実際のデバイスで十分に機能することを懸念しているため、OPの問題を実際に解決するものではありません。
James Green


0

私にとって、いくつかのアプリケーションをアンインストールすることで問題は解決しました。ローカルストレージに十分なメモリがある場合、APKの展開は正常に完了しました。しかし、通常はガジェットを再起動するだけで、インストールは完了します。また、Clean Masterなどの一部のプログラムが役立つ場合があります。Clean Masterで頻繁に不要なプロセスをワイプしてプログラムを閉じ、十分なメモリを確保するだけです。


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