Android在库项目Eclipse中使用AndroidAnnotations

Android在库项目Eclipse中使用AndroidAnnotations,android,eclipse,annotations,library-project,android-annotations,Android,Eclipse,Annotations,Library Project,Android Annotations,我正在制作我的应用程序的付费/免费版本,因此有一个两个应用程序使用的“库项目” 我正在尝试使用Android注释来清理我的代码: 不幸的是,当我在共享库项目中使用它时,我的一个项目在Eclipse中出现了错误: 类型xActivity\已定义为xActivity\ java/ProjectName/.apt\u generated/lib/activities/ 因为Android注解会自动创建一个新活动,在文件夹中有一个额外的“u”。apt_u生成的一个应用程序被允许创建此文件,但另一个应用

我正在制作我的应用程序的付费/免费版本,因此有一个两个应用程序使用的“库项目”

我正在尝试使用Android注释来清理我的代码:

不幸的是,当我在共享库项目中使用它时,我的一个项目在Eclipse中出现了错误: 类型xActivity\已定义为xActivity\ java/ProjectName/.apt\u generated/lib/activities/

因为Android注解会自动创建一个新活动,在文件夹中有一个额外的“u”。apt_u生成的一个应用程序被允许创建此文件,但另一个应用程序会收到错误“已定义”


Eclipse中有没有解决这个问题的方法?还是Android注释有问题?

我只知道AndroidAnnotations(这似乎是一个很棒的工具!),但我认为如果你使用不同的项目(共享同一个库)来实现这一点,你的问题应该得到解决。

这似乎是AndroidAnnotations的一个缺陷,应该在专门的网站上报告

AndroidAnnotations的设计并没有考虑到这个用例,但这仍然是一个非常有效的用例。问题似乎是,活动是在共享库项目中生成的,而它应该在每个依赖项目中生成,对吗


(请在bug跟踪器中回答)

这个问题很老了,但我想我应该提到android注释现在支持在库中使用:

一个警告是,由于android库项目生成R类的方式,您不能直接在注释中引用资源。例如,你不能这样做:

@EActivity(R.layout.myLayout)
public class MyActivity extends Activity {

 @Click(R.id.myButton1, R.id.myButton2})
 public void someButtonClicked() {
 }
}
@EActivity(resName="myLayout")
public class MyActivity extends Activity {

  @Click(resName={"myButton1", "myButton2"})
     public void someButtonClicked() {
  }
}
相反,您必须这样做:

@EActivity(R.layout.myLayout)
public class MyActivity extends Activity {

 @Click(R.id.myButton1, R.id.myButton2})
 public void someButtonClicked() {
 }
}
@EActivity(resName="myLayout")
public class MyActivity extends Activity {

  @Click(resName={"myButton1", "myButton2"})
     public void someButtonClicked() {
  }
}

这正是我所拥有的。一个Android库项目ProjectLib,它有一个使用AndroidAnnotations的活动。但是我有两个项目使用这个库,其中一个能够成功地构建这个项目。但是另一个在Eclipse中有一个错误:类型xActivity\已经定义为xActivity\ java/ProjectName/.apt\u generated/lib/activities/我猜是因为它正在尝试生成已经存在的相同文件。现在,我在“注释处理”中看到,路径设置为“.apt_generated”,我应该为其中一个项目更改它吗?对不起,我再清楚不过了!我没有使用AndroidAnnotations,所以我不知道它是如何工作的,但我认为如果您转到eclipse并执行File->New->Project,它不应该尝试在同一文件夹中创建文件。否则,如果可能的话,在其中一个项目中更改该路径也可以解决问题。更改其中一个项目中的名称空间也可以解决此问题。不幸的是,由于两个项目都使用共享库,它们都试图在共享库中创建相同的文件。感谢您的输入,我将提交给bug tracker,但只是想检查它是否可以在eclipse中修复。是,活动应在依赖项目中生成,否则两个依赖项目都试图在同一位置生成相同的活动。