Cordova Build – ignora los archivos

Al compilar una aplicación cordova cada archivo en mi carpeta /www se copia en la carpeta assets/www (android) pero me gustaría personalizar qué archivos se copian. Utilizo varios pseudo-lenguajes como CoffeeScript, Jade o Stylus que son compilados automáticamente por mi IDE y no deben ser enviados a la aplicación final.

Con la ayuda de este artículo , encontré que puedes crear / editar la platform/android/ant.properties , y añadirle la siguiente línea:

 aapt.ignore.assets=!*.map:!thumbs.db:!.git:.*:*~ 

Con esta línea, cualquier archivo o directorio que coincida con uno de estos patrones no se incluirá en el archivo .apk:

  • *.map
  • thumbs.db
  • .git
  • .*
  • *~

He encontrado que la edición de las platforms/android/build.xml no funcionará porque se sobrescribe cada vez que se invoca la construcción; También, la creación de un archivo build.xml en la raíz del proyecto no funcionó.

Las reglas para esta propiedad son las siguientes, tomadas de $ANDROID_HOME/tools/ant/build.xml :

 <!-- 'aapt.ignore.assets' is the list of file patterns to ignore under /res and /assets. Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~" Overall patterns syntax is: [!][<dir>|<file>][*suffix-match|prefix-match*|full-match]:more:patterns... - The first character flag ! avoids printing a warning. - Pattern can have the flag "<dir>" to match only directories or "<file>" to match only files. Default is to match both. - Match is not case-sensitive. --> <property name="aapt.ignore.assets" value="" /> 

La carpeta y los archivos ocultos (. *) Serán ignorados por defecto

Todos los archivos y carpetas ocultos serán ignorados mientras se crea por ejemplo .git/ & .gitignore

Para ocultar: Cambie el nombre de la carpeta por a . (Punto) precedido al nombre de la carpeta / archivo.

Para cambiar el nombre de una carpeta con. (Punto) al inicio es posible que necesite CLI

Utilice Terminal en Linux / Mac para cambiar el nombre de la carpeta.

 mv dev .dev 

Utilizar cmd en Windows

 ren dev .dev 

No sé de ninguna manera cómo filtrar los archivos de Córdoba, pero puedo describir el enfoque que utilizamos en nuestros proyectos.

Estamos usando gruntjs con plugin phonegap . Lo configuramos para usar la carpeta pre-construida (que contiene sólo los archivos y carpetas necesarios) y:

  • Crea proyecto cordova / phonegap
  • Agrega complementos, plataformas
  • Crea aplicación nativa
  • Lanza la aplicación nativa en el emulador

Lo principal en este enfoque es que cordova / phonegap proyecto (directorio con .cordova, plataformas y carpetas www) es sólo un artefacto de construcción.

Aquí es parte relevante de nuestro Gruntfile.js como un ejemplo:

  phonegap : { config : { root : './out/dist', config : { template : './config.tpl.xml', data: { id: pkg.id, version: pkg.version, name: pkg.name, author : pkg.author } }, path : 'out/phonegap', plugins : [ // PHONEGAP OFFICIAL PLUGINS 'org.apache.cordova.globalization', 'org.apache.cordova.network-information', 'org.apache.cordova.splashscreen', //THIRD-PARTY PLUGINS 'de.appplant.cordova.plugin.local-notification' ], platforms : [ 'android' ], maxBuffer : 200, // You may need to raise this for iOS. verbose : false, releases : 'out/releases', releaseName : function() { return pkg.name + '-v' + pkg.version; }, // Android-only integer version to increase with each release. // See http://developer.android.com/tools/publishing/versioning.html versionCode : function() { return 1; } } } 

Tenga en cuenta que out / dist se genera por paso de compilación anterior y contiene versión concatenada y minified de código.

He creado un script personalizado para ignorar archivos / carpetas que funciona no sólo para android:

Añada esto a su config.xml :

 <ignore entries="lang,foo/bar,ignore/asdf.html" /> 

Y necesita dos archivos más ubicados en las carpetas hooks / before_build y hooks / after_build .

  • Captura de audio / video en PhoneGap / Córdoba utilizando un complemento de Java externo
  • ¿Cómo puedo evitar que Cordova (3.2) App sea asesinada por Android en segundo plano?
  • Error de INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES en PhoneGap
  • No se pueden instalar los complementos de Cordova desde Git en CLI
  • La conexión de Cordova al servidor no tuvo éxito
  • Phonegap 3.0 quiere android 17, pero quiero Android 18
  • Error sin capturar: SECURITY_ERR: DOM Exception 18 en el archivo: ///android_asset/www/js/DB.js
  • El paquete android.support.v4.app no ​​existe (Android 17)
  • Apache cordova en android ¿dónde están las barras de desplazamiento?
  • Módulo cordova / exec / proxy no encontrado usando Cordova phonegap
  • Crear proyectos con Phonegap 3.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.