1 votes

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

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

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

3voto

Ronald Wildenberg Points 18258

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

Cependant, c'est presque toujours une mauvaise idée . Le développeur de l'application a probablement fixé cette exigence à la valeur qu'elle a, car il a effectivement besoin d'un élément introduit dans cette version du SDK. Si ce n'était pas le cas, il l'aurait fixée à une autre valeur ou l'aurait omise. Essayer de faire fonctionner l'application sur une version d'Android dépourvue des fonctionnalités dont elle a besoin risque de causer des ravages, des plantages, des fermetures forcées et d'autres malheurs.

Dans le cas des applications créées par Google, je suppose qu'ils savaient exactement quelle fonctionnalité leur application utilise et quand elle a été introduite, et qu'elle serait certainement cassée d'une manière ou d'une autre sans cette fonctionnalité lorsqu'ils ont défini la minSdkVersion pour leur application, et donc que cette astuce échouera presque certainement.

Mais si le développeur est juste un type paresseux qui a insisté pour définir l'attribut (probablement à la version actuelle) sans trop se demander s'il est vraiment nécessaire (c'est-à-dire "je n'ai pas envie de parcourir mon code et de vérifier quelle fonctionnalité j'utilise réellement et quand Google l'a ajoutée à Android, donc je vais juste définir la minSdkVersion à la version actuelle d'Android"), c'est pourrait juste travailler. Il se peut aussi que la fonctionnalité manquante ne soit utilisée que dans une partie de l'application que vous n'utilisez jamais, et donc que la panne ne vous concerne pas.

1voto

p1xel Points 317

Non, en tout cas personne n'a trouvé un moyen fiable de le faire. Les versions supérieures d'Android introduisent de nouvelles API dont l'application peut avoir besoin pour fonctionner correctement.

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