sistema - Los complementos no siempre se agregan después de que Córdoba agregue la plataforma de Android e iOs
similitudes entre android y ios (4)
Necesito ejecutar ionic platform add android/iOs
varias veces para obtener el resultado deseado. A veces, los complementos se agregan después de la primera ejecución, pero generalmente tengo que borrar los complementos y los directorios de la plataforma y volver a ejecutar agregando el ciclo de la plataforma varias veces hasta que todos los complementos se agreguen a la carpeta de Android.
¿Alguien más experimentó el mismo problema? En caso afirmativo, ¿cuál es la resolución? Si alguna ...
gracias por adelantado
Creo que he encontrado solución a este problema. En lugar de usar clónicos iónicos para agregar plataforma, estoy usando la sudo cordova platform add ...
Está funcionando cada vez.
Es mejor ahora usar ionic cordova prepare
Esto instala y configura todos los complementos en un solo paso.
La solución que terminé usando es desinstalar y reinstalar todos los complementos después de agregar la plataforma. Ya que he tenido problemas con este problema en las aplicaciones anteriores de Cordova, estoy tratando de hacer que las compilaciones sean lo más consistentes posible, por lo que no estoy comprometiendo el directorio de plataformas y eliminándolo después de que compile la apk. He hecho esto con un guión:
ionic platform add android
ionic plugin remove org.apache.cordova.device
ionic plugin remove org.apache.cordova.console
ionic plugin remove com.ionic.keyboard
ionic plugin add org.apache.cordova.device
ionic plugin add org.apache.cordova.console
ionic plugin add com.ionic.keyboard
platforms/android/cordova/build --release
rm -rf platforms
Esto siempre ha funcionado para mí, pero como prefiero no tener que preocuparme por mantenerlo actualizado, moví estos comandos a: after_platform_add / 010_install_plugins.js, con las siguientes adiciones:
packageJSON.cordovaPlugins = packageJSON.cordovaPlugins || [];
packageJSON.cordovaPlugins.forEach(function(plugin) {
exec(''cordova plugin remove '' + plugin, function(error, stdout, stderr) {
sys.puts(stdout);
});
});
packageJSON.cordovaPlugins.forEach(function(plugin) {
exec(''cordova plugin add '' + plugin, function(error, stdout, stderr) {
sys.puts(stdout);
});
});
Esto supone que existe algo en estas líneas en package.json en el objeto JSON raíz:
"cordovaPlugins": [
"org.apache.cordova.console",
"org.apache.cordova.device",
"com.ionic.keyboard"
]
Lo que debería ocurrir automáticamente si el after_plugin_add / 010_register_plugin.js está funcionando correctamente.
Dicho todo esto, siento que esto es un poco intrépido y que Ionic debería manejar todo esto correctamente, así que espero que pueda encontrar algo de tiempo para analizar este problema en ese lado de las cosas y encontrar el problema raíz de este problema.
Yo también he experimentado algunos problemas similares. Intenta restablecer tu proyecto iónico:
ionic state reset
Esto elimina las platforms/
y los plugins/
carpetas y los restaura a partir de la información almacenada en su package.json
. Hay algunos otros comandos útiles documentados en el proyecto ionic-cli .