Общая библиотека отсутствует в Android.
-
21-09-2019 - |
Вопрос
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.
- Нажмите кнопку «Новая», чтобы начать создание нового AVD.
- В появлении диалога укажите имя для AVD и выберите целевую систему изображения, которую вы хотите, чтобы AVD использовал. Выберите одну из целей «Google API (Google Inc.)», чтобы выбрать версию, уровень API, соответствующий атрибуту Android: Minsdkversion в манифесте вашего приложения, как описано выше.
- Настройте другие параметры, а затем нажмите «Создать 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