Error de compilación de Android al actualizar el complemento de cámara de Cordova
Estoy recibiendo error de compilación después de actualizar cordova cámara plugin de 2.1.1 a 2.3.1. A continuación se muestran los detalles de la versión
Cordova version: 6.3.1, cordova-plugin-camera 2.1.1 "Cámara". Debajo están los pasos que estoy siguiendo
- Cordova FileTransfer Error de escritura (Código 1)
- Hacer una llamada HTTP POST en Ionic 2 da la respuesta prohibida
- ¿Cómo configurar el proyecto Cordova plugin con soporte IDE?
- La conexión de Cordova al servidor no tuvo éxito
- Cordova-plugin-contacts bloquea la aplicación
cordova plugin remove cordova-plugin-camera --save cordova plugin add cordova-plugin-camera --save
Veo que el archivo config.xml ha sido actualizado para
Cuando construyo build android cordova obtengo el siguiente error Error: cmd: Error en el comando con el código de salida 1 Salida de error: Nota: Algunos archivos de entrada utilizan o reemplazan una API obsoleta. Nota: Recompile con -Xlint: deprecation para más detalles. Nota: Algunos archivos de entrada utilizan o reemplazan una API obsoleta. Nota: Recompile con -Xlint: deprecation para más detalles. Warning: string 'menu_settings' no tiene traducción por defecto.
Plataformas \ android \ src \ org \ apache \ cordova \ cámara \ CameraLauncher.java: 32: error: no se puede encontrar el símbolo import org.apache.cordova.BuildHelper; Símbolo: class BuildHelper ubicación: paquete org.apache.cordova plataformas \ android \ src \ org \ apache \ cordova \ cámara \ CameraLauncher.java: 140: error: no se puede encontrar el símbolo this.applicationId = (String) BuildHelper.getBuildConfigValue (cordova. GetActivity (), "APPLICATION_ID"); ^ Symbol: variable BuildHelper ubicación: class CameraLauncher Nota: Algunos archivos de entrada utilizan o reemplazan una API obsoleta. Nota: Recompile con -Xlint: deprecation para más detalles. Nota: Algunos archivos de entrada utilizan operaciones no comprobadas o inseguras. Nota: Recompile con -Xlint: desmarcada para obtener detalles. 2 errores
FALLA: La generación falló con una excepción.
-
Lo que salió mal: La ejecución falló para la tarea ': compileDebugJavaWithJavac'.
Error en la compilación; Vea la salida de error del compilador para más detalles.
-
Intente: Ejecutar con la opción –stacktrace para obtener el seguimiento de la pila. Ejecute con –info o – opción de depuración para obtener más salida de registro.
- Cordova Plugin para mostrar información y controles de audio en iOS y Android Lockscreen
- Cómo obtener documentos en un directorio de Android que PhoneGap verá
- Ionic plugin necesidad de eliminar plataforma y readd plataforma antes de que funcione
- Cordova-plugin-contacts-No obtener todas las fechas del evento
- Cómo obtener acceso a la API de phonegap desde una página remota
- Cómo cambiar el icono de notificación local de Android en iónico?
- ¿Cómo descargar un archivo desde FTP y almacenarlo localmente con Cordova?
- Córdoba - modificar o eliminar MainActivity
Resolvimos esto forzando la instalación de la versión 1.1.0.
Estos son los comandos que ejecutamos desde el CLI:
cordova plugin remove cordova-plugin-compat --force cordova plugin add [email protected]
Me encontré con el mismo problema hoy. Lo tengo arreglado mediante la reinstalación del complemento cordova-plugin-compat
. Debido a las dependencias que usé –force.
cordova plugin remove cordova-plugin-compat --force cordova plugin add cordova-plugin-compat
Debe actualizar cordova-plugin-camera a la versión 1.1
También estaba recibiendo error de la cámara plugin 2.3.1. Es debido a la dependencia en el cordova-plugin-compat para obtener el id de la aplicación. Quitar cordova-plugin-compat e instalar 1.1.0, no funcionó para mí.
Para corregir esto quitar este código de "src / android / CameraLauncher.java":
140 - this.applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID"); 141 - this.applicationId = preferences.getString("applicationId", this.applicationId);
y añada:
140 + this.applicationId = cordova.getActivity().getPackageName();
Tengo el mismo error. Esto es realmente causado por una versión antigua del complemento cordova-plugin-compat (1.0), actualizando a la versión 1.1 (la última), que funcionará.
Esto es lo que hice,
-
Eliminar todas las plataformas
Plataforma cordova eliminar android
Plataforma cordova eliminar ios
-
Eliminar el complemento antiguo y agregar nuevo
Cordova plugin quitar cordova-plugin-compat
Cordova plugin añadir cordova-plugin-compat
-
Añadir todas las plataformas de nuevo
Plataforma cordova añadir android
Plataforma cordova añadir ios
-
Re-compilar y todo funciona!
He hecho cambios en el método a continuación.
// intiatiate you action accordingly if (action.equals("takePicture")) { this.srcType = CAMERA; this.destType = FILE_URI; this.saveToPhotoAlbum = false; this.targetHeight = 0; this.targetWidth = 0; this.encodingType = JPEG; this.mediaType = PICTURE; this.mQuality = 50; // this.destType = args.getInt(1); this.srcType = args.getInt(2); this.mQuality = args.getInt(0); this.targetWidth = args.getInt(3); this.targetHeight = args.getInt(4); this.encodingType = args.getInt(5); this.mediaType = args.getInt(6); this.allowEdit = args.getBoolean(7); this.correctOrientation = args.getBoolean(8); this.saveToPhotoAlbum = args.getBoolean(9); // If the user specifies a 0 or smaller width/height // make it -1 so later comparisons succeed if (this.targetWidth < 1) { this.targetWidth = -1; } if (this.targetHeight < 1) { this.targetHeight = -1; } if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100 && !this.correctOrientation && this.encodingType == PNG && this.srcType == CAMERA) { this.encodingType = JPEG; } try { if (this.srcType == CAMERA) { this.callTakePicture(destType, encodingType); } else if ((this.srcType == PHOTOLIBRARY) || (this.srcType == SAVEDPHOTOALBUM)) { // FIXME: Stop always requesting the permission if(!PermissionHelper.hasPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)) { PermissionHelper.requestPermission(this, SAVE_TO_ALBUM_SEC, Manifest.permission.READ_EXTERNAL_STORAGE); } else { this.getImage(this.srcType, destType, encodingType); } } } catch (IllegalArgumentException e) { callbackContext.error("Illegal Argument Exception"); PluginResult r = new PluginResult(PluginResult.Status.ERROR); callbackContext.sendPluginResult(r); return true; } PluginResult r = new PluginResult(PluginResult.Status.NO_RESULT); r.setKeepCallback(true); callbackContext.sendPluginResult(r); return true; } return false; }
- Mostrar la intención de la cámara sólo en Webview en android – no puede obtener sólo Camera Intent – android 5+ y 6+
- LibGDX: Escala de partículas