Butterknife框架导致Android 项目中有隐藏代码文件。
前两天接手了一个项目。结果项目出现红叉。整观项目却没有任何错误。
通过Ctrl + Shift + G 查看调用的时候。指向了一个隐藏代码文件。但是在工程包结构下却没有该类。
原来Android工程项目中还存在隐藏代码文件之说。
分析其原因:是上个哥们使用了Butterknife框架。进行了视图注入。
隐藏文件在工程项目的根目录下的.apt_generated内。在ADT中无法直接看到。
如果隐藏文件中代码出现错误。就出现了:通过ADT查看代码,工程项目没有错误。而工程上却有一个红叉。
Butterknife官网:http://jakewharton.github.io/butterknife/
来一段官方代码,看看注入方式:
class ExampleActivity extends Activity { @Bind(R.id.title) TextView title; @Bind(R.id.subtitle) TextView subtitle; @Bind(R.id.footer) TextView footer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.bind(this); // TODO Use fields... } }