5
votes

PackageParserException: Package ... base.apk n'a aucun certificat à l'entrée AndroidManifest.xml

J'exécute mon application en mode débogage et c'est ok. Mais lorsque je le signe et que j'essaye d'installer apk, cette erreur se produit dans Logcat et le téléphone indique "L'application n'est pas installée".

C'est la même chose sur tous les téléphones avec les deux V1, V2, seulement V1 - il semble qu'Android Studio ne reconnaisse même pas que j'ai changé quelque chose.

J'ai essayé de désactiver complètement V2 avec ceci , mais pas de chance.

C:\Program Files\Android\Android Studio\jre\jre\bin>java -version
openjdk version "1.8.0_152-release"
OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
OpenJDK 64-Bit Server VM (build 25.152-b01, mixed mode)    

Que puis-je faire d'autre?

signingConfigs{
    release {
        storeFile file("keystore.jks")
        storePassword 'password'
        keyAlias 'alias'
        keyPassword 'password'
        v2SigningEnabled false
    }
}


0 commentaires

3 Réponses :


5
votes

Aujourd'hui, j'ai mis à jour Android Studio vers la version 3.3 et j'ai rencontré le même problème.

Je l'ai corrigé après la suppression du dossier Build, Clean Project , Invalidate Caches / Restart . Et après cela, je pourrais générer une application signée via Build -> Generate Signed Bundle / APK avec uniquement la signature V1.

La création d'une application signée avec la version de signatureConfigs ne fonctionne toujours pas.

Vous pouvez essayer ma solution.


1 commentaires

Ironiquement, j'écrivais juste ma propre réponse à ce sujet, mais merci de m'avoir aidé. Je pense aussi que la dernière mise à jour a cassé quelque chose.



0
votes

Ok, j'ai résolu le problème en effectuant ces actions, mais je ne sais pas ce qui l'a réellement résolu. Quoi qu'il en soit:

  1. copier tout le code dans un autre projet (bizarre?)

  2. créer un autre keystore

  3. supprimer toutes les fonctions qui nécessitent les dernières fonctionnalités java et donc Android le plus récent

  4. après cela, choisissez uniquement la signature du pot v1


1 commentaires

Quelles fonctionnalités Java étaient requises?



0
votes

Étapes pour générer un apk signé:

  1. Créer une version apk non signée.
  2. zipalignez l'APK non signé à l'aide de l'invite de commande.

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    
  3. Signature de l'APK avec la clé privée Sonim à l'aide du signataire de l'application via l'invite de commande.

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    
  4. Installez l'apk sur l'appareil.


0 commentaires