1

我正在尝试为 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 开发人员来说可能是显而易见的。我还附上了下面的堆栈跟踪:

* 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
4

2 回答 2

1

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

在这个示例 repo 中:
gradle wrapper 更新到4.1,android gradle tools 更新到3.0.0,google maven 存储库添加到这里这里,编译 sdk 版本和构建工具一起增加到 26,支持库更新到26,并且包含kin-devplatform-android了sdk 。

于 2018-08-20T14:11:08.303 回答
0

0.0.12 版有点“有问题”,并且在使用 JitPack 编译时存在问题(这是一个 JitPack 错误)。在较新的版本 0.8.1 中,应解决此问题:com.github.kinecosystem:kin-devplatform-android:0.8.1

于 2018-08-17T18:07:02.847 回答