【问题标题】:Transitive dependencies breaks "Go to declaration" in Android Studio传递依赖破坏了 Android Studio 中的“转到声明”
【发布时间】:2016-10-17 14:04:01
【问题描述】:

我有一个带有第三方模块的 Android React Native 项目。

Android Studio 无法跳转到正确的依赖:

  • com.facebook.react.LifecycleState 指向 react-native-0.19.0
  • com.facebook.react.ReactInstanceManager 指向 react-native-0.35.0

由于我的应用依赖于 0.35.0,我预计在 com.facebook.react.LifecycleState 导入时会引发错误(因为类定义已在 0.19 和 0.35 之间移动)

我的应用还依赖于一个依赖于 0.19.0 的模块,由于我还不明白的原因,Android Studio 拉下导入并允许我跳转到 0.19.0 的源代码

这是一个糟糕的回退,甚至与 Gradle ./gradlew -q dependencies 不一致

这种行为使错误很难发现和修复。我该怎么办?

【问题讨论】:

    标签: android-studio gradle react-native


    【解决方案1】:

    尝试导入com.facebook.react.common.LifecycleState

    【讨论】:

    • 谢谢,但这不是我的意思:我想修复 Android Studio 的行为
    • 你怎么能指望它正常工作,因为你导入的东西甚至不在 0.35 中? Android Studio 在其他地方找到了它——你正在导入过时的软件,所以它来自旧的 RN 模块。我不认为这是一个错误。
    • Android Studio 不应该知道 0.19.0 的存在。 0.35.0 和 0.19.0 共享的导入呢? Android Studio 抛硬币就能找到源代码?
    猜你喜欢
    • 2015-01-25
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 2023-02-10
    • 1970-01-01
    • 2018-04-23
    • 2018-02-21
    相关资源
    最近更新 更多