アプリをデプロイしようとすると、時々このエラーが発生します:
Failure
[INSTALL_FAILED_CONTAINER_ERROR]
Googleで検索しようとしましたが、エラーの意味や原因を見つけられません。 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"
マニフェストで。開発には問題ありませんが、本番には、私が望むものではありません-私のアプリは17メガバイトと非常に大きいためです。したがって、私はそれがSDカード上にあることを好む。これをルート化せずに外部メモリにインストールする方法(これが/mnt/secure/asec/smdl2tmp1.asecを削除できる唯一の方法であるため、これも1つのソリューションであると思われます)。
デバイスからこのファイルを削除します
/mnt/secure/asec/smdl2tmp1.asec
Mathias Conradt(OP)による編集/更新:
ルートアクセス権がない場合は、SDカードをマウントし、PCから削除する必要があります。
/.Android_secure/smdl2tmp1.asec
インストール場所を変更します
Android:installLocation="preferExternal"
に
Android:installLocation="auto"
プロジェクトのAndroidManifest.xmlで。
エミュレータを使用している場合は、エミュレータを編集してメモリを追加します。このような問題がありましたが、AVDのメモリを200 MBから1000 MBに編集するだけで問題は解決したようです...幸運を祈ります。
これは、破損した以前のインストールがあったことを意味します。外部にインストールする場合は、SDカードをフォーマットしてからもう一度お試しください。
このエラーが繰り返し発生しました。エラーを完全に回避する最も簡単な方法は、SDカードをフォーマットすることです。電話またはエミュレータの内部ツールを使用します。内部Androidツールでフォーマットされない限り、自動生成されたSDカードまたは独自のsdcard.isoの作成が失敗し、このエラーが発生することがわかりました。
私にとってこれは、エミュレータのSDカードのスペース不足が原因でした。私はかなり大きなプロジェクトで働いていて、40 mbで十分だと思っていましたが、200 mbに変更すると問題はなくなりました。
Link2SDの2番目のパーティションがあるNote 8のCyanogenmod 12.1(Android 5.1.1)のさまざまな.apk
で同じエラーが発生しました。ルートとしてadbを介して強制的にインストールすることで、アプリをインストールすることができました:
adb root
adb install -f myapp.apk
Android 5.0.1からこのエラーメッセージを受け取りました。 [設定]-> [アプリ]-> [優先インストール場所]を使用して、優先インストール場所を[リムーバブルSDカード]に変更しました。
オプションを「システムに決定させて」に戻すと、エラーメッセージは消えました。
私にとっては、デバイス言語でした。アプリケーションをテストするために、言語をアラビア語に変更します。その後、このエラーが発生しました。言語を元に戻すとうまくいきました。
Android:installLocation = "auto"は動作します。
そうでない場合は、外部ストレージスペースのサイズを確認してください。[使用可能なメモリ>アプリのサイズ]ストレージスペースが十分でない場合、このエラーもスローされます。
状況によっては、libs/Android-support-v4.jar
を削除するとこのエラーが生成されます。
私にとっては、いくつかのアプリケーションをアンインストールすることで問題が解決しました。ローカルストレージに十分なメモリがあれば、APKの展開は正常に完了しました。しかし、通常はガジェットを再起動するだけでインストールは完了します。また、Clean Masterなどの一部のプログラムが役立つ場合があります。多くの場合、不要なプロセスを消去してClean Masterでプログラムを閉じ、十分なメモリを確保します。
エミュレータでも同様の問題がありました。エミュレータのCPUタイプをARMからIntelに変更すると、この問題はなくなりました。
デバイスを再起動すると問題が解決しました。