Ir al contenido principal

Destacado

Desarrollo web Bootcamp

  Introducción a la Programación La programación es el proceso de diseñar y escribir instrucciones que las computadoras entienden para realizar tareas específicas. Estas instrucciones se conocen como código , y permiten a los desarrolladores crear aplicaciones, sitios web, juegos y mucho más. Lenguajes de Programación Comunes en el Desarrollo Web En el desarrollo web, los lenguajes más utilizados incluyen: HTML : Define la estructura del contenido en una página web. CSS : Estiliza y da diseño a los elementos de HTML. JavaScript : Agrega interactividad y funcionalidades dinámicas a las páginas web.      PHP y Python : Son lenguajes de servidor para manejar la lógica y los datos. SQL : Sirve para gestionar bases de datos. Sintaxis Básica La sintaxis es un conjunto de reglas que determina cómo escribir código en un lenguaje específico. Es fundamental para que el programa funcione correctamente. Por ejemplo: javascript let mensaje = "¡Hola Mundo!" ; console . log (mens...

Error al compilar cordova-plugin-file-transfer cordova android@10.0.0


El dia de hoy me encontré al compilar con la versión de cordova para android@10.0.0

Así que antes que nada les muestro el error y la solución que encontré en el siguiente enlace


https://githubmemory.com/repo/apache/cordova-plugin-file-transfer/issues/306


Este el error al compilar la aplicación

 > Task :app:compileDebugJavaWithJavac FAILED

cordovaProjectFoler/platforms/android/app/src/main/java/org/apache/cordova/filetransfer/FileTransfer.java:48: error: cannot find symbol
import org.apache.cordova.Whitelist;
                         ^
  symbol:   class Whitelist
  location: package org.apache.cordova
cordovaProjectFoler/platforms/android/app/src/main/java/org/apache/cordova/filetransfer/FileTransfer.java:691: error: cannot find symbol
                Whitelist whitelist = (Whitelist)gwl.invoke(webView);
                ^
  symbol:   class Whitelist
  location: class org.apache.cordova.filetransfer.FileTransfer
cordovaProjectFoler/platforms/android/app/src/main/java/org/apache/cordova/filetransfer/FileTransfer.java:691: error: cannot find symbol
                Whitelist whitelist = (Whitelist)gwl.invoke(webView);
                                       ^
  symbol:   class Whitelist
  location: class org.apache.cordova.filetransfer.FileTransfer


Lo primero que realicé fue remover la app android con el comando
cordova platform rm android
despues agregre el plugin de cordova-plugin-file-transfer
me metí a los archivos y coloque lo siguiente
reemplacé la linea 

import org.apache.cordova.Whitelist; 

por la siguiente

 import org.apache.cordova.AllowList;


y el siguiente código

  Boolean shouldAllowRequest = null;
        if (isLocalTransfer) {
            shouldAllowRequest = true;
        }
        if (shouldAllowRequest == null) {
            try {
                Method gwl = webView.getClass().getMethod("getWhitelist");
                AllowList whitelist = (AllowList)gwl.invoke(webView);
                shouldAllowRequest = whitelist.isUrlAllowListed(source);
            } catch (NoSuchMethodException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
        }
por lo nuevo 
/* This code exists for compatibility between 3.x and 4.x versions of Cordova.
       * Previously the CordovaWebView class had a method, getWhitelist, which would
       * return a Whitelist object. Since the fixed whitelist is removed in Cordova 4.x,
       * the correct call now is to shouldAllowRequest from the plugin manager.
       */
      Boolean shouldAllowRequest = null;
      if (isLocalTransfer) {
          shouldAllowRequest = true;
      }
      if (shouldAllowRequest == null) {
          try {
              Method gwl = webView.getClass().getMethod("getWhitelist");
              AllowList whitelist = (AllowList)gwl.invoke(webView);
              shouldAllowRequest = whitelist.isUrlAllowListed(source);
          } catch (NoSuchMethodException e) {
          } catch (IllegalAccessException e) {
          } catch (InvocationTargetException e) {
          }
      }
después volví a compilar
con los comandos

cordova platform add android@10.0.0


cordova run android 


y me funcionó .

Espero les ayude 

Comentarios

Entradas populares