Wie kann ich eine .APK-Datei ausführen, ohne sie mit adb auf dem Gerät zu installieren?

Ist es möglich, eine .apk -Datei auf einem Android-Gerät auszuführen, ohne die App zu installieren?

Ich kann so etwas tun:
adb install com.your.app
und dann:
adb shell am start -n com.your.app/com.your.app.MainActivity

Das funktioniert, aber es installiert die apk auf dem Gerät und das möchte ich nicht. Ich möchte die APK auf dem Gerät ausführen, ohne die APK auf dem Gerät zu installieren . Ist das möglich?

Sie können auf dem Emulator installieren, wenn Sie Probleme mit Ihrem Gerät haben.
Es kann möglich sein, die Klasse direkt mit dem Befehl dalvikvm auszuführen. aber ich habe es nicht versucht android.googlesource.com/platform/external/smali/+/…
aus welchem ​​grund willst du "keine installation"? Es könnte automatisiert werden, die App zu entfernen, um sie nur vorübergehend für kurze Zeit zu installieren. Ist es das, wonach Sie suchen?

Antworten (2)

Ein APK ausführen, ohne es zu installieren?

Unabhängig davon, ob Sie die Antwort nicht akzeptieren, ist das Ausführen einer APK nicht möglich .

Es ist keine ausführbare Datei, sondern ein Archiv , das die Anwendung und Anweisungen enthält, wo alle Ressourcen platziert werden sollten, damit die App ausgeführt werden kann.

Android APK-Dateiformat

Das Stellen dieser Frage ist dasselbe wie die Frage, wie Sie ein ISO-Image ausführen oder wie Sie eine ZIP- oder RAR-Datei ausführen.

Wenn Sie es wirklich nicht installieren möchten, gibt es keine Möglichkeit, es auszuführen.

Die einzige Alternative besteht darin, es in einer Sandbox-Umgebung oder ähnlichem zu installieren.

Sie könnten versuchen, die Binärdatei aus dem APK auf das Gerät zu extrahieren und eine Shell zum Ausführen zu verwenden, aber ich bin NICHT verantwortlich, wenn die Ergebnisse unerwünscht sind.

Wenn Sie uns gesagt haben, warum Sie es ausführen, aber nicht installieren möchten, bekomme ich vielleicht eine bessere Antwort.

Ich muss dasselbe erreichen. Ich möchte Apps so ausführen, wie Facebook Messenger die Instant Games ausführt. In meiner App habe ich Hunderte von Plugins und jedes kann nicht Teil von apk sein. So kann ich diese Module ausführen, wenn der Benutzer möchte. Ich habe gesehen, dass dies von Facebook Messenger und Hike for Games gemacht wurde.

Es tut mir leid, aber das ist nicht möglich.

Während der apk-Installation (sogar über adb), die vom Android Package Manager auf dem Gerät verwaltet wird, werden verschiedene Prozesse ausgeführt, wie zum Beispiel:

  • Bestimmen Sie den geeigneten Speicherort der Paketinstallation
  • Kopieren einer Kopie der APK-Datei in ein bestimmtes Verzeichnis (normalerweise /data/app/)
  • Erstellen Sie das Anwendungsverzeichnis und legen Sie die Berechtigungen zum Speichern der Datenbank und der gemeinsamen Präferenz, der nativen Bibliothek (normalerweise /data/data//) fest.
  • Extraktion von Dex-Code in das Cache-Verzeichnis

Es gibt keine Möglichkeit, eine APK auf einem Android-Gerät auszuführen, wenn sich die Ressourcen und die Konfiguration nicht auf demselben Gerät befinden