Android注释:在干净构建的不同包中无法解析类

时间:2014-01-08 08:13:04

标签: java android eclipse android-annotations

如果我正在进行干净的构建,当我使用的注释活动与我当前所处的活动不在同一个包中时,会出现编译错误。

让我举个例子:我有这个活动com.example.packageA.A

@EActivity
public class A extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        B_.intent(this).start();
    }
}

此活动com.example.packageB.B

@EActivity
public class B extends SherlockFragmentActivity {

}

当我进行干净的构建时,我将收到以下编译错误:B_无法解析 只要我在A中更改任何内容并保存它,错误就会消失。

如果两个活动都在同一个包中,则不会发生错误。所有类都在.apt_generated文件夹中生成。

不幸的是,我无法在新项目中重现该问题。所以它似乎与一些项目特定的设置有关。如果您需要更多详细信息,请与我们联系。

任何提示和提示都非常受欢迎,因为通过所有类,添加空间并保存它以摆脱eclipse启动后的所有错误非常烦人。

1 个答案:

答案 0 :(得分:4)

这是一个非常着名的使用Eclipse的AA问题。如项目FAQ page中所述,您可以通过以下任一方式解决此问题:

  • 导入整个包:import com.example.packageB.*;
  • 使用完全限定名称:com.example.packageB.B_.intent(this).start();
  • AB_放在同一个包中。