1. 程式人生 > >【日常踩坑】ButterKnife:Attribute value must be constant

【日常踩坑】ButterKnife:Attribute value must be constant

Attribute value must be constant

在搜尋Attribute value must be constant後得到這樣的說明:

Injection does not work in library projects

意為:在AndroidStudio的library的module中無法使用ButterKnife。

——–2017年8月23日更新——–

lyankj提醒,ButterKnife在8.1.0後期及之後版本中已經對【在library的module中使用butterknife】提供了支援:

butterknife

通過gradle外掛的形式可以使得butterknife在library的module中使用。

所以在library的module中使用butterknife的操作步驟如下:

  • 1 在project的build.gradle中的buildscript節點的repositories節點下新增mavenCentral();在buildscript節點的dependencies節點下新增classpath 'com.jakewharton:butterknife-gradle-plugin:x.x.x'(使用對應的版本號)
  • 2 在library的module的build.gradle的檔案開頭新增apply plugin: 'com.jakewharton.butterknife';在dependcies節點下新增


compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

親測後發現,哪怕在butterknife8.1.0後期及其之後的版本中不新增此外掛,仍然會報這個錯。這時候你就應該好好檢查一下是否依賴了該gradle外掛。為確保新增依賴無誤,還是遵循butterkinfe的官方文件為好。