Stworzyłem głupią aplikację, by podzielić się nią z kilkoma znajomymi. Nie ma potrzeby umieszczania go w sklepie z aplikacjami.
Zbudowałem pierwszy apk
(podpisany), załadowałem go na serwer WWW i wszystko działało dobrze.
Pojawił się mały problem, naprawiłem go, przebudowałem, podpisałem tym samym magazynem kluczy i ponownie załadowałem. Wygląda na to, że nie mogę zainstalować z nowego apk
. Debugger mówi mi:
signatures do not match the previously installed version
Dlatego odinstalowałem starą wersję, otwierając szufladę aplikacji i przeciągając ją na przycisk „Odinstaluj”. Po otwarciu „Ustawienia -> Aplikacje” nigdzie go nie widzę. Nie widzę żadnych śladów aplikacji na moim urządzeniu.
Mimo to nadal otrzymuję powyższy komunikat o błędzie.
Czy jest możliwe, że jakieś informacje nadal pozostają gdzieś na urządzeniu? Czy jest jakiś sposób, żebym mógł to zweryfikować?
Odpowiedzi:
Tak Jest to możliwe, jeśli w jakiś sposób Twoja stara aplikacja nie zostanie usunięta w 100% lub jej dane nie zostaną usunięte.
Próbować:
adb uninstall "com.yourapp.yourapp"
Jeśli nie wiesz dokładnie, co wstawić jako zamiennik dla „com.yourapp.yourapp”, po prostu otwierasz Android Studio, uruchamiasz aplikację, gdy jest połączona z urządzeniem, a następnie przeglądasz okno debugowania.
To mówi:
Waiting for device. Target device: samsung-sm_t531-xxxxxxxxx Uploading file local path: C:\Users\myapp\app\build\outputs\apk\myapp.apk remote path: /data/local/tmp/com.myapp.myapp Installing com.myapp.myapp DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.myapp.myapp" pkg: /data/local/tmp/com.myapp.myapp Success
com.myapp.myapp w tym przypadku to nazwa pakietu, którego należy użyć do odinstalowania.
źródło
adb
bezpośrednio z "Android Studio".Miałem ten sam problem i
adb uninstall
rozwiązanie nie działało dla mnie.Co zadziałało
Nawet gdybym wcześniej odinstalował aplikację, nadal była na liście.
źródło
Dla mnie, jeśli aplikacja ma być dystrybuowana,
adb
rozwiązanie nie jest możliwe: nie możesz poprosić znajomego o zainstalowanie zestawu SDK dla systemu Android na swoim komputerze!Aby to zrobić, należy edytować
AndroidManifest.xml
i zwiększyćandroid:versionCode
atrybut w<manifest>
tagu (który jest elementem głównym).Spowoduje to zaktualizowanie zainstalowanej aplikacji
źródło
Jeśli widzisz to podczas przeprowadzania testów połączonych, pamiętaj o dołączeniu .test podczas odinstalowywania przez adb, ponieważ odinstalowanie przez aplikację -> ustawienia nie usuwają pakietu testowego
adb uninstall your.broken.package.test
jeśli po prostu odinstalujesz przez
adb uninstall your.broken.package
Twój pakiet testowy nadal tam będzie. To było tylko coś, co zauważyłem podczas korzystania z wiersza poleceń gradle, nie napotkałem tego problemu w Android Studio
źródło
Odinstaluj starą aplikację z telefonu lub emulatora i spróbuj ponownie uruchomić.
źródło
Otrzymałem ten błąd podczas próby zainstalowania wersji podczas podpisywania jej certyfikatu.
naprawione za pomocą zadania: app Gradle uninstallRelease, a następnie ponownie zainstalujRelease
źródło
Dla użytkowników Unity, którzy przychodzą na to pytanie, najlepszą odpowiedzią jest rzeczywiście ta powyżej autorstwa @Ehsan
adb uninstall "com.yourapp.yourapp"
Zainstalowałem już poprzednią wersję na moim urządzeniu z Androidem, a następnie wybrałem
Development Build
w Unity> Ustawienia kompilacji, co spowodowało, że APK używał innego podpisu. Jeśli instalujesz przez GUI Androida, w rzeczywistości nie usuwa wszystkiego, więc musisz użyć ADB.źródło