无法解析库模块中的Kotlin Android Extension布局

时间:2018-05-04 16:12:09

标签: android gradle kotlin kotlin-android-extensions

我有buyerseller模块和common模块。 buyerseller模块中使用的布局很少放在common模块中。

common -> layout_toolbar.xml
buyer -> activity_sell.xml ->

<LinearLayout>
    <include layout="@layout/layout_toolbar" /> <!-- layout_toolbar.xml is from common module -->
</LinearLayout>

seller -> activity_buy.xml ->

<RelativeLayout>
    <include layout="@layout/layout_toolbar" /> <!-- layout_toolbar.xml is from common module -->
</RelativeLayout>

buyer -> BuyActivity.kt
toolbar.title = "Buy"

seller -> SellActivity.kt
toolbar.title = "Sell"

IDE中的一切正常,

  1. 我的布局预览通过在IDE的布局预览中解析包含标记和充气来正确显示。
  2. 我的kotlin文件也正确解析了工具栏参考,并没有显示任何问题。
  3. 但每当我尝试构建应用程序时,它都会给我编译错误:

    Unresolved reference: toolbar <-- Id of the toolbar inside layout_toolbar.xml
    

    如果IDE可以正确解析依赖关系,为什么不能构建gradle?我有什么问题吗?

    请注意,common模块在​​其他两个模块中添加为implementation。但我尝试了api,但也没有用。

1 个答案:

答案 0 :(得分:2)

这一开始似乎是个好问题。我在我当前的项目中重现了同样的问题。

  1. 我已经通过

    添加了库模块

    实施项目(&#39;:mylibrary&#39;)

  2. 在项目中添加了库模块。

  3. enter image description here

    1. 在库模块中创建了一个布局/视图,也称为通用模块。
    2. enter image description here

      1. 包含在主要布局中
      2. enter image description here

        1. 最后,我能够以编程方式更改它。

          导入kotlinx.android.synthetic.main.activity_home。* import kotlinx.android.synthetic.main.item_library。*

        2. enter image description here

          构建环境可能存在一些问题。注意:我使用的是最新的构建版本以及android和kotlin插件。

          请更新日志以进一步说明您的问题。