cordova - ¿Cómo puedo especificar el SDK mínimo en phonegap? Está ignorando android-minsdkversion en config.xml
cordova-3.5 (5)
Esta es una aplicación para Android phonegap 3.5 / cordova 3. En www / config.xml tengo:
<preference name="android-minSdkVersion" value="19">
<preference name="android-targetSdkVersion" value="19">
Sin embargo, cuando lo construyo, crea un AndroidManifest.xml con:
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
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:
<platform name="android">
<preference name="AndroidLaunchMode" value="singleTop"/>
<preference name="android-minSdkVersion" value="14" />
<icon src="res/android/xhdpi.png" />
<icon src="res/android/ldpi.png" density="ldpi" />
<icon src="res/android/mdpi.png" density="mdpi" />
<icon src="res/android/hdpi.png" density="hdpi" />
<icon src="res/android/xhdpi.png" density="xhdpi" />
</platform>
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í ...
Editar y mejorar la respuesta:
Para responder a esto, es mejor comenzar con la versión de compilació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 here
targetSdk debe ser utilizado solo por Phonegap. Esto indica a phonegap que use cierto APILevel para compilar 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
<preference name="android-targetSdkVersion" value="17"/> //android 4.2
Esta aplicación es compilació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:
<preference name="android-minSdkVersion" value="11"/> //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:
<preference name="android-minSdkVersion" value="11"/> //android 3.0
<preference name="android-targetSdkVersion" value="17"/> //android 4.2
Esta declaración 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 objetivo:
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 objetivo: "android-21"
Pude solucionar esto editando manualmente plataformas / android / AndroidManifest.xml:
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
La http://docs.build.phonegap.com/en_US/configuring_preferences.md.html#Preferences 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.
PASO 1) Las etiquetas del archivo yourapp / config.xml <platform name="android">
añaden dos preferencias
<platform name="android">
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="19" />
</platform>
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
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
todo está bien :)