02-18 00:02:08.432: ERROR/PackageManager(57): Package com.example.brown requires unavailable shared library com.google.Android.maps; failing!
Logcatでこの例外が発生しました。
誰でも私を案内できますか?
CommonsWareが言ったように、エミュレータにはライブラリがありません。 Google Maps Libraryのドキュメントの 概要ページ には、エミュレータに適切な種類の仮想デバイスを作成する方法に関する情報があります。要点は次のとおりです。
オプションなしでAndroidコマンドを使用してAVD Managerを起動します。Eclipse/ ADTで開発している場合は、[ウィンドウ]> Android SDKおよびAVDマネージャー。
- [新規]ボタンをクリックして、新しいAVDの作成を開始します。
- 表示されるダイアログで、AVDの名前を指定し、AVDで使用するシステムイメージターゲットを選択します。 「Google API(Google Inc.)」ターゲットの1つを選択し、上記のように、アプリケーションのマニフェストのAndroid:minSdkVersion属性に一致するAPIレベルのバージョンを選択してください。
- 他のオプションを設定し、「AVDの作成」をクリックします。
AVDの作成が完了したら、AVD Manager UIから実行するか、エミュレータのコマンドラインインターフェイスを使用できます。 Eclipseで開発している場合、実行構成を構成してAVDを起動し、アプリケーションをインストールできます。
AVDの詳細については、Android Developersサイトの Android Virtual Devices を参照してください。
このエラーは、他の回答のようなAVDではなく、実際のデバイスで発生しました。私の場合、GoogleマップがインストールされていないカスタムROMを使用してNexus Sで実行していました。
elsewhere を読んだことがあります。com.google.Android.maps共有ライブラリはROM自体にバンドルされており、APKの一部としてバンドルされていません。
したがって、私にとっての解決策は、Googleマップがインストールされていた在庫ROMに戻すことでした。
ところで、このスレッドのタイトルは、DDMS LogCatで見つかったエラーを指します。ほとんどのユーザーに表示される最初のエラー(LogCatをチェックする前)は、Eclipseのコンソールに表示されます。
Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
Please check logcat output for more details.
実際のデバイスでも同様の問題が発生しました。グーグルの略奪の後、私はこの答えを見つけました
不足している共有ライブラリの修正 。一部のカスタムROMではcomp.google.Android.mapライブラリが見つからないため、手動でインストールする必要があります。
エミュレータにGoogle APIがありません。 Google APIを含む新しいAVDを作成すると、このエラーは消えます。
Jfritz42のように、カスタムROM(Cyanogenmod)の実際のデバイスでこのエラーが発生しました。このエラーは、 Google Appsパッケージ をインストールしなかったために発生しました、私を悩ます多くのアプリが含まれているため、このパッケージの19個のGoogle Appsでシステムを大規模化せずにgoogle.mapsライブラリをインストールする方法があります。パッケージ(Zipファイル)をダウンロードするだけですこのZipでsystem/appからすべての.apkファイルを削除します。その後、ROM Managerを使用するか、リカバリモードでZipをインストールできます。マップライブラリをインストールする必要があります。このパッケージに含まれるGoogle Apps(Mapsアプリなど)は、後で個別にインストールできます。
実際のデバイスの場合、マニフェストファイルから削除してみてください。
<uses-library Android:name="com.google.Android.maps" />
AVDが適切にセットアップされ、正常に動作した後、このエラーが発生しました。 AVDはまだGoogle APIを使用しており、Eclipseのマップライブラリへの参照を確認できました。これを解決するために見つけた唯一の方法は、fiXeddのアドバイスに従って、AVDを削除して新しいAVDを作成することでした。
fiXedd(上記を参照)は正しいです。
すでに作成したデバイスを編集することも、新しいデバイスを作成することもできます。この種のバージョンターゲットを選択する代わりに、AVDマネージャー内でデバイスを作成または編集する場合:
Android x.x.x-APIレベルx
代わりにこの種類を使用してください:
Google API(Google Inc.)-APIレベルx