Android 黄油刀-安卓lib上注射

Android 黄油刀-安卓lib上注射,android,android-studio,gradle,android-gradle-plugin,butterknife,Android,Android Studio,Gradle,Android Gradle Plugin,Butterknife,我和Gradle一起在安卓工作室工作 我的问题是 当我在Android库中使用黄油刀时,我得到以下错误: tutuFragment.java:31: error: attribute value must be constant @InjectView(R.id.noContactTV) 是否有人遇到过同样的问题,如果是,有解决方案吗?如果您的片段在Android库项目中,请阅读以下内容: Butterknife目前不支持库项目,有关更多信息,请参阅。根据 图书馆项目 要在库中使用黄油

我和Gradle一起在安卓工作室工作

我的问题是

当我在Android库中使用黄油刀时,我得到以下错误:

tutuFragment.java:31: error: attribute value must be constant
    @InjectView(R.id.noContactTV)

是否有人遇到过同样的问题,如果是,有解决方案吗?

如果您的片段在Android库项目中,请阅读以下内容:


Butterknife目前不支持库项目,有关更多信息,请参阅。

根据

图书馆项目 要在库中使用黄油刀,请将插件添加到构建脚本:

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
  }
}
然后将其应用到您的模块中:

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
现在确保在所有黄油刀中使用R2而不是R 注释

class ExampleActivity extends Activity {
  @BindView(R2.id.user) EditText username;
  @BindView(R2.id.pass) EditText password;
...
}
因此,现在可以在Android libs中使用
Butterknife
注入


希望这将有助于

github官方页面提供解决方案:

但是当我遵循配置库项目的步骤时,我遇到了一些问题, 例如NullPointerException,单击视图时未调用@onClick注释标记的函数,等等


然后我改变了一些东西,终于成功了。请参阅以下内容:

我也遇到过同样的问题。每当我写的时候,我都会遇到这个错误

@BindView(R.id.pager) ViewPager pager;
或视图的任何其他类似语法

出现此错误的原因是,导入到我的java文件中的R文件来自不同的包

现在的问题是为什么导入的R文件来自不同的包

这是因为我将我的项目作为一个库使用到另一个项目中。在制作库时,我给了一个不同的包名