Ich versuche, Androids Updater-Skriptsprache (Edify?) zu verwenden, um ein APK over-the-air auf einem eingebetteten Gerät zu installieren, über das ich die Kontrolle habe. Hier ist ein Link, der die Sprache beschreibt.
Mein erster Versuch war folgender:
%Vor%Das hat zur Folge, dass test.apk automatisch in /data/data/com.acme.test installiert wird, jedoch ist das Verzeichnis /data/data/com.acme.test/lib leer, während es test.so enthalten sollte. eine gemeinsame Bibliothek, die in test.apk enthalten ist. (Wenn ich manuell mit "adb install test.apk" installiere, wird die Bibliothek extrahiert.)
Ich habe dann versucht, das APK in / data anstatt in / data / app zu extrahieren, damit das Betriebssystem es nicht automatisch in / data / data installiert, und ich könnte versuchen, das Skript zu installieren:
%Vor%Dies führte zu folgendem Fehler:
%Vor%Ich bin nicht sicher, warum der obige Fehler passiert ist.
Gibt es eine Möglichkeit, ein APK zu installieren und seine gemeinsam genutzten Bibliotheken automatisch zu extrahieren? Ich könnte die Bibliotheken manuell installieren, aber ich hoffe, das zu vermeiden.
Ich kenne Edify nicht, aber durch Betrachten der Dokumentation extrahiert package_extract_file()
einfach die APK als die Archivdatei, die es ist. Warum Daten in /data/data
landen ist seltsam; Sind Sie sicher, dass Sie nicht einfach von einer früheren Installation zurückbleiben? Ich würde vorschlagen, die App vollständig zu deinstallieren und es erneut zu versuchen.
Mir scheint, dass diese spezielle Funktion nicht für die Installation der App geeignet ist. Sie können versuchen, es über einen Befehl zu installieren:
%Vor%Tags und Links android android-install-apk