1 votes

Comment exécuter une application conçue pour une version plus récente d'Android sur un ancien appareil Android ?

Comment peut-on installer une application conçue pour Jellybean et l'utiliser sur Gingerbread?

Prenons par exemple Google Keyboard. Google Keyboard est conçu pour être utilisé avec Ice Cream Sandwich et les versions supérieures, mais disons que je veux l'installer sur mon téléphone fonctionnant avec CyanogenMod 7.2 rooté. Est-ce possible?

3voto

Ronald Wildenberg Points 18258

Techniquement, il est possible de passer outre l'exigence de version en ouvrant le fichier .apk et en modifiant le fichier manifest.xml en définissant l'attribut android:minSdkVersion dans l'élément à votre version sdk (ou en supprimant simplement cet attribut, auquel cas il sera par défaut "1" et supposera qu'il fonctionnera sur n'importe quelle version d'Android), puis en utilisant votre fichier .apk modifié pour l'installer.

Cependant, c'est presque toujours une mauvaise idée. Le développeur de l'application a probablement défini cette exigence à la valeur actuelle car il a réellement besoin de quelque chose introduit dans cette version du sdk. S'ils ne l'avaient pas fait, ils l'auraient défini à quelque chose d'autre ou l'auraient omis. Essayer de faire fonctionner l'application sur une version d'Android sans les fonctionnalités nécessaires est susceptible de causer des problèmes, des plantages, des fermetures forcées et d'autres désagréments.

Dans le cas des applications faites par Google, je suppose qu'ils savent exactement quelles fonctionnalités leur application utilise et quand elles ont été introduites, et qu'elle va certainement se casser d'une manière ou d'une autre sans cette fonctionnalité lorsque le minSdkVersion est défini pour leur application, et donc essayer cette astuce échouera presque certainement.

Mais si le développeur est juste du genre un peu paresseux et a insisté pour définir l'attribut (probablement à la version actuelle) sans vraiment réfléchir à s'il est vraiment nécessaire (c'est-à-dire "je n'ai pas envie de passer en revue mon code et de vérifier quelles fonctionnalités j'utilise réellement et quand Google les a ajoutées à Android, donc je vais tout simplement définir le minSdkVersion à la version actuelle d'Android"), cela pourrait marcher. Ou la fonctionnalité manquante pourrait seulement être utilisée dans une partie de l'application que vous n'utilisez jamais, et donc la défaillance est sans importance pour vous.

1voto

p1xel Points 317

Non, du moins personne n'a trouvé de moyen fiable de le faire. Les versions Android supérieures introduisent de nouvelles APIs dont l'application peut avoir besoin pour fonctionner correctement.

0 votes

C'est un peu triste. Y a-t-il un moyen de bricoler avec l'application (en supposant qu'elle ne vient pas du Play Store à la base) ?

1 votes

Si vous avez la source d'une application, il n'y a aucune raison de ne pas la modifier pour qu'elle fonctionne sur une version antérieure d'Android, bien que vous devriez évidemment modifier toute partie de l'application qui nécessitait des API fournies par les versions ultérieures d'Android.

0 votes

@JeffreyLin Ce ne sera pas facile pour quelqu'un d'autre que l'auteur original, et ils ont déjà décidé que c'était trop d'efforts.

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