Wie erzwinge ich die Installation der Android-App in der Entwicklungsumgebung?

Lesezeit: 6 Minuten

Benutzer-Avatar
Code-Droide

Ich bin es leid, in der Entwicklung zu deinstallieren und dann neu zu installieren.
Gibt es eine Möglichkeit, adb -force install some.apk zu tun? Ich meine, das würde viel Zeit sparen. Jedes Mal, wenn Sie zu System -> Apps -> Deinstallieren gehen, ist jedes Mal eine Signatur anders.

Offensichtlich ist Debuggen eine Entwicklereinstellung, also verstehe ich nicht, warum man die App ständig manuell deinstallieren muss, was für eine Zeitverschwendung? Alles, was die Entwicklung einfacher machen kann, wird zu besserem Code und besseren Apps führen, also was hat es damit auf sich?

Ich habe in kürzerer Zeit Hot-Deployment auf serverseitigen Java EE-Servern durchgeführt. Dies ist weniger ein Problem auf der Befehlszeile, da man eine Deinstallation durchführen oder das Adb-Skript durch eine Deinstallation gefolgt von einer Installation ersetzen könnte.
In Eclipse ist es jedoch immer noch ein Schmerz. Es wurde darauf hingewiesen, dass es hier hauptsächlich um Signaturänderungen geht. Ja, so ist es. Aber warum sollten sich Signaturen im Entwicklungs- und Debug-Modus ändern und das Neuinstallationsproblem verursachen?

  • Ich muss die App nur selten manuell deinstallieren – ich sage einfach ausführen und sie überschreibt die alte. Vielleicht stimmt was mit deiner Einstellung nicht?

    – JRaymond

    2. Mai 2012 um 22:43 Uhr

  • Warum änderst du deine Signatur?

    – slayton

    2. Mai 2012 um 22:45 Uhr

  • Nun, ich versuche nicht speziell, Signaturen zu ändern. Ich mache einen Code-Checkout, kompiliere neu und Signaturen sind unterschiedlich.

    – Codedroide

    2. Mai 2012 um 22:46 Uhr

  • „Ich mache einen Code-Checkout, neu kompilieren und Signaturen sind unterschiedlich“ – solange Sie denselben Schlüsselspeicher verwenden (und denselben Schlüssel im Schlüsselspeicher, wenn Sie dort mehrere Schlüssel speichern), erhalten Sie ein APK mit einer kompatiblen Signatur , und es wird einfach normal installiert. Natürlich ist der Ton Ihrer Frage massiv unprofessionell, sodass Sie hier möglicherweise nicht viel Hilfe erhalten.

    – CommonsWare

    2. Mai 2012 um 22:51 Uhr

  • Selbst in der Entwicklung muss das APK mit einem Schlüssel signiert werden, um auf einem Gerät bereitgestellt zu werden. Wenn Sie mit mehreren Entwicklungscomputern entwickeln, kann es sein, dass Ihre Debug-Keystores auf Ihren separaten Computern unterschiedlich sind. Oder Sie mischen Entwicklungs- und Release-APKs, die mit unterschiedlichen Schlüsseln signiert sind.

    – Kabuko

    2. Mai 2012 um 22:58 Uhr

adb hat [-r] Parameter neu zu installieren.

adb install -r some.apk

  • Perfekt! Danke vielmals! Überrascht, dass dies nicht auf der ADB-Seite war.

    – MBillau

    5. Februar 2014 um 20:39 Uhr

  • Funktioniert nicht für mich. Erhalten Sie INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES und INSTALL_FAILED_VERSION_DOWNGRADE in geeigneten Fällen.

    – Kaspartus

    17. Februar 2014 um 6:57 Uhr

  • @kaspartus Aus Sicherheitsgründen wird eine App mit unterschiedlichen Signaturen (z. B. zwischen Debug- und Produktionsversion) nicht überschrieben. Für diese Fälle behalte ich eine Deinstallations-Batch-Datei.

    – Muz

    16. April 2014 um 9:34 Uhr

  • Sie können das Downgrade-Problem mit dem Tag -d ignorieren

    – mix3d

    25. Mai 2016 um 19:33 Uhr

  • Kühl! Downgrade funktioniert! Benötigen Sie nur: ADB INSTALL -R -D <...apk>

    – goRGon

    4. April 2018 um 19:19 Uhr

Eine Websuche, die Sie hätten durchführen können, zeigt, dass die Antwort auf Ihre Adb-Frage lautet:

adb uninstall some.package.name

