Как связать локальную зависимость JAR в плагине NativeScript

Я строю плагин NativeScript и добавляю некоторые функциональные возможности из JAVA библиотека. В большинстве случаев я видел, как пользователи определяют зависимость с compile 'org.namespace:library:x.y.z' в src/platforms/android/include.gradle но в моем случае библиотека недоступна в любых репозиториях JAVA и является автономной .jar файл.

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

Шаги, которые я пробовал:

1) platforms/android/include.gradle

repositories {
  flatDir {
    dirs 'libs'
  }
}

dependencies {
  compile name: 'SimpleNetworking'
}

2) platforms/android/include.gradle

dependencies {
  compile files('libs/SimpleNetworking.jar')
}

Обе попытки закончились неудачей при тестировании этого в приложении NativeScript, требующем этот плагин в качестве зависимости:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration 
':app:debugCompileClasspath'.
 > Could not find :SimpleNetworking:.
   Required by:
     project :app

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


Обновить

После прочтения документа Android Studio Doc о зависимостях сборки и изменении include.gradle файл, чтобы быть похожим на:

dependencies {
  implementation files('libs/SimpleNetworking.jar')
}

Кажется, нашел файл! То, что кажется сломанным сейчас, это нечто другое:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Failed to transform file 'SimpleNetworking.jar' to match attributes {artifactType=processed-jar} using transform IdentityTransform
> Transform output file /Users/USERNAME/git/ons-testapp/platforms/android/app/libs/SimpleNetworking.jar does not exist.

Я не уверен, является ли это связанной ошибкой или чем-то новым.

1 ответ

Решение

Вам просто нужно поместить файлы JAR / AAR в платформы / Android, ваш плагин автоматически подберет их во время компиляции.

Другие вопросы по тегам