有没有办法让ADT项目目录布局更灵活?

时间:2009-12-24 19:35:19

标签: android sbt adt project-structure

asked this question on the android-developers group但没有得到任何回应,所以我想我会在这里尝试。

ADT eclipse插件似乎对如何构建Android项目有一个非常严格的想法 - 每http://developer.android.com/guide/developing/eclipse-adt.html,它需要在项目的根级别拥有AndroidManifest.xml文件,以及顶级resassetsgensrc个文件夹,依此类推。

我想知道是否可以通过它识别的布局使插件更灵活一些。特别是,我一直在为(基于scala的)simple-build-tool使用构建插件,它希望项目以类似Maven的方式布局,如下所示:

src/
  main/
    AndroidManifest.xml
    assets/
    res/
    scala/
    java/
  test/
    resources
       <files to include in test jar here>
    scala/
       <test Scala sources>
    java/
       <test Java sources>

(参见simple-build-tool docs)。

这是我习惯于基于maven的java开发的布局。但是,当我在ADT中加载类似的项目时,我收到很多关于缺少AndroidManifest.xml,缺少res目录等的投诉。这些东西都存在,它们不是ADT所期望的那样。

我不一定需要使用ADT来构建我的项目,但我想使用它(和Eclipse)进行编辑。任何人都可以告诉我是否可以在用于查找各种与Android相关的资源的目录中使其更灵活?

另外,有人能告诉我ADT插件是否是开源的?我似乎无法在任何地方找到其源代码的链接。

(作为一个注释,我也一直在试图以{AD}喜欢的方式与sbt争吵,这可能是可能的,但看起来非常繁琐。)

3 个答案:

答案 0 :(得分:1)

对于r3 0.94,这是where you can find the ADT source,找不到最新的

答案 1 :(得分:1)

我不相信你可以改变Android项目结构并让ADT理解它。即使使用基于Ant的命令行构建,这样做也会“非常繁琐” - 您必须自己制作各种Android Ant任务的副本,修改它们以适应(并希望底层构建工具允许)你想要什么,然后面对Android SDK更新,永远保持它们。

如果您认为main/是Android项目,那么您的结构实际上非常接近Android预期。如果您可以说服sbt允许src/而不是java/,那么sbt不会抱怨生成的bin/gen/

答案 2 :(得分:1)

据我所知,ADT需要这些文件夹名称,但有一种解决方法:您可以在Eclipse中创建“链接文件夹”。这些类似于Unix中的符号链接,但存储在Eclipse .project文件而不是文件系统中,因此它们仅对Eclipse可见。

您可以通过在Eclipse中右键单击项目的根目录,然后选择“创建新文件夹”来创建一个。单击“高级”,然后选择创建链接文件夹的选项。然后输入您希望链接到的位置。您可以在开头使用PROJECT_LOC指定项目目录,因此对于您的示例,您可以键入PROJECT_LOC / src / main / res作为要链接的文件夹,并使用自动生成的名称“res”作为创建的文件夹。 / p>