«Ошибка зависимости» при создании собственного модуля Android для React Native

Я пытаюсь создать собственный модуль реакции для Kin Android SDK (https://kinecosystem.github.io/kin-ecosystem-sdk-docs/docs/android-guide.html#integrating-with-the-kin-sdk).

Я борюсь с тем, как расположить зависимости. В традиционных проектах Android (и RN) есть проект build.gradle и приложение build.gradle - при создании модуля доступен только один, наряду с двумя, которые есть у проекта, который будет использовать этот модуль.

Меня просят поместить эту строку в build.gradle модуля проекта:

maven {          
    url 'https://jitpack.io'      
}

и эта строка в build.gradle модуля приложения:

dependencies {      
    ...      
    implementation 'com.github.kinecosystem:kin-devplatform-android:0.0.12'  
}

Но любая комбинация помещения этих строк в файлы build.gradle (в модуле или самом приложении) приводит к ошибкам:

Execution failed for task ':react-native-kin:prepareReleaseDependencies'.
> Dependency Error

Любая помощь будет потрясающей - это может быть что-то очевидное для Java-разработчика. Я также прикрепил stacktrace ниже:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':react-native-kin:prepareReleaseDependencies'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: Dependency Error. See console for details.
        at com.android.build.gradle.internal.tasks.PrepareDependenciesTask.prepare(PrepareDependenciesTask.java:87)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 14 more

Можете ли вы поделиться всем выводом ошибок? Работает ли отладка сборки? Мне удалось построить отладку в моей среде на простом проекте, отвечающем за реакцию, также попробую выпустить.

yosriz 19.08.2018 22:25

какую версию инструментов сборки / целевую версию SDK / версию SDK для компиляции вы используете? ошибка, которую я получаю, кажется, зависит от этого, так что, возможно, нужна конкретная

dan674 20.08.2018 05:09

Я написал здесь отчет о том, как быстро воспроизвести ошибку (начиная с init-native init), вместе с ошибками: pastebin.com/yP2XJ6W0 (если бы вы могли поделиться базовым рабочим проектом, работающим с react-native, это было бы потрясающе)

dan674 20.08.2018 05:10

Да, я вижу по ошибке, что, вероятно, проблема в инструментах сборки, я постараюсь выполнить ваши шаги

yosriz 20.08.2018 06:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
471
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Версия 0.0.12 немного «проблемна» и имеет проблемы с компиляцией с использованием JitPack (это ошибка JitPack). В более новой версии 0.8.1 эта проблема должна быть решена: com.github.kinecosystem:kin-devplatform-android:0.8.1

Спасибо за ответ - я все еще получаю ту же проблему, даже с 0.8.1, просто добавляю импорт в обычный проект Android React Native.

dan674 18.08.2018 05:29

Поделитесь своими файлами проекта и приложения build.gradle

Yossi Segev 18.08.2018 06:21

Спасибо. android / build.gradle: pastebin.com/uGLYpWKK - android / app / build.gradle: pastebin.com/z59WSiaL (обратите внимание, что response-native-kin импортируется, но это пустой проект atm, поэтому не имеет никакого эффекта - ошибки возникают только из компиляции com.github .kinecosystem ... '. как только я смогу заставить это работать над проектом RN, я постараюсь перенести его в модуль RN.)

dan674 18.08.2018 16:11

Это предупреждение также появляется часто, хотя я не знаю, является ли оно значительным: «Модуль 'com.github.kinecosystem: kin-devplatform-android: 0.8.1' зависит от одной или нескольких библиотек Android, но является банкой»

dan674 18.08.2018 16:13

Сталкиваетесь ли вы с какими-либо проблемами при попытке добавить зависимость в обычный проект студии Android?

Yossi Segev 19.08.2018 14:28

Удачи в этом?

Eliezer Steinbock 19.08.2018 20:44

На самом деле я бы не знал, как приступить к созданию обычного проекта студии Android, поскольку я разработчик JS - я сыграю

dan674 20.08.2018 05:11
Ответ принят как подходящий

В проекте по умолчанию, созданном React Native, используются старые версии инструментальной цепочки Android (инструмент сборки 23, плагин Android Gradle 2.2.3 и gradle 2), для компиляции kin-devplatform-android необходима более новая версия инструментальной цепочки, поскольку этот SDK зависит от более новой версии Android. библиотеки поддержки.

Я загрузил образец проекта React Native, который успешно компилируется с kin-devplatform-android:
https://github.com/kincommunity/rn-kindevplaform-sample

В этом образце репо:
Оболочка gradle обновлена ​​до 4.1, инструменты android gradle обновлены до 3.0.0, в репозиторий google maven добавлены здесь и здесь, версия компиляции sdk перенесена на 26 вместе с инструментами сборки, библиотека поддержки обновлена ​​до 26, а kin-devplatform-android sdR был включены.

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