Ich versuche, ein APK auf einem Gerät zu installieren, auf dem ein AOSP-Build von Jelly Bean (4.2) ausgeführt wird.
Wenn ich "adb my.apk" installiere, erhalte ich die Fehlermeldung:
[INSTALL_FAILED_VERIFICATION_FAILURE]
Ich habe versucht, mit "testsign.jar" die apk zu "signieren", aber das Ergebnis wird dadurch nicht geändert
Sie müssen die Überprüfung des APK während der ADB-Installation deaktivieren. Wenn die Einstellung in Security ausgegraut ist oder nicht funktioniert, sollte sie versuchen, sich auf das Gerät zu schälen, und abhängig von der Einstellungsdatenbank, in der sich die Einstellung befindet, auf Ihrer API-Ebene (Global, System, Secure)
$ adb Shell settings put global verifier_verify_adb_installs 0
Wenn Sie es tatsächlich einstellen können, wird die Überprüfung von APKs über ADB verhindert.
In manchen Fällen müssen Sie auch die Paketprüfung deaktivieren:
$ adb Shell settings put global package_verifier_enable 0
In KitKat können Sie hier sehen, dass diese Einstellungen in der globalen Datenbank enthalten sind:
http://androidxref.com/4.4.2_r2/xref/frameworks/base/core/Java/Android/provider/Settings.Java#5015
Gehen Sie zu Entwicklereinstellungen und deaktivieren Sie Apps überprüfen über USB. Dann können Sie .apk problemlos installieren.
Dafür habe ich versucht, auf Android 6.0-Geräten zu installieren
Settings > Developer Options > Then Turn off Verify Apps over USB
Siehe erstes Bild Dann
Settings > Security > Then Turn on Unknown sources
Endlich
Muss Settings > Developer Options > Then Turn off Verify Apps over
Settings > Security > Then Turn on Unknown sources
Sie müssen unsignierte Anwendungen zulassen. Die Installation wird von Android blockiert. Installation von Nicht-Markt-Apps in den Einstellungen zulassen.
AKTUALISIERTE ANTWORT: mit den letzten Android-Updates. Während der Installation des APK kann der folgende Fehler aufgrund von Play Protect möglicherweise angezeigt werden:
Failed to finalize session : INSTALL_FAILED_VERIFICATION_FAILURE
Session 'app': Error Installing APKs
Um dies zu beheben (für Entwicklerzwecke), können Sie Play Protect deaktivieren, wie hier gezeigt: Installationsanwendung durch Play Protect blockiert.
In Ihrem Telefon gehen Sie zu:
einstellungen/Entwickleroption/Apps über USB überprüfen
und deaktivieren Sie es.
Wie bereits erwähnt, benötigen Sie ein signiertes apk, um es auszuführen. Um ein signiertes apk auszuführen, klicken Sie mit der rechten Maustaste auf Ihr Projekt> Android-Tools> Exportiertes signiertes Anwendungspaket Sie haben noch keine Möglichkeit, einen zu erstellen. Befolgen Sie die nächsten Schritte gemäß Eclipse.
Dies ist mir in Android Studio passiert, nachdem ich das Betriebssystem auf meinem PC neu installiert habe - ich habe versucht, einen Build auf einem Tablet zu testen. Bei mir funktionierte schließlich nur die Deinstallation der Anwendung auf dem Tablet (Erstellt von der vorherigen Installation).
Abgesehen von "settings put global verifier_verify_adb_installs 0" muss ich package_verifier_enable in meinem Fall auf 0 setzen, damit es funktioniert.
z.B.
adb Shell
settings put global package_verifier_enable 0
Keiner der oben genannten Vorschläge hat sich für mich bewährt, jedoch hat das Zurücksetzen durch das Gerät den Trick bewirkt.