He comprado un HTC Magic usado con CyanogenMod 5 en él. Tiene Google Market. La versión de mercado es la 1.713, que no está ni cerca de la última IIRC. La facturación en la aplicación, por una parte, no está soportada.
¿No se supone que Google Market se actualizará a sí mismo cuando salga una nueva versión? ¿Por qué no lo hace el mío? Probablemente algún tipo de interferencia de CyanogenMod. ¿Alguna forma de evitarlo, por favor?
EDITORIAL: depuró un poco la situación. Resulta que sé que la actualización del mercado se produce fuera del proceso principal del mercado - el mercado (com.Android.vending) descarga la actualización, y luego dispara un intento de emisión UPDATE_MARKET a un receptor en otra aplicación (com.Android.vending.updater), que a su vez instala el paquete. Esto es lo que tengo en el LogCat:
02-01 02:34:16.155: W/ActivityManager(121): Permiso denegado: broadcasting Intent { act=com.Android.vending.UPDATE_MARKET dat=content://downloads/download/31 } de com.Android.vending (pid=1762, uid=10006) requiere com.Android.vending.permission.UPDATE_MARKET debido al receptor com.Android.vending.updater/com.Android.vending.updater.UpdateMarketReceiver
Así que parece que la aplicación Market carece de permiso para invocar el actualizador. El archivo de manifiesto de Vending.apk, sin embargo, tiene un
<uses-permission android:name="com.android.vending.permission.UPDATE_MARKET" />
línea. ¿Cómo es posible que una aplicación tenga una <uses-permission>
pero recibir un mensaje de denegación de permiso?
EDIT2: el permiso com.Android.vending.permission.UPDATE_MARKET está marcado como "firma" en el manifiesto de MarketUpdater. Lo que significa que sólo las aplicaciones firmadas por el mismo certificado de MarketUpdater tienen ese permiso. Esa podría ser la razón por la que Market no recibe el permiso - podría estar firmado por un certificado diferente.
EDIT3: ese es exactamente el caso. La clave pública es diferente. La de Vending.apk parece coincidir con la de varias versiones de Vending.apk que están flotando en la red.