Błąd INSTALL_FAILED_MISSING_SHARED_LIBRARY w systemie Android

87

Kiedy próbuję uruchomić aplikację na Androida, która korzysta z Google API, pojawia się następujący błąd

[2009-07-11 11:46:43 - FirstMapView] Błąd instalacji: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2009-07-11 11:46:43 - FirstMapView] Sprawdź dane wyjściowe logcat, aby uzyskać więcej informacji.
[2009-07-11 11:46:44 - FirstMapView] Uruchomienie anulowane!

Czy ktoś może mi pomóc rozwiązać ten błąd?

Brijesh Patel
źródło

Odpowiedzi:

92

Aby obejść INSTALL_FAILED_MISSING_SHARED_LIBRARYbłąd w Mapach Google na Androida:

  1. Zainstaluj interfejsy API map Google. Można to zrobić w Eclipse Windows / Android SDK i AVD Manager -> Dostępne pakiety -> Dodatki innych firm -> Google Inc. -> Google APIs firmy Google Inc., Android API X

  2. Z wiersza poleceń utwórz nowy AVD. Można to zrobić, wymieniając cele (cele listy Androida), a następnie Android tworzy avd -n new_avd_api_233 -t "Google Inc.:Google API: X"

  3. Następnie utwórz AVD (Android Virtual Device) w Eclipse Windows / Android SDK i AVD Manager -> New ... -> (Name: new_avd_X, Target: Google APIs (Google Inc.) - API Level X)

    IMPORTANT : Musisz utworzyć swój AVD z Target as Google API (Google Inc.), w przeciwnym razie znowu się nie powiedzie.

  4. Utwórz projekt Android w Eclipse File / New / Android Project i wybierz Google APIs Build Target.

  5. dodaj <uses-library android: name = "com.google.android.maps" /> między tagami <application> </application>.

  6. Uruchom projekt jako aplikację systemu Android.

Jeśli błąd będzie się powtarzał, nadal masz problemy, jeśli działa, to ten błąd jest na zawsze za tobą.

Mirco Mage
źródło
20
Czy ktoś mógłby wyjaśnić, w jaki sposób pomyślne uruchomienie aplikacji na emulatorze obsługującym interfejs Google API rozwiąże problem braku biblioteki na prawdziwym urządzeniu? Nie widzę połączenia.
mcmlxxxvi,
Otrzymuję ten błąd dla com.google.android.gms.auth ... powyższe kroki nie wydają się prawidłowe w przypadku tego błędu
sheetal_158 Kwietnia
W moim przypadku nie ma bibliotek ani takich brakujących. Wszystkie wymagania są zainstalowane. Jednak mam problem z zainstalowaniem aplikacji .apk w emulatorze. Nie udaje się z powodu nieznanego błędu instalacji. Co może być w tej całej sprawie ...?
bonCodigo
@bonCodigo Czy masz jakieś rozwiązanie? Mam ten sam problem.
Anu,
4
Ta odpowiedź jest właściwie bezużyteczna. Tylko dla AVD.
Siddharth
27
<uses-library
            android:name="com.google.android.maps"
            android:required="false" />

jeśli jest to wymagane, może trzeba to zmienić

półh
źródło
2
To powinna być prawidłowa odpowiedź, nawet po 5 latach.
WrightsCS
7

Możesz go rozwiązać, uruchamiając emulator Google API.

Aby uruchomić na emulatorze Google API, otwórz Android SDK i AVD Manager> Dostępne pakiety> Google Repos> wybierz te poziomy Google API, na których chcesz przetestować.

Po ich zainstalowaniu dodaj je jako urządzenie wirtualne i uruchom.

samwize
źródło
6

W moim przypadku chodziło o to, że aplikacja domyślnie była urządzeniem docelowym Wearable .

Usunąłem odniesienie do Wearable w moim Manifestie i problem został rozwiązany.

<uses-library android:name="com.google.android.wearable" android:required="true" />

