代码之家  ›  专栏  ›  技术社区  ›  dan674

为React native创建本机Android模块时出现“依赖性错误”

  •  1
  • dan674  · 技术社区  · 8 年前

    我正在尝试为Kin Android SDK构建一个react本机模块( https://kinecosystem.github.io/kin-ecosystem-sdk-docs/docs/android-guide.html#integrating-with-the-kin-sdk

    我在努力安排依赖关系。在传统的Android(和RN)项目中,有一个project build.gradle和一个app build.gradle——当创建一个模块时,只有一个可用,以及将要使用该模块的项目所具有的两个可用。

    我被要求在项目模块的build.gradle中放置这一行:

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

    应用程序模块build.gradle中的这一行:

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

    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
    
    2 回复  |  直到 8 年前
        1
  •  1
  •   yosriz    8 年前

    React Native创建的默认项目使用旧版本的Android工具链(构建工具23、Android gradle plugin 2.2.3和gradle 2),以便编译 kin-devplatform-android ,需要更新的工具链版本,因为此SDK依赖于一些更新的android支持库。

    我上传了一个成功编译 kin开发平台android
    https://github.com/kincommunity/rn-kindevplaform-sample

    在此示例回购中:
    gradle包装更新为 4.1 ,android gradle工具更新为 3.0.0 ,添加了google maven存储库 here 和 here ,编译sdk版本 26 together with build tools 26 ,和 sdk是 included

        2
  •  0
  •   Yossi Segev    8 年前

    版本0.0.12有点“问题”,使用JitPack编译时有问题(这是一个JitPack bug)。 com.github.kinecosystem:kin-devplatform-android:0.8.1

    推荐文章