web-dev-qa-db-fra.com

Google Play ne me laisse pas mettre à jour mon application

J'ai déjà effectué une énorme recherche et je ne sais pas pourquoi Google Play ne me permet pas de mettre à jour mon application Prod . Leur message d'erreur n'a pas beaucoup de sens pour moi, en fait je ne comprends pas vraiment pourquoi ils ne le sont pas l'accepter.

C'est le message d'erreur:

This configuration cannot be published for the following reason(s):
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).
It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 178 (target SDK 23) to version 2008 (target SDK 22).

Et en voici une copie:  enter image description here

La première version 0.1 a été créée à l'aide de build.phonegap.com et la seconde (0.2) a été publiée localement à l'aide de la CLI car les résultats sont meilleurs.

Quelqu'un a une idée à ce sujet?

Merci d'avoir lu.

13
PedroGabriel

En effet, votre nouvelle version a un targetSdkVersion (22) inférieur à votre version actuelle (23) dans le manifeste:

<uses-sdk Android:targetSdkVersion="22" />

targetSdkVersion 23 est pour Android 6+ où il existe un nouveau moyen de gérer les autorisations: http://developer.Android.com/training/permissions/requesting.html

Ainsi, vos utilisateurs actuels sous Android 6+ utilisent le nouveau système d’autorisations. Il semble que ce soit un problème pour Google de les rétrograder à targetSdkVersion 22 où se trouvait l’ancien système d’autorisations.

Donc, pour résoudre ce problème, vous devez mettre à jour votre nouvelle version pour qu'elle utilise targetSdkVersion 23:

<uses-sdk Android:targetSdkVersion="23" />

assurez-vous de gérer le nouveau système de permission.

13
Stéphane

Pour ceux qui utilisent Xamarin, rencontrez cette erreur et n’avez pas essayé de rétrograder leur SDK cible.

Il semble que Google Play affiche cette erreur si vous modifiez les ABI prises en charge. Nous avons récemment publié une version de Beta construite avec armeabi-v7a et x86. Lors de notre prochaine construction, nous avons supprimé x86 car c'était inutile, mais nous avons eu l'erreur ci-dessus. Il semble donc qu'à l'heure actuelle, Google Play ne prend pas en charge la suppression des plateformes pour lesquelles vous créez.

11
Andres Castro

Tard au jeu, mais je l’ai souvent vu récemment avec les clients de Xamarin.

En plus de l'excellent argument d'Andreas, les utilisateurs de Xamarin pourraient également avoir déjà défini une cible de construction explicite égale ou supérieure à 23, puis rétabli en mode automatique. 

Xamarin place <uses-sdk /> dans le manifeste lors de l'utilisation de Automatic qui, lors du remplacement d'un APK utilisant une cible explicite, envoie un message d'erreur comme ci-dessus, mais se plaint d'une modification du SDK cible 0. Cela se produit même si la cible Automatic est égale ou plus élevé que le SDK existant.

Pour résoudre ce problème, fixez un objectif explicite de 23 ou plus

10
Garry Whittaker

Cela est devenu un gros problème pour moi aussi. J'ai testé un apk qui cible Api23, j'ai découvert que mon application avait des problèmes pour cibler 23, j'ai rétabli un api inférieur et maintenant je ne peux pas mettre à jour mon application sans inclure les problèmes causés par 23.

Quelqu'un ici affirme avoir résolu le problème en testant dans Alpha, mais cela ne fonctionne pas pour moi: https://groups.google.com/d/msg/Android-developers/dpK2XO025kQ/ciD_X4SoCQAJ

Edit: j’ai parlé au support technique de Google et voici ce qu’ils suggèrent: avec ce problème, vous pouvez appuyer sur "Désactiver les tests bêta" dans les paramètres de l'APK. Cela devrait résoudre ce problème pour vous. Vous devriez pouvoir revenir à la version précédente de votre API.

Je n'ai pas eu de chance jusqu'à présent, car mon test bêta refuse de le désactiver. Je travaille donc pour adapter correctement mon application à Api 23.

C'est clairement un mauvais geste de Google. En termes simples, avec cette stratégie, vous testez une fonctionnalité dans la version bêta et le système vous oblige à la mettre en œuvre dans la production, même si les tests ont mal tourné. N'est-ce pas une mauvaise pratique?

5
Kajuna

Changer Version Android cible Cadre cible à utilisation automatique -> Remplacer - Android xx.