Szkocki projekt
źródło
4
  1. Otwarte zaćmienie
  2. Iść do:

    projekt> Właściwości> Android> wybierz: Google APIs Android 4.0.3

  3. Kliknij ikonę:

    Menedżer urządzeń wirtualnych Android> Edytuj> Zaznacz pole w Tabgecie> API API Google Poziom 15
    i wybierz Wbudowane: to WQVGA400> Edytuj AVD> Start

Panie Douangkeo
źródło
2

Ten sam błąd wystąpił podczas instalacji na rzeczywistym urządzeniu. Więcej informacji oraz sposób wczytywania brakujących bibliotek do urządzenia można znaleźć na stronie:

Naprawianie błędu INSTALL_FAILED_MISSING_SHARED_LIBRARY

Aby ustawić to poprawnie, istnieją 2 pliki kluczy, które należy skopiować do systemu:

com.google.android.maps.xml

com.google.android.maps.jar

Te pliki znajdują się w dowolnym z tych pakietów aplikacji Google:

http://android.d3xt3...0120-signed.zip

http://goo-inside.me...0120-signed.zip

http://android.local...0120-signed.zip

Te linki już nie działają, ale możesz znaleźć pliki w pakiecie SDK systemu Android, jeśli masz Google Maps API v1

Po rozpakowaniu któregokolwiek z tych plików, chcesz skopiować pliki do swojego systemu, na przykład:

adb remount

adb push system/etc/permissions/com.google.android.maps.xml /system/etc/permissions

adb push system/framework/com.google.android.maps.jar /system/framework

adb reboot
todd
źródło
1

Rozwijam aplikację do wersji 2.2, wersja API miałaby w ósmym ... miał ten sam błąd, a błąd powiedział mi, że jest to interfejs API map Google, wszystko, co zrobiliśmy, to zmienić moje ADV dla mojego projektu API 2.2, a także dla API.

To zadziałało dla mnie i okazało się, że potrzebne jest API biblioteki.

José De la O
źródło
dziękuję za twoje odpowiedzi. ale chcę uruchomić w urządzeniu 4.4.4. więc który api chce w Google Maps. proszę, odpowiedz mi za to
tej shah
1

Może się to zdarzyć z następujących powodów -

  1. W pliku manifestu zaznacz „<zastosowania”, takie jak urządzenia do noszenia, telewizor, tablet itp.
  2. istnieje potrzeba implementacji kodu w BUILD.GRADLE, który mógł zostać przez pomyłkę usunięty

Więc usunięcie implementacji lub dodanie ich może usunąć ten błąd. Możesz usunąć kod „używa” w pliku manifestu Androida.

Przykłady:

  1. zmarnowało to moją godzinę, ponieważ omyłkowo dodałem klasę typu do noszenia, oczywiście, bezpiecznie usunąłem to za pomocą refraktora, ale Didi nie wprowadził zmian w pliku manifestu.

  2. Użyłem kodu crashlytics Firebase w moim projekcie java, ale omyłkowo usunąłem go w buld.gradle. Tutaj poniżej: implementacja „com.google.firebase: firebase-crashlytics: 17.1.1”

Rozwiązanie znajduje się głównie w BUILD> GRADLE lub AndroidManifest.xml.

Vijay Jangid
źródło
0

Dzieje się tak, gdy próbujesz uruchomić aplikację na emulatorze. Emulator nie ma udostępnionej biblioteki map Google.

kreker
źródło
0

Innym sposobem rozwiązania tego problemu jest zainstalowanie brakujących bibliotek, których potrzebujesz.

Możesz pobrać biblioteki i zobaczyć, jak zainstalować tutaj .

Sergeenho
źródło
0

Kiedy próbuję tych rozwiązań.
Rozwiązałem:
utwórz nowe urządzenie wirtualne (wybierz interfejsy API Google (Google Inc) -API Level 15 zastąp Android 4.0.3-APILevel 15), a następnie uruchom ponownie. To rozwiązane.

Myślę, że to tylko dlatego, że urządzenie nie ma Google API ~

IDE: android-studio OS: ubuntu 12.04

Alpy 1992
źródło