J'ai acheté un HTC Magic d'occasion avec CyanogenMod 5 dessus. Il a Google Market. La version du market est 1.713 - ce qui est loin d'être la dernière si je me souviens bien. La facturation In-App, par exemple, n'est pas supportée.
Le Market de Google est censé se mettre à jour automatiquement lorsqu'une nouvelle version sort, non? Pourquoi le mien ne le fait-il pas? Probablement une sorte d'interférence de CyanogenMod. Y a-t-il un moyen de contourner cela, s'il vous plaît?
EDIT : j'ai débogué un peu la situation. Je sais que la mise à jour du market se fait en dehors du processus principal du Market - le Market (com.android.vending) télécharge la mise à jour, puis envoie une intention de broadcast UPDATE_MARKET à un récepteur dans une autre application (com.android.vending.updater), qui installe ensuite le package. Voici ce que j'ai dans le LogCat:
02-01 02:34:16.155: W/ActivityManager(121): Permission refusée: diffusion de l'intention { act=com.android.vending.UPDATE_MARKET dat=content://downloads/download/31 } depuis com.android.vending (pid=1762, uid=10006) nécessite com.android.vending.permission.UPDATE_MARKET en raison du récepteur com.android.vending.updater/com.android.vending.updater.UpdateMarketReceiver
Il semble donc que l'application Market n'a pas la permission d'invoquer le programme de mise à jour. Cependant, le fichier de manifeste de Vending.apk contient bien une ligne . Comment est-il possible qu'une application ait une balise , mais reçoive un message de refus de permission?
EDIT2 : la permission com.android.vending.permission.UPDATE_MARKET est marquée comme "signature" dans le manifeste de MarketUpdater. Cela signifie que seules les applications signées par le même certificat que MarketUpdater ont droit à cette permission. Cela pourrait être la raison pour laquelle Market n'a pas cette permission - il pourrait être signé par un certificat différent.
EDIT3 : c'est exactement le cas. La clé publique est différente. Celle sur Vending.apk semble correspondre à celle sur diverses versions de Vending.apk qui circulent sur Internet.