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?

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ą.


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ć


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.


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" />


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


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

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.


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.


0

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


0

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

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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.