Intereting Posts

Разработка плагина Cordova – добавление aar

Я новичок в материалах разработки плагинов cordova. Я хочу написать плагин, который может открыть новую активность для Android и показать рекламу.

Поэтому я пошел по простому учебнику. Это работает очень хорошо и, как ожидалось.

Следующий шаг – включить этот проект Android Studio Gradle в мой плагин.

Моя первая попытка: добавление проекта gradle в подпапку моего плагина cordova и добавление следующей строки в файл plugin.xml:

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

Также я попробовал:

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

Файлы graddle распознаются кордовой. Но что-то не работает. Поэтому я не могу импортировать классы этого проекта студии Android в мои java-файлы плагина.

Тогда лучшим решением (я так думал) является добавление AAR. Но там я даже не знаю, что делать, чтобы добавить этот AAR в мой плагин cordova.

Итак, вопрос в том, как: Как добавить андроид (или библиотеку) Android в мой плагин cordova правильно?

Solutions Collecting From Web of "Разработка плагина Cordova – добавление aar"

Вот что я сделал, чтобы использовать ссылку на град с плагином Кордовы, я думаю, это может вам помочь.

Глобальная структура:

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

Поместите свою библиотеку, скажем foo.aar , в каталог yourDirContainingYourAAR (при необходимости создайте его)

  • В файле 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> 
  • В файле yourFile.gradle :

     repositories{ jcenter() flatDir { dirs 'libs' } } dependencies { compile(name:'foo', ext:'aar') } android { packagingOptions { exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' } } 
  • В корневой папке вашего плагина (на том же уровне, что и plugin.xml ) создайте build-extras.gradle . При необходимости добавьте или удалите minSdkVersion и targetSdkVersion соответствии с вашими проектами:

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

После создания проекта cordova добавление платформы, добавление плагина.

Допустим, файл aar скопирован в папку libs. (Предположим, что имя файла – card.aar)

Затем в приложении build.gradle укажите следующий и щелкните проект синхронизации с файлами Gradle.

Репозитории {flatDir {dirs 'libs}}

Зависимостей {compile (name: 'cards', ext: 'aar')}

Меня устраивает!! Но одним из недостатков этого решения является … вам нужно открыть проект из папки платформы на Android Studio и добавить вышеперечисленные строки в ваш build.gradle