Вопрос

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 Обзор страница Имеет информацию о том, как создать правильный вид виртуального устройства для эмулятора. Суть:

Запустите AVD Manager, используя команду Android без каких -либо параметров. Если вы разрабатываете в Eclipse/ADT, вы также можете получить доступ к инструменту из Window> Android SDK и AVD Manager.

  1. Нажмите кнопку «Новая», чтобы начать создание нового AVD.
  2. В появлении диалога укажите имя для AVD и выберите целевую систему изображения, которую вы хотите, чтобы AVD использовал. Выберите одну из целей «Google API (Google Inc.)», чтобы выбрать версию, уровень API, соответствующий атрибуту Android: Minsdkversion в манифесте вашего приложения, как описано выше.
  3. Настройте другие параметры, а затем нажмите «Создать AVD».

Как только вы закончите создание AVD, вы можете запустить его из пользовательского интерфейса Manager AVD или использовать интерфейс командной строки эмулятора. Если вы разрабатываете в Eclipse, вы можете настроить конфигурацию выполнения, чтобы запустить AVD и установить на него приложение.

Для получения дополнительной информации об AVD, см. Виртуальные устройства Android на сайте Android Developers.

Другие советы

Эта ошибка произошла мне на реальном устройстве, а не AVD, как и другие ответы. В моем случае я работал на Nexus S с пользовательским ПЗУ, в котором не было установлено карты Google.

я прочитал в другом месте что общая библиотека Com.google.Android.MAPS связана с самим ПЗУ и не в комплекте как часть APK.

Поэтому решением для меня было вернуться к складскому ПЗУ, в котором установлены карты Google.

Кстати, заголовок этого потока относится к ошибке, которая находится в LogCat DDMS. Первая ошибка, которую большинство пользователей увидят (до проверки LogCat), будет в консоли Eclipse:

Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY 
Please check logcat output for more details.

У меня была похожая проблема на реальном устройстве. После добычи гуглирования я нашел этот ответ

Исправление пропущенной общей библиотеки. Анкет Оказывается, что на некоторых пользовательских ПЗУ библиотека Comp.google.android.map отсутствует, вам нужно установить его вручную.

  • Скачать GoogleApps
  • Извлеките два файла
  • System/etc/permissions/com.google.android.maps.xml
  • System/Framework/com.google.android.maps.jar
  • REMOUNT /SYSTEM FILESTEM RW (Mount -o RW, Remount /System)
  • скопировать файлы в
  • Сделайте на них chmod 644
  • перезагрузка

В вашем эмуляторе отсутствует API Google. Создайте новый AVD, который содержит API Google, и эта ошибка должна исчезнуть.

Как jfritz42, ​​я получил эту ошибку на реальном устройстве с пользовательским ПЗУ (Cyanogenmod).Ошибка была вызвана тем, что я не установил пакет Google Apps, так как в нем много приложений, которые меня просто раздражают.Однако есть решение, как установить библиотеку google.maps, не перегружая свою систему 19 приложениями Google в этом пакете.Просто загрузите пакет (zip-файл) и удалите все файлы .apk из системы/приложения в этом zip-архиве.После этого вы можете установить zip с помощью ROM Manager или через режим восстановления.Тогда в вашей системе должна быть установлена ​​библиотека карт.Включенные Google Apps (например.приложение «Карты») в этом пакете впоследствии можно установить отдельно.

В случае, если с реальным устройством попробуйте удалить из манифестного файла:

<uses-library android:name="com.google.android.maps" />

Я испытал эту ошибку после того, как AVD была настроена правильно и работает нормально. AVD все еще использовал API Google, и я мог видеть ссылку на библиотеку карт в Eclipse. Единственный способ, которым я обнаружил, что это устранение, - это удалить AVD и создать новый, как рекомендовал FIXDD.

fixedd (см. выше) верен.

Вы можете редактировать уже созданные устройства или создавать новые.Когда вы создаете или редактируете устройство в AVD Manager, вместо выбора такой целевой версии:

Android x.x.x – уровень API x

Вместо этого просто используйте этот вид:

API Google (Google Inc.) – уровень API x

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top