¿Cómo puedo especificar el SDK mínimo en phonegap? Está ignorando android-minsdkversion en config.xml

Esta es una aplicación para Android phonegap 3.5 / cordova 3. En www / config.xml tengo:

  

Sin embargo, cuando lo construyo, crea un AndroidManifest.xml con:

  

El resultado es que las personas con versiones de SDK inferiores a 19 pueden instalar mi aplicación desde la tienda. ¿De dónde saca ese 10 y cómo puedo cambiarlo? Debido a la rareza con Viewport, el comportamiento de mi aplicación es sospechoso en los sistemas operativos por debajo de 4.4 y ya estoy recibiendo críticas de 1 estrella de 4.2.2 usuarios.

Con la versión anterior de cordova CLI, solía modificar manualmente AndroidManifest.xml para cambiar algunas configuraciones (modo de lanzamiento, minsdk …) como lo hace en su respuesta.

Y con Cordova 3.5. algo comenzó a ir mal, y algunos cambios se perdieron cada vez que construí el proyecto.

Ahora agregué esas líneas en config.xml y la configuración se actualiza automáticamente:

          

La ventaja es que ahora puedo eliminar la plataforma de Android y volver a crearla sin perder ninguna configuración.

Como Phonegap se está actualizando para estar en línea con cordova, las preferencias en config.xml deberían funcionar con la nueva versión, y tal vez veas que tu manual actualizado se pierde como me pasó a mí …

PASO 1) Las tags del archivo yourapp / config.xml añaden dos preferencias

     

PASO 2) cordova platform rm android ejecutar código cmd

PASO 3) cordova platform add android run cmd code Comprueba tu archivo AndroidManifest.xml si se ve abajo

  

todo está bien 🙂

Editar y mejorar la respuesta:

Para responder a esto, es mejor comenzar con la versión de comstackción o el nivel de API. API Level es un valor entero que identifica de forma única la revisión de API de framework que ofrece una versión de la plataforma Android.

 API Level 8 == android Platform 2.3(ginger bread) API Level 17 == android Platform 4.2(jelly bean) 

Para ver la comparación completa de APILevel y su plataforma Android, consulte aquí


targetSdk debe ser utilizado solo por Phonegap. Esto indica a phonegap que use cierto APILevel para comstackr esta aplicación. Esto no significa que ningún usuario deba descargar su aplicación. Es más parecido a decir: ” La aplicación está optimizada para este APILevel “. ejemplo

   //android 4.2 

Esta aplicación es comstackción (optimizada) usando APILevel 17 (que es jellyBean o androidPlatform4.2)


minSdk por otro lado, limita el usuario / dispositivo. minSdk es el requisito mínimo de Sdk para el usuario / dispositivo. Cualquier dispositivo con nivel API menor que APILevel utilizado por minSdk, no podrá descargar esta aplicación. ejemplo:

   //android 3.0 

para descargar esta aplicación, el dispositivo tiene que funcionar al menos en Android 3.0 (APILevel 11)


Finalmente , cuando se usan juntos:

  //android 3.0  //android 4.2 

Esta statement significa que esta aplicación está optimizada para android4.2, con un requisito mínimo de Android 3.0


Doc: http://docs.build.phonegap.com/en_US/configuring_preferences.md.html#Preferences

Para cualquiera que esté buscando una forma de establecer una versión específica, encontré esto: solo tuve el mismo problema. Tuve que cambiar el objective:

Objetivo del proyecto

target = android-22 Esto debe hacerse en dos archivos:

myApp / platforms / android / project.properties myApp / platforms / android / CordovaLib / project.properties

También el manifiesto debe actualizarse:

De la respuesta de Sebastian colocada aquí: Cordova: [Error: por favor, instala el Android objective: “android-21”

Pude solucionar esto editando manualmente plataformas / android / AndroidManifest.xml:

  

La documentación de Phonegap parece implicar que este archivo debe heredar el valor de la preferencia android-minSdkVersion, pero debe modificarse manualmente. La preferencia de android-minSdkVersion no parece hacer nada por lo que puedo decir.