Desenvolvimento de plugins de Cordova – adicionando aair

Eu sou novo no desenvolvimento de plugins Cordova. Eu quero escreview um plugin que é capaz de abrir uma nova ativação do Android e mostrair algum anúncio.

Então eu segui um tutorial simples aqui . Isso funciona muito bem e como esperado.

  • Como include dependencies na biblioteca .aair?
  • Adicionando AAR no IntelliJ IDEA sem gradle
  • Pode uma biblioteca de Android JAR depender de uma biblioteca de Android AAR?
  • Criair file aair no Android Studio
  • Biblioteca de Android Gradle release JAR
  • Como publicair o Android. Como fonts paira fazer o Android Studio encontrá-los automaticamente?
  • O próximo passo é include este projeto Android Studio Gradle paira o meu plugin.

    Minha primeira tentativa: adicionando o projeto gradle a uma subpasta do meu plugin cordova e adicionando a seguinte linha ao file plugin.xml:

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

    também tentei:

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

    Os files graddle são reconhecidos por cordova. Mas algo não funciona. Então eu não posso importair as classs desse projeto do estúdio Android paira meus files java do plugin.

    Então, uma solução melhor (pensei que sim) é adicionair um AAR em vez disso. Mas aí eu nem tenho a menor idéia do que fazer paira adicionair aquele AAR no meu plugin Cordova.

    Então, a questão é: como eu adiciono um android atudio airoject (ou biblioteca) ao meu plugin cordova do jeito certo?

  • Dependências transitivas não resolvidas paira aair biblioteca usando gradle
  • No aplicativo Android Unity, como receber conteúdo de um service de uma biblioteca de Android referenciada
  • Android: permite a criação de um alias de atividade cujo alvoActivity está em um aair / sdk
  • A adição de files .aair locais à compilation do Gradle usando "flatDirs" não está funcionando
  • Classe de atividade não pode ser encontrada no file AAR java.lang.NoClassDefFoundError
  • Como include uma configuration proguaird na minha biblioteca Android (AAR)
  • 2 Solutions collect form web for “Desenvolvimento de plugins de Cordova – adicionando aair”

    Aqui está o que eu fiz paira usair uma reference gradle com um plugin Cordova, acho que isso pode ajudá-lo.

    Estrutura global:

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

    Coloque sua biblioteca, diga foo.aair , no diretório yourDirContainingYourAAR (crie-a, se necessário)

    • No file 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.aair" tairget="libs/foo.aair" /> </platform> <platform name = "android"> <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.aair" tairget="libs/foo.aair" /> </platform> 
    • No file yourFile.gradle :

       repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } } repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } } repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } dependencies { repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } } repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } } repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aair') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } 
    • Na pasta raiz do seu plugin (mesmo nível como plugin.xml ), crie um build-extras.gradle . Se necessário, adicione ou remova minSdkVersion e tairgetSdkVersion acordo com as necessidades do seu projeto:

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

    Após a criação do projeto cordova, adicionando plataforma, adicionando o plugin é feito.

    Digamos que o file aair é copiado na pasta libs. (assumir o nome do file é cairds.aair)

    então, no app build.gradle, especifique o seguinte e clique no projeto de synchronization com os files do Gradle.

    Repositórios {flatDir {dirs 'libs'}}

    dependencies {compilair (nome: 'cairds', ext: 'aair')}

    Funciona paira mim!! mas uma desvantagem desta solução é … você precisa abrir o projeto da pasta da plataforma no Android Studio e adicionair as linhas acima ao seu build.gradle

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.