Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Puedo controlar la configuración de <support-screen> de un archivo AndroidManifest.xml de mi config.xml de Cordova?

Me gustaría poder controlar el elemento "support-screens" dentro del archivo AndroidManifest.xml al hacer una compilación desde el CLI de Cordova.

En concreto, me gustaría controlar el siguiente elemento dentro de AndroidManifest.xml:

<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> 

Idealmente, espero que haya una configuración disponible dentro del archivo config.xml de Cordova que me permita controlar directamente los tamaños de pantalla compatibles.

He intentado monkeying alrededor con los ajustes del config.xml como el siguiente sin éxito:

 <platform name="android"> <supports-screen xlargeScreens="false"/> </platform> 

Reconozco que puedo almacenar un archivo AndroidManfiest.xml personalizado en mi control de código fuente y simplemente copiarlo usando un gancho Cordova, pero al hacerlo me siento un poco torpe, y estoy preocupado de que los ajustes futuros en el archivo config.xml puedan entonces No lo convierten en AndroidManifest.xml porque olvidamos que estamos sobrescribiendo el archivo generado durante un hook after_prepare.

¿Es lo que estoy pidiendo posible utilizando el CLI de Cordova? Si es así, una muestra de la config.xml para lograr esto sería apreciada.

  • Cordova: [Error: Instala Android target: "android-21"
  • ¿Cómo obtener el nombre de la ciudad de la latitud y la longitud en la brecha telefónica?
  • Cómo incrustar video de YouTube en Android usando Phonegap
  • Cordova: ¿Es posible tener diferentes IDs de aplicación para android y plataformas ios?
  • CrossWalk Webview no inicia la URL
  • Fuentes personalizadas en Android PhoneGap
  • Cordova / phonegap no hace el directorio de android
  • Aplicación Wrapper de Córdoba donde los vínculos internos cargan en la aplicación, los enlaces externos cargan en el navegador
  • 2 Solutions collect form web for “¿Puedo controlar la configuración de <support-screen> de un archivo AndroidManifest.xml de mi config.xml de Cordova?”

    Por lo que sé, los ganchos son la manera de hacer esto. El generador icónico yeoman marco tiene un gran ejemplo de esto que puede tomar muchas etiquetas específicas de Android y copiarlos a la config.xml generado. Vea este archivo aquí de este generador iónico liso .

    Ejemplo de Config.xml desde el código ( https://github.com/diegonetto/generator-ionic/blob/master/templates/hooks/after_prepare/update_platform_config.js ):

     <config-file target="AndroidManifest.xml" parent="/*> <supports-screens android:xlargeScreens="false" android:largeScreens="false" android:smallScreens="false" /> <uses-permission android:name="android.permission.READ_CONTACTS" android:maxSdkVersion="15" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> </config-file> 

    Los ganchos se pueden ejecutar automáticamente desde la carpeta hooks, y este hook en particular residiría en hooks / after_prepare, o en la configuración como <hook type="after_prepare" src="path/to/file/update_platform_config.js" />

    Más documentación sobre los ganchos se puede encontrar en el léxico de los ganchos: http://cordova.apache.org/docs/en/dev/guide/appdev/hooks/index.html#Hooks%20Guide

    Editar: actualizar los repositorios git para los documentos del generador y del cordova.

    Desde este cambio en las últimas versiones cordova> 6.3 , deberíamos ser capaces de usar la nueva etiqueta edit-config para editar el archivo de Android Manifest.mf así:

     <edit-config file="AndroidManifest.xml" target="/manifest/supports-screens" mode="merge"> <supports-screens android:resizeable=["true"| "false"] android:smallScreens=["true" | "false"] android:normalScreens=["true" | "false"] android:largeScreens=["true" | "false"] android:xlargeScreens=["true" | "false"] android:anyDensity=["true" | "false"] android:requiresSmallestWidthDp="integer" android:compatibleWidthLimitDp="integer" android:largestWidthLimitDp="integer"/> </edit-config> 

    También necesitarás agregar xmlns:android="http://schemas.android.com/apk/res/android" al elemento widget en config.xml.

    Más información allí y allí

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.