3 votes

La version d'Android diffère du niveau d'API attendu

J'ai trouvé un assez vieil appareil Huawei Ascend Y210. Ce mobile a officiellement Android 2.3.3 (API level 10). J'ai trouvé une ROM personnalisée en ligne pour ce mobile spécifique. L'appareil a CWM comme récupération personnalisée. Le fichier zip (le fichier rom) a été installé avec succès. L'environnement ressemble à ce que devrait être Android Lollipop. En allant dans les paramètres du mobile > A propos du téléphone > Version d'Android, la version est 5.0.1 comme prévu. En utilisant la commande adb shell getprop ro.build.version.release le résultat est effectivement 5.0.1. Cependant, j'ai essayé d'exécuter adb shell getprop ro.build.version.sdk le résultat est 10 qui est le niveau d'API de l'Android stock du téléphone (Android 2.3.3). Les applications créées à partir du niveau 23 de l'API ne s'installeront pas car le niveau de l'API est reconnu comme étant 10. En changeant le niveau minimum d'API de l'application en 10 à l'aide d'APK Editor Studio, l'application s'installe mais se bloque dès que j'essaie de l'ouvrir.

C'est un bug ? Je veux dire que je peux quelque part changer le niveau d'API de l'appareil ? Ou est-ce que la ROM est une arnaque et qu'Android n'est jamais vraiment mis à jour en 5.0.1 et que la ROM change juste l'interface graphique ? Comment est-il même possible de tromper l'adb que la version d'Android est 5.0.1 mais garder le niveau d'API à 10 ?

P.S. : Si quelqu'un a une ROM pour Huawei Ascend Y210 avec Android 5.0.1 ou plus à portée de main, j'apprécierais un lien de téléchargement.

Merci d'avance !

1voto

Comme Izzy l'a mentionné, le problème ici était que le propriétaire de la ROM avait modifié la ro.build.version.sdk dans le build.prop sans fournir réellement une quelconque fonctionnalité du niveau 23 de l'API. Je ne suis pas sûr que la réponse de Fidz soit correcte car je n'ai pu trouver aucune ressource en ligne qui affirme la même chose (corrigez-moi si je me trompe), le site officiel de Google n'affirme rien au sujet du niveau d'API, il mentionne juste quelque chose au sujet de la compatibilité d'Android indépendamment du niveau d'API et du matériel. Je n'ai pas pu trouver de ROM pour l'appareil car il est assez vieux et presque tout le support pour les téléphones Huawei et Honor sur les ROMs personnalisées et le rooting est mort après que Huawei ait désactivé la possibilité de déverrouiller le bootloader.

0voto

Fidz Points 66

Chaque appareil Android possède son propre niveau d'API.

Il ne s'agit pas d'un bogue. Si vous utilisez une fonction ou une application qui nécessite un niveau d'API plus élevé, mais que le niveau d'API du périphérique est inférieur à celui requis, l'application se plantera sûrement.

Le niveau d'API est basé sur la version d'Android de l'appareil, mais il utilise également les ressources matérielles. Ainsi, même si l'appareil est mis à niveau vers une version plus récente d'Android, le niveau d'API ne peut pas dépasser les ressources matérielles disponibles.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X