如何使用Eclipse和Mercurial正确克隆Android项目

时间:2011-02-22 00:36:06

标签: android eclipse mercurial

我正在尝试使用Eclipse,Android SDK和Mercurial插件克隆Android项目。我可以通过这样做成功克隆它:文件 - >新 - >项目 - >克隆现有的Mercurial存储库

但问题始于Eclipse似乎并未认识到它是Android项目。然后我可以右键单击该项目并:Android Tools - >转换为Android项目但我无法选择任何构建首选项,并且源文件夹图标不会被识别为包。我尝试添加一个新包,但Eclipse说该文件夹不是Java源文件夹。

我觉得存储库有问题,我克隆它的方式,或者Eclipse / Mercurial / Android SDK不能很好地协同工作。

显然,我是一个完整的新手,我们非常感谢任何帮助/耐心。有用的教程的链接是受欢迎的,因为我发现没有一个处理这个特定的工具集。

6 个答案:

答案 0 :(得分:6)

在Eclipse中克隆Android项目

    假设您在“D:\ workspace”中有一个WorkSpace,并希望克隆名为“B”的现有Android项目。
  1. Windows:转到WorkSpace
  2. Windows:制作名为“B”的完整项目目录的副本(Windows制作“B - 副本”)
  3. Windows:将复制的目录“B - copy”重命名为克隆名称,在这种情况下:“B_00”
  4. Windows:进入目录“B_00”并编辑文件“。project”
         使用“< name> B< / name>”更改该行进入“< name> B_00< / name>”
     Windows:保存文件
  5. 启动Eclipse并在WorkSpace中打开它。 “B_00”不可见。
  6. Eclipse:菜单文件 - >进口
         Eclipse导入对话框选择:选择常规 - >现有项目进入工作区
         Eclipse导入对话框选择:按钮“下一步”
         Eclipse Import对话框Import Projects:选择“select root directory”,然后选择“Browse ...”到“B_00”
         Eclipse Import对话框Import Projects:按钮Finish
  7. Eclipse:package explorer:选择“B_00”
         Eclipse:菜单项目 - >清洁...
  8. 完成。

答案 1 :(得分:6)

这就是我的所作所为:

  1. 使用命令行将存储库克隆到Eclipse工作区文件夹层次结构之外的单独文件夹中。

    hg clone https://existing/repository/path

  2. 在Eclipse中,使用“从现有源创建项目”选项创建一个新的Android项目,选择克隆的文件夹。

  3. Select "Create project from existing source"

    新项目现在都是具有Mercurial团队选项的Android项目。

答案 2 :(得分:3)

我偶然发现了一个解决方案,并认为这些都是所需的所有步骤。

首先,我通过克隆现有的mercurial项目创建了一个新项目,然后点击了属性 - > Android工具 - >转换为Android项目

添加了PROJECT_DIR / .classpath文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="src" path="gen"/>
        <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
        <classpathentry kind="output" path="bin"/>
</classpath>

将buildCommand / javabuilder和natures / javanature行添加到PROJECT_DIR / .project:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>SuperBetterThanEverythingElseApp</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>com.android.ide.eclipse.adt.ApkBuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
</projectDescription>

然后我在Eclipse中关闭了项目,重新打开它,添加了一个缺少的外部jar,做了一个Project - &gt;干净,有效。

答案 3 :(得分:0)

我刚刚为一个功能分支做了这个。我所做的就是在Eclipse工作区的另一个目录中创建现有项目的克隆,然后在Eclipse中打开克隆的项目。

我没有使用MercurialEclipse插件来创建克隆,我使用了TortoiseHg Workbench中的 File-&gt; Clone Repository 菜单项。然后,我从Eclipse调用了来自Local Mercurial Repository的 File-&gt; Import-&gt; Projects项目菜单项,将新项目添加到工作区。您还应该能够通过调用hg.exe从命令行创建克隆( hg help clone 将为您提供要使用的命令行选项)。

您没有提到您正在使用的软件版本。我在Windows 7上使用TortoiseHG 2.0.2,Eclipse Helios Service Release 2和MercurialEclipse 1.8.0。

答案 4 :(得分:0)

从未使用过这个插件,但是对于我的所有项目(也是非android),我一直在外部和统一使用mercurial。为什么不尝试外部设置存储库。 http://redline6561.livejournal.com/362393.html

答案 5 :(得分:0)

在按照最流行的答案时,我没有看到转换为Android项目的选项,所以这就是我做的事情:

  1. 使用“Mercurial Repositories”视图克隆远程存储库,而不创建项目。
  2. 使用您已检出的现有来源制作新的Android项目。
  3. 如果您仍然没有看到合适的团队选项,请通过右键单击项目本身并选择“团队”&gt;使Eclipse知道该项目与存储库相关联。 “分享”,然后是“Mercurial”。应该出现存储库的本地克隆,只需选择该存储并保存更改。我只需要这样做一次,大多数时候前两步都足够了。
  4. 我最终得到了一个有效的Android项目,现在可以使用普通的“团队”菜单命令与存储库进行交互。