ylcx123
V2EX  ›  Android

AndroidStudio,多个模块, libs 都有某个 jar 包。A 模块中代码却引用了 B 模块的 jar。有办法解决吗?

  •  
  •   ylcx123 · Aug 27, 2016 · 14617 views
    This topic created in 3557 days ago, the information mentioned may be changed or developed.
    AndroidStudio ,有多个 module(命名为 A,B,C,D), A,B,C 三个 module 的 libs 都有某个 jar 包(命名为 X.jar)。
    目前的问题是:
    1. A module 代码中调用了 X.jar 中方法。我用 Ctrl+左键点这个方法,打开的却是 B module 的 libs 里的 X.jar 文件。如何让 A 代码引用到自己 Libs 里的 jar 文件,即打开的是 A module 的 Libs 里的 X.jar 。
    2. 最近出现了更奇怪的情况。 A module 中 R.layout.xxxxx ,我用 Ctrl+左键点这个布局 id ,打开的却是 C module 的 res 里的布局文件。
    4 replies    2016-09-13 11:39:05 +08:00
    Lonely
        1
    Lonely  
       Aug 27, 2016 via Android
    abc 的依赖关系呢?
    ylcx123
        2
    ylcx123  
    OP
       Aug 27, 2016
    @Lonely 实际 D 是插件化代码, D 打出 X.jar 。 A 是业务代码, B 是中转代码(D 经过 B 拉起 A), C 是 sample 。

    最终运行情况是: C 集成 X.jar ,反射拉起 B , B 反射拉起 A 。
    同时 A,B 中 libs 添加 X.jar 包,使因为其会调用 C(也就是 X.jar)中某些方法。
    shily
        3
    shily  
       Sep 13, 2016
    C->X (->A->B )
    A 和 B 引入 X 的时候,使用 provided, 不要使用 compiled
    ylcx123
        4
    ylcx123  
    OP
       Sep 13, 2016
    @shily 3Q, 我之前跟另一个人请教,也是让用 provided ,不要用 compiled 。

    现在还有个问题。 A 项目中, ctrl+鼠标左键 点击代码中使用的某个 xml 文件。 结果打开了 B 项目的此 xml 文件了。

    (ant 编译时,会把 A 项目的资源 copy 到 B 项目里,然后在 B 项目里编译资源,所以 B 项目和 A 项目拥有一样的资源)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   969 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 23:01 · PVG 07:01 · LAX 16:01 · JFK 19:01
    ♥ Do have faith in what you're doing.