Obecnie próbuję skompilować i przetestować małą aplikację na Androida.
Używam Eclipse i mam zainstalowany SDK 4.2 (Api Level 17). Ustawiłem
<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" />
chociaż próbowałem też różnych wartości (np. 17/17).
Nie używam żadnych funkcji GoogleAPI ani nie używam funkcji, które nie są dostępne na poziomie API 8. A przynajmniej nie dostaję żadnych błędów kompilacji ani ostrzeżeń w tym zakresie.
Kiedy kompiluję projekt i uruchamiam go na prawdziwym urządzeniu z systemem Android 2.2.1, aplikacja działa poprawnie. Jednak gdy próbuję uruchomić aplikację na emulatorze (urządzenie wirtualne Android) z systemem Android 4.2, Api Level 17, pojawia się następujący błąd:
[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!
Jednak Logcat jest pusty. Naprawdę nie mam pojęcia, co ten błąd w ogóle oznacza ...
Możesz także rozważyć dodanie
-d
flagi do instalacji adb. Powinien zignorować ten błąd.źródło
-d: allow version code downgrade
. Nadal muszę się rozdzielić-r
-d: allow version code downgrade (debuggable packages only)
Najpierw odinstaluj aplikację z emulatora:
Następnie spróbuj ponownie zainstalować aplikację.
źródło
adb -s DEVICESERIALNUMBER uninstall your.application.package.name
, gdzieDEVICESERIALNUMBER
można je znaleźć za pomocąadb devices -l
.Działo się to w moim projekcie, ponieważ korzystałem z zasobu XML, aby ustawić kod wersji.
Nie stanowiło to problemu we wcześniejszych wersjach programu
adb
, jednak odplatform-tools
r16 nie jest to już tłumaczone na właściwą liczbę całkowitą. Możesz wymusić ponowną instalację za pomocąadb -r
lub całkowicie uniknąć problemu, używając literału w manifeście:źródło
Może się tak zdarzyć, gdy próbujesz zainstalować debugowany / niepodpisany pakiet APK na podstawie podpisanego pakietu APK ze Sklepu Play.
Rozwiązaniem tego problemu jest odinstalowanie, a następnie ponowne zainstalowanie lub ponowne uruchomienie z IDE.
źródło
Wszystkie aplikacje na Androida mają nazwę pakietu. Nazwa pakietu jednoznacznie identyfikuje aplikację na urządzeniu. Jeśli ta sama nazwa pakietu, co aplikacja, która jest już zainstalowana na urządzeniu, wyświetlany jest ten błąd .
źródło
W Marshmallow mam ten błąd,
Szukając rozwiązania szukałem i przyjechałem tutaj. Usunąłem aplikację, ale nadal mam ten problem w Nexusie 6. Później okazało się, że w,
źródło
Zgodnie z kodem sdk src z ... \ android-22 \ android \ content \ pm \ PackageManager.java
jeśli nowy pakiet ma starszy kod wersji niż aktualnie zainstalowany pakiet.
źródło
Miałem ten sam problem. Pojawiał się błąd, gdy próbowałem uruchomić na moim urządzeniu z Androidem, które nie jest emulatorem .
Jestem w stanie to naprawić, uruchamiając
źródło
możesz spróbować tego:
adb install -r -d -f your_Apk_path
źródło
zdarzyło mi się to, kiedy zaimportowałem aplikację Android Studio do Eclipse.
Doszedłem do wniosku, że plik andoridmanifest.xml musi zostać nieco zmodyfikowany podczas importowania z projektu Android Studio. Utworzyłem nowy projekt testowy i skopiowałem nagłówki, aby dopasować. voila, problem rozwiązany.
źródło
Ten błąd pojawia się w moim projekcie na Androida z wieloma rodzajami plików GFX. Ostatecznie żadna zmiana w pliku manifestu nie została zaakceptowana.
Z powodu braku wiedzy na temat urządzeń z Androidem zapominam, że moje urządzenie testowe ma drugiego Użytkownika. Ten użytkownik ma również zainstalowaną wersję mojej aplikacji, więc muszę również usunąć aplikację dla tego konta użytkownika i działa.
źródło
rzeczą, która mnie zabijała, było to, że nie wiedziałem, że ta aplikacja została zainstalowana na moim koncie gościa (chociaż odinstalowałem ją na innych kontach ...)
więc szukałem aplikacji w menedżerze aplikacji i po prostu kliknąłem odinstalowanie dla wszystkich użytkowników
źródło
Po prostu odinstaluj poprzedni pakiet APK i zainstaluj zaktualizowany plik APK
źródło
Może to być problem z zależnościami usług Google Play, a nie z rzeczywistą wersją aplikacji.
Czasami NIE jest tak, że:
a) jest zainstalowana istniejąca wersja aplikacji, nowsza lub nie b) istnieje istniejąca wersja aplikacji zainstalowana na innym koncie użytkownika na urządzeniu
Więc komunikat o błędzie jest po prostu fałszywy.
W moim przypadku miałem:
Ale kiedy próbowałem
Otrzymałem błędy związane z androidX, ponieważ nie zaktualizowałem jeszcze systemu do androidX i nie byłem na to gotowy. Okazało się, że korzystanie z najnowszych wersji 16.xy działa i nie pojawia się już komunikat o błędzie. Co więcej, mogłem poczekać do później, kiedy będę gotowy, z aktualizacją do androidX.
źródło