将gradle更新到版本5.1.1会导致“未解决的引用:”问题

时间:2019-04-18 11:49:44

标签: java android android-studio gradle ros

我将Gradle插件版本从3.3.2更新到了3.4.0,并将Gradle插件更新了版本5.1.1。我肯定知道这会导致导入库时未知。它给出错误unresolved reference

enter image description here

清理项目,重建,使缓存无效/重新启动以及丢弃.idea文件都不能解决此问题。对我唯一有效的方法是将Gradle版本恢复回3.3.2。但这不是我想要的。

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

对此我该怎么办?非常感谢:非常欢迎您提供所有帮助!

1 个答案:

答案 0 :(得分:0)

Gradle github issue page上描述了该解决方案,在此我也描述了我的问题。描述的是ROS发布了错误的metadata

”这表示在运行应用程序时只需要包含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'