首页 > 解决方案 > 将 gradle 更新到 5.1.1 版会导致“未解决的参考:”问题

问题描述

我将 Gradle 插件版本从3.3.2to3.4.0和 Gradle 更新到 version 5.1.1。我确定这会在我导入库时导致库未知。它给出了错误unresolved reference

在此处输入图像描述

清理项目、重建、使缓存无效/重新启动和丢弃 .idea 文件都不能解决这个问题。唯一对我有用的是将 Gradle 版本恢复到3.3.2. 但这不是我想要的。

我遇到的问题与 ROS 库有关;ROS Java 引导message_generation是具体的。该库与库具有相同的相对路径rosjava;即org.ros.*. 我不确定这是否与问题有关。

我能做些什么呢?非常感谢:非常欢迎所有帮助!

标签: javaandroidandroid-studiogradleros

解决方案


Gradle github问题页面上描述了解决方案,我也描述了我的问题。所描述的是 ROS 发布了错误的元数据

“这表示在运行应用程序时只需要包含 org.ros.internal.message.Message 的 jar,而不是在编译它时,这似乎并非如此。要解决此问题,您将需要添加 ROS 不包含的额外依赖项进行编译。”

我像描述的那样修复了它;我添加了更新后找不到的库对应的依赖项。这对我有用:

implementation 'org.ros.rosjava_messages:sensor_msgs:1.12.5'
implementation 'org.ros.rosjava_bootstrap:message_generation:0.3.3'
implementation 'org.ros.rosjava_messages:std_msgs:0.5.11'
implementation 'org.ros.rosjava_messages:geometry_msgs:1.12.7'

推荐阅读