Cordova plugin desarrollo – agregando aar

Soy nuevo al material del desarrollo del plugin del cordova. Quiero escribir un plugin que es capaz de abrir una nueva android activty y mostrar algunos anuncios.

Así que seguí un sencillo tutorial aquí . Eso funciona muy bien y como se esperaba.

El siguiente paso es incluir este proyecto Android Studio Gradle en mi plugin.

Mi primer intento: Añadir el proyecto gradle a una subcarpeta de mi cordova plugin y añadir la siguiente línea al archivo plugin.xml:

<framework src="libs/Broper/build.gradle" custom="true" type="gradleReference" /> 

También lo intenté:

 <framework src="libs/Broper/app/build.gradle" custom="true" type="gradleReference" /> 

Los archivos graddle son reconocidos por cordova. Pero algo no funciona. Así que no puedo importar las clases de ese proyecto de estudio de Android a mi plugin de archivos java.

Entonces una solución mejor (pensé así) es agregar un AAR en su lugar. Pero ahí no tengo ni idea de qué hacer para añadir que AAR en mi cordova plugin.

Por lo tanto, la pregunta es: ¿Cómo puedo añadir un androide aroject atudio (o biblioteca) a mi cordova plugin de la manera correcta?

Esto es lo que he hecho para usar una referencia gradle con un complemento Cordova, creo que esto podría ayudarle.

Estructura global:

 pluginFolder/ build-extras.gradle plugin.xml yourDirContainingYourAAR/ src/ android/ yourFile.gradle myPlugin.java 

Pon tu biblioteca, diga foo.aar , en el directorio yourDirContainingYourAAR (crea si es necesario)

  • En el archivo plugin.xml :

     <platform name="android"> <!-- your configuration elements, references, source files, etc... --> <framework src="src/android/yourFile.gradle" custom="true" type="gradleReference" /> <resource-file src="yourDirContainingYourAAR/foo.aar" target="libs/foo.aar" /> </platform> 
  • En el archivo yourFile.gradle :

     repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aar') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } 
  • En la carpeta raíz de tu plugin (el mismo nivel que plugin.xml ) crea un build-extras.gradle . Si es necesario, agregue o elimine minSdkVersion y targetSdkVersion según las necesidades de su proyecto:

     android { defaultConfig { minSdkVersion 16 targetSdkVersion 22 } packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } 

Después de la creación del proyecto cordova, la adición de la plataforma, la adición de complemento se hace.

Digamos que el archivo aar se copia en la carpeta libs. (Suponga que el nombre del archivo es cards.aar)

Entonces en app build.gradle especifique el siguiente y haga clic en proyecto de sincronización con archivos Gradle.

Repositorios {flatDir {dirs 'libs'}}

Dependencias {compilar (nombre: 'tarjetas', ext: 'aar')}

¡¡Esto funciona para mi!! Pero un inconveniente de esta solución es .. que necesita para abrir el proyecto desde la carpeta de plataforma en Android Studio y agregar las líneas anteriores a su build.gradle

  • Agregue un atributo en la etiqueta "application" en el AndroidManifest desde un complemento cordova
  • ¿Cómo crear un plugin en el teléfono para ejecutar la aplicación en segundo plano?
  • Android DDMS ya está instalado para que se realice una actualización en su lugar
  • ¿Cómo actualizar plugins en android studio?
  • ¿Hay alguna forma de desactivar javadoc se bloquea en Android Studio con Maven plugin?
  • Emulador de Android en Jenkins error: dispositivo desconectado
  • Custom cordova plugin de creación para el proyecto ionic2
  • Phonegap Android: Error de cromo desconocido: -6
  • Plugin no es compatible con la versión cordova-android de este proyecto. Cordova-android: 4.1.1, requisito de versión fallido:> = 5.0.0-dev
  • Error al ejecutar la muestra de la cámara de teléfono
  • Error al compilar el proyecto de Android después de actualizar FindBugs a 3.0.1
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.