1
votes

La version mise à jour d'Apk ne peut pas être installée

J'ai pris un projet de github et j'ai développé quelques fonctionnalités dont j'avais besoin pour mon propre usage. J'ai créé un nouvel apk après avoir terminé ceux-ci, le téléphone le reconnaît comme une nouvelle version de l'application existante, mais l'installation échoue après quelques secondes d ' "installation" . Application non installée . Liens vers les écrans d'impression: https://gyazo.com/93b94183572f139d9a07b937c5a1eed2 https://gyazo.com/bdbee5e182f7e8d69ee00c7daac88cf3

J'ai affiché mon code version actuelle et il s'agissait de quelque chose 10230000. J'ai essayé de le changer en gradle en 10230008, échoue toujours. J'ai également changé le nom de version de mon application sans aucun résultat positif.

La version initiale du module gradle était:

...
apply plugin: 'kotlin'
ext {
versionName = project['version.major'] + '.' +
        project['version.minor'] + '.' +
        project['version.patch']


versionCode = (project['version.major'].toInteger() * 1000 * 1000 * 1000) +
        (project['version.minor'].toInteger() * 1000 * 1000) +
        (project['version.patch'].toInteger() * 1000) +
        project['version.build'].toInteger()

bugsnagAPIKey = System.getenv('BUGSNAG_API_KEY') ?: ''
realmEncryptionKey = System.getenv('REALM_ENCRYPTION_KEY') ?: 'ZX06poC7a96dL9,FR_9|Ww<2%]?4Ij(3wR3DmyNj0[{(,8g%jX2{03P45_p`N6|2'
}  
...

Project gradle:

    ...
    versionName rootProject.ext.versionName 
    versionCode rootProject.ext.versionCode
    buildConfigField 'String', 'REALM_ENCRYPTION_KEY', "\"${rootProject.ext.realmEncryptionKey}\""
    ...

Pourquoi l'application ne peut-elle pas être installée alors qu'elle est reconnue comme étant une mise à jour?


1 commentaires

Veuillez ajouter un journal de l'installation, ou au moins la sortie de la commande pm install -r .


3 Réponses :


0
votes

Si vous essayez de mettre à jour l'application, la version excitée de l'appareil doit avoir la même signature que la nouvelle version, sinon elle ne sera pas installée. Ceux que vous pouvez essayer de faire est de désinstaller l'application, puis de la réinstaller, puis ils fonctionneront bien.

C'est peut-être aussi parce que vous n'avez pas assez d'expression pour la nouvelle mise à jour.


3 commentaires

Vous voulez dire la clé de signature que l'on me demande lorsque je construis l'apk? Je n'ai pas la clé de signature d'origine, car l'application a été initialement extraite de github


@Ncs si vous prenez cette application binaire directement depuis GitHub, alors vous n'avez qu'une seule méthode pour résoudre cette question, il vous suffit de la désinstaller et de la réinstaller.


Non, je veux dire que les deux apks ont la plupart la même clé, sinon vous ne pouvez pas installer l'application



1
votes

Essayez dans Android Studio: Allez dans File -> Settings -> Build, Execution, Deployment -> Instant Run et désactivez-le.

 entrez la description de l'image ici

Et essayez sur votre téléphone Android:

Settings -> Apps & notifications -> See all x apps -> 

Recherche votre application et cliquez dessus et faites FORCE STOP et UNINSTALL.


2 commentaires

La désinstallation supprimerait ma configuration initiale enregistrée sur l'application d'origine, mais je suppose que c'est le seul moyen


Salut @Ncs si cette réponse ou une réponse a résolu votre question, veuillez envisager de l'accepter en cliquant sur la coche. Cela indique à la communauté au sens large que vous avez trouvé une solution et donne une certaine réputation à la fois au répondant et à vous-même. Il n'y a aucune obligation de le faire.



0
votes

Si vous souhaitez mettre à jour cette application à partir de la version binaire précédente (c'est-à-dire que vous avez pris ce .apk directement sur GitHub et l'installer sur votre téléphone, comparé pour construire la version précédente à partir du code source), alors vous avez deux choix:

  1. Demandez au conditionneur d'origine (l'auteur?) d'emballer votre source pour vous.
  2. Désinstallez le fichier APK précédent, puis installez le nouveau.
  3. Crackez la clé de signature.

Le moyen le plus simple est évidemment le second.

Dans ma mémoire, le cœur de la question d'origine est la clé de signature de ce fichier .apk .


0 commentaires