Résoudre l'erreur d'installation adb INSTALL_FAILED_UPDATE_INCOMPATIBLE

         J'ai récemment empaqueté un jeu et la plate-forme nécessite la signature v1. Après l'empaquetage AS, adb exécute l'installation sur le téléphone mobile. L'appareil que j'utilise est Google Pixel 6 et le système Android 13. Les invites sont les suivantes :

adb install -r v5_android_202308161046.apk
Performing Streamed Install
adb: failed to install /Users/Project/GitLab/tank/androidhtc/app/release/v5_android_202308161046.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.test.android]

Le sens littéral est que le package d’installation n’a pas de signature de niveau V2 ou supérieur. J'ai essayé de l'installer à nouveau sur la tablette Samsung Android 8, hé, l'installation a réussi. Cela peut être lié à la version de l'API de l'appareil. Ensuite, j'ai cherché sur le site officiel et j'ai vu les nouvelles fonctionnalités d'Android 11 (API 30). Adresse du site officiel : https://developer.android.com/about/versions/11/behavior-changes-11?hl=zh-cn

Il existe un packaging et une installation d'application dans Android 11 :

1. Fichiers de ressources compressés

        Si une application ciblant Android 11 (niveau d'API 30) ou supérieur contient un  fichier compressé ou si le fichier n'est pas aligné sur une limite de 4 octets , l'application ne pourra pas s'installer . Si l’une de ces conditions existe, le système ne pourra pas mapper la mémoire du fichier. Les tables de ressources qui ne peuvent pas être mappées en mémoire doivent être lues dans un tampon de la RAM, ce qui entraîne une pression inutile sur la mémoire du système et augmente considérablement l'utilisation de la RAM du périphérique. resources.arsc

2. Le schéma de signature APK v2 est désormais requis

        Les applications qui ciblent Android 11 (API niveau 30) et qui sont actuellement signées uniquement avec APK Signature Scheme v1 doivent désormais également être   signées avec APK Signature Scheme v2 ou supérieur. Les utilisateurs ne peuvent pas installer ou mettre à jour les applications signées uniquement avec APK Signature Scheme v1 sur les appareils exécutant Android 11.

Remarque : Pour vérifier que votre application est signée avec APK Signature Scheme v2 ou version ultérieure :

apksigner verify -v test.apk

 

Cela signifie probablement que targetSdk 30 et supérieur nécessite une signature v2

 Solution : Ajustez la version de targetSdk à 29 pour résoudre le problème

Guess you like

Origin blog.csdn.net/u010207898/article/details/132315668