[英]"Dependency error" while creating native Android module for React Native
我正在嘗試為 Kin Android SDK ( https://kinecosystem.github.io/kin-ecosystem-sdk-docs/docs/android-guide.html#integrating-with-the-kin-軟件開發工具包)。
我正在努力解決如何安排依賴項。 在傳統的 Android(和 RN)項目中,有一個項目 build.gradle 和一個 app build.gradle - 創建模塊時只有一個可用,以及將要使用該模塊的項目所擁有的兩個。
我被要求將此行放在項目模塊的 build.gradle 中:
maven {
url 'https://jitpack.io'
}
以及 app 模塊的 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
React Native 創建的默認項目使用舊版本的 Android 工具鏈(構建工具 23,android gradle 插件 2.2.3,和 gradle 2),為了編譯kin-devplatform-android
,需要更新的工具鏈版本,因為這個 SDK 依賴在一些較新的 android 支持庫上。
我上傳了一個使用kin-devplatform-android
成功編譯的示例 React Native 項目:
https://github.com/kincommunity/rn-kindevplaform-sample
在此示例存儲庫中:
gradle這個包裝更新到4.1 ,安卓gradle這個工具更新到3.0.0 ,谷歌加入Maven倉庫在這里和這里,被撞編譯SDK版本與構建工具26一起,支持庫更新到26 ,和kin-devplatform-android
被SDK 包含。
0.0.12 版本有點“有問題”,並且在使用 JitPack 編譯時存在問題(這是一個 JitPack 錯誤)。 在較新的版本 0.8.1 中,這個問題應該得到解決: com.github.kinecosystem:kin-devplatform-android:0.8.1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.