es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar una segunda aplicación de ejemplo a un proyecto de plugin de Flutter?

Al crear un proyecto de complemento en Flutter, una aplicación de ejemplo que utiliza el complemento se agrega en una subcarpeta del proyecto del complemento. ¿Qué se debe hacer para agregar un segundo “ejemplo” de aplicación a la carpeta del complemento?

Hasta ahora he hecho lo siguiente:
1. He copiado y renombrado la carpeta de ejemplo a (digamos) app2.
2. He ajustado los nombres de paquete en los archivos de manifiesto de Android de app2.
3. He renombrado carpeta_raíz_del_complemento/app2/nombre_del_complemento_ejemplo.iml a carpeta_raíz_del_complemento/app2/nombre_del_complemento_app2.iml (para reflejar el nombre de la segunda aplicación).
4. En el archivo .iml del proyecto del complemento (la carpeta raíz):
He copiado y ajustado la directiva de exclusión de carpeta para reflejar app2

>       <excludeFolder url="file://$MODULE_DIR$/app2/.dart_tool" />
>       <excludeFolder url="file://$MODULE_DIR$/app2/.pub" />
>       <excludeFolder url="file://$MODULE_DIR$/app2/build" />
  1. Ejecuta Flutter clean y Flutter pub get tanto en el directorio raíz de los complementos como en el directorio de app2.

El problema ahora es que app2 está causando más de 1,000 mensajes de error Target of URI doesn't exist: – desde paquetes (como provider y json_annotation) hasta clases en el proyecto raíz del complemento.
¿Tienes alguna idea de lo que está mal aquí o cómo solucionarlo?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en las dependencias del paquete en app2. Cuando copiaste la carpeta de ejemplo y la renombraste a app2, todavía contiene las dependencias originales que podrían entrar en conflicto con las dependencias del proyecto principal del complemento.

    Una solución podría ser eliminar las dependencias existentes en app2 y agregar solo las necesarias. Puedes hacer esto eliminando el archivo pubspec.yaml en app2 y creando uno nuevo con las dependencias requeridas. Asegúrate de que las dependencias sean compatibles con las versiones utilizadas en el proyecto principal del complemento.

    Otra solución podría ser usar un alias de paquete en app2 para resolver posibles conflictos. Puedes crear un alias para el paquete del complemento en app2/pubspec.yaml de la siguiente manera:

    dependencies:
      nombredepaquete: 
        path: ../
    

    Esto le indica a app2 que utilice el proyecto principal del complemento como una dependencia y evita cualquier conflicto con las dependencias existentes.

    Una vez que hayas realizado los cambios necesarios, asegúrate de ejecutar Flutter clean y Flutter pub get tanto en el proyecto principal del complemento como en el directorio app2 para reconstruir el proyecto y resolver cualquier dependencia.

Comments are closed.