Beachten Sie, dass es sich nicht um den file.apk-Namen handelt, den Sie bei der Installation von adb verwenden, sondern um den tatsächlichen Paketnamen, unter dem es installiert wird.

  • adb uninstall some.package.name dann adb install *.apk in einem einzigen Skript würde funktionieren.

    – Codedroide

    2. Mai 2012 um 23:38 Uhr

  • Es ist sehr wertvoll, Fragen zu Stack Overflow zu beantworten, selbst wenn sie mit einer Websuche gefunden werden können, denn wenn jemand das nächste Mal eine solche Websuche durchführt, erhält er Ihre qualitativ hochwertige Antwort. 🙂

    – Josh Glover

    18. März 2015 um 13:19 Uhr

  • Es ist wichtig, auch zu beachten, worauf andere Befragte hingewiesen haben – Sie müssen nicht deinstallieren, wenn Sie einen neuen Build mit derselben Signatur installieren, und wenn Sie ständig mit unterschiedlichen Debug-Schlüsseln installieren, ist es möglicherweise besser, zu standardisieren. Wirklich das einzige Mal, was Sie sollten brauchen Dies ist beim Wechseln eines Geräts zwischen einer Debug- und einer Release-Version der App möglich.

    – Chris Stratton

    6. Mai 2015 um 23:56 Uhr

  • Beachten Sie jedoch, dass dadurch alle Ihre Daten gelöscht werden

    – m0skit0

    24. September 2018 um 11:20 Uhr

Benutzer-Avatar
WarrenFaith

Der normale Build-Prozess verwendet den Android-Debug-Keystore, der sich in Ihrem Android-Ordner in Ihrem Home-Verzeichnis befindet (der Pfad hängt von Ihrem Betriebssystem ab).

Mit diesem Debug-Keystore wird Ihre App signiert. Diese Debug-Signatur kann auf jedem Android-Gerät der Welt installiert werden, solange Ihre App nicht bereits mit einer anderen Signatur installiert ist.

Wenn Sie sagen, dass Sie nur Code-Checkouts durchführen, neu erstellen und Ihre Signatur anders ist, dann ist Ihr Build-Prozess wahrscheinlich defekt. Ihr Debug-Keystore ist mindestens ein Jahr gültig und solange Sie sich beim Erstellen auf demselben PC befinden, sollte das generierte APK niemals eine andere Signatur haben.

Zur weiteren Überprüfung sollten Sie etwas Licht in Ihren Entwicklungsprozess bringen. Was benutzt du? Finsternis?

Wenn Sie auf verschiedenen Entwicklungscomputern arbeiten, wählen Sie einen Schlüsselspeicher von einem Computer aus und fügen Sie ihn in Ihre Versionskontrolle ein und verwenden Sie diesen, um Ihre APK mit der Debug-Signatur zu signieren.

  • Ich verwende Eclipse. Ich denke also, dass der Schlüsselspeicher eingecheckt werden muss, und das wird dann kein Problem sein.

    – Codedroide

    2. Mai 2012 um 23:22 Uhr


  • Auch ohne Eclipse sollte dieses Problem nur auftreten, wenn Sie Geräte mit anderen Entwicklern wechseln oder wenn Sie von einem PC zum nächsten wechseln. Das kann nur geändert werden, wenn ein Schlüsselspeicher in der Versionskontrolle hinzugefügt und zum Erstellen Ihrer apk verwendet wird. Wenn Sie nicht wechseln und dieses Problem immer noch besteht, ist etwas mit Ihrem Build-Prozess ziemlich durcheinander …

    – WarrenFaith

    2. Mai 2012 um 23:25 Uhr

  • Nein, ich würde eigentlich eine Erklärung mit einer einzeiligen Antwort bevorzugen (falls eine solche Antwort existiert, was tatsächlich der Fall ist), aber leider haben Sie keine einzeilige Antwort gegeben. Wenn Sie der Meinung sind, dass die Frage allgemein ist und keine einzeilige Antwort geben kann, sollten Sie Antworten auf bestimmte Plattformen (wie in Rizkys Antwort) enthalten und dann nach der von OP verwendeten Plattform fragen.

    – Nischant

    26. Mai 2015 um 10:52 Uhr


  • @Nishant Ich bin anderer Meinung. Es gibt mehrere Fragen, die das OP gestellt hat, und nur eine wurde in der Antwort von Rizky beantwortet. Eine meiner am häufigsten gewählten Antworten ist auch ein Einzeiler. Wenn die Antwort gültig und vollständig ist, spricht nichts gegen einen Liner. Ich sage nicht, dass Rizky weniger Upvotes bekommen sollte, das ist in Ordnung. Ich argumentiere gegen die Ablehnungen zu meinem Beitrag, der versucht, alle vom OP gestellten Fragen zu beantworten.

    – WarrenFaith

    26. Mai 2015 um 11:19 Uhr

Sie können eine App zwangsweise installieren, indem Sie sie bestehen -r Parameter.

-r Der Parameter lässt adb die App neu installieren.

adb install -r app-release.apk

Der Debug-Keystore kann in Eclipse unter Preferences/Android/Build/Custom debug keystore eingestellt werden, was bei der Arbeit im Team sehr hilfreich ist. Dort sollte jedes Mitglied den gleichen Keystore anlegen, dann ist es kein Problem mehr Geräte zu teilen.

Benutzer-Avatar
Mohd Saleem

für die Deinstallation von adb deinstallieren Sie app_package_name

für install adb install app_package_name

in die Eingabeaufforderung in Windows und in das Terminal in Linex/Macos

1030030cookie-checkWie erzwinge ich die Installation der Android-App in der Entwicklungsumgebung?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy