如何在Eclipse中打开Android Studio项目?


77

新的Android Studio使用更好的工具可以更好地进行Android开发。我看到了一系列有关如何将eclipse项目转移到android studio的问题,但是其他方法又如何呢?

如果您在Android Studio中制作一个Android应用,可以将其带回Eclipse吗?如果是这样,怎么办?

特定的eclipse插件(例如Blackberry Android插件)将需要此功能。

谢谢。


7
“您可以将其带回Eclipse吗?” -我认为如果该项目正在使用新的基于Gradle的构建系统,那么今天是不可能的,因为Eclipse尚不支持(尽管最终会支持)。
CommonsWare,

1
导入项目,然后导入属性> Java构建路径>源选项卡...。使用add folde rbutton移除src的路径....在源代码中添加java文件夹的路径...然后照常构建您的项目
deniz

关于此线程是否有任何更新?
2015年

派对晚了一点,但是关于Blackberry插件,我相信有一个适用于Android Studio的插件。但是,我对BB命令行工具的运气更好,部分原因是我从未喜欢Eclipse集成,并且AS每次更新都会删除未知的插件。
ProjectJourneyman 2015年

Answers:


41

这是不可能的。我们打算在ADT中添加对基于Gradle的项目的支持,但目前尚无法实现。


我们可以期待很快吗?如果需要更长的时间。我现在可以使用android studio吗,稳定吗?
amalBit

3
我已经安装了Graclipse,并且能够编译和运行它。
AZ_

3
自五月以来有什么变化吗?在新版本系统达到1.0之前,它会在路线图上吗?
yincrash 2013年

4
我们目前尚无要宣布的预计到达时间。
Xavier Ducrohet 2014年

3
您不能直接导入它,但是要使其在Eclipse中工作并不困难。阅读我的答案。
Santacrab 2014年

69

您不能直接导入项目,但要实现它并不难:

  • 在Eclipse中创建一个新的Android空项目
  • 用Android Studio项目中的文件覆盖新的res /文件夹和AndroidManifest.xml文件
  • 从Eclipse src文件夹中复制Android Studio项目中java /文件夹的内容(它应包含您的包名称文件夹结构,例如com / example / app /,以及Java文件)
  • 如果是这种情况,链接所需的库

基本上,Android应用程序的基本元素是java文件,清单文件和资源。从那里您可以在自己喜欢的IDE中重新构建项目


1
我现在用basicgesturedetect的Google示例文件尝试了此操作,它对我有用。只需将文件从zip拖放到一个空的android项目中(这有点像管理员),但最终得到一个运行良好的android项目。
西蒙

1
正确的答案。基本思想是两个IDE的打包方式不同。但是资源和代码是通用的:用于功能的Java代码,用于布局的XML代码,用于依赖项的JAR和Android Manifest。
博格丹·亚历山大

3

将Android Studio项目导入Eclipse的分步过程...

  1. 使用向导在eclipse中启动新的Android项目,并从app / build.gradle填写以下详细信息

    ApplicationName和ProjectName:-您可以从/ im文件夹中的.iml文件中找到项目名称PackageName:MinSDK,TargetSDK和CompileSDK

  2. 在向导中单击“下一步”,并确保您已“取消选中”“创建活动”和“创建自定义图标”。单击完成。

  3. 在新创建的项目中打开AndroidManifest.xml文件。从app / src / main / AndroidManifest.xml复制“ application”,“ uses-permission”标签

  4. 源文件:将AndroidStudio / app / src / main / java中的所有内容替换为Eclipse // src文件夹。

  5. 资源文件:将AndroidStudio / app / src / main / res中的所有内容替换为Eclipse // res文件夹。

  6. 库文件:将所有库从AndroidStudio / app / libs复制到Eclipse // libs文件夹。

  7. 依赖库:使用Properties-> Android-> Library-> Add将AppCompact导入并添加为依赖库

  8. 解决任何要构建的错误。作为最后一步,再次清洁并构建。

  9. 您可能无法将其直接部署到手机上,但是可以在bin文件夹中找到生成的.apk文件。


2

更新:请参阅针对Eclipse和Android Studio的一个Android项目

当前,如果您在Android Studio中创建Android项目,则很难在Eclipse中打开它。(但是打开经典Android并build.gradle在Android Studio中添加它会更容易)

因此,您可以打开(作为常规项目),然后将一些模块转换为Eclipse项目,但仍然不能完全正常工作(但对于内部的快速浏览可能就足够了)

来自如何使用Gradle为Android项目生成Eclipse和Intellij项目文件

如Android团队在第57668期中所回答(@arcone提出)

项目成员#2 x ... @ android.com

eclipse插件与android插件不兼容。

您将无法使用Eclipse中的默认Gradle支持将Android gradle项目导入Eclipse。

为了使其在Eclipse中工作,我们必须更改Eclipse的Gradle插件,就像我们在IntelliJ中修改Gradle支持一样

也就是说,Android团队正在研究IntelliJ的gradle插件,而Eclipse的gradle插件也需要更新。

现在,Eclipse可以实现的是

这已过时,请参阅如何在Eclipse中导入Android Studio项目?

.1。将项目导入为普通项目

.project

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>OpenSpritz-Android</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    </buildSpec>
    <natures>
    </natures>
</projectDescription>

导入android-gradle-general-project

.2。放入2个Eclipse。将文件“点”到模块中,/OpenSpritz-Android/app/src/main并将其/OpenSpritz-Android/lib/src/main

蚀文件

.project

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>OpenSpritz-Android-app</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>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>com.android.ide.eclipse.adt.ApkBuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

.classpath

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

.3。作为现有的Android代码导入到工作区

结果

您可以以熟悉的方式浏览代码,但是即使那样,您也将无法使用Eclipse ADT运行。

.4。

现在,您可以使用gradleCLI或Nodeclipse / Enide Gradle for Eclipse市场)运行构建和任务

开始

https://github.com/Nodeclipse/nodeclipse-1/issues/148上讨论

无法在Eclipse中运行导入的Gradle Android项目中也得到了解答


0

导入项目,然后导入属性> Java构建路径>源选项卡...。删除路径到src...。使用添加折叠rbutton在源代码中添加Java文件夹的路径...然后照常构建项目

配置源代码所在的Java文件夹的路径


这不能解释如何处理res文件夹
Paul Verest 2014年

0

我认为,如果不进行大量手工操作,就不可能导入Eclipse的android studio项目。


0

我真的很想念Eclipse中的自动构建功能,但也讨厌Eclipse for Mac中的速度和错误。最好两全其美。Eclipse和Android Studio中的项目布局有很多不同,我想即使不是不可能更改默认布局也将非常困难。因此,我试图在Eclipse中创建一个空的Android项目。然后,我删除了物理文件夹和文件,并创建了链接资源以引用Android Studio项目中的内容,瞧!有用。

这是我的资源映射:

AS-Project/app/src/main/AndroidManifest.xml -> Eclipse-Project/AndroidManifest.xml  
AS-Project/app/src/main/res                 -> Eclipse-Project/res  
AS-Project/app/src/main/assets              -> Eclipse-Project/assets  
AS-Project/app/src/main/java                -> Eclipse-Project/src    
AS-Project/app/libs                         -> Eclipse-Project/libs-as  

链接文件夹不适用于“ libs”文件夹。因此,我将其映射到名为“ libs-as”的文件夹,并手动将JAR添加到项目构建路径。在最坏的情况下,我想您可以维护两个单独的libs文件夹。

Eclipse项目布局

PS最好将两个项目并排放置,并使用位置变量来引用相对路径(例如$ {PARENT-1-PROJECT_LOC})


0

发布的答案对我有用,但是由于我对这些IDE的经验不足,仅在经过一些错误操作之后才可以使用。对于任何其他初学者,请谨慎使用这些...

  1. 使用相同的最低,目标和构建SDK
  2. 使用完全相同的项目名称,并根据包名称监视项目目录的顺序,以获取.java文件的正确位置
  3. / res文件夹复制到丢失的目录中
  4. 编辑[我使用NotePad]所有匹配的xml文件,仔细选择条目的正确组合,每个条目中的一些

在此之后,仍然可能有一些错误需要解决,但是通过一些持久性,您应该能够纠正它们。


0

我刚刚发布了一个项目,该项目要求适用于Android Studio或Eclipse用户。这基本上是一个Android Studio项目,但我提供了gradle构建文件,开发人员可以使用该文件将其转换为Eclipse。

基本上,开发人员必须运行以下命令才能将项目转换为Eclipse:

gradle -b eclipse.gradle eclipse

以下是eclipse.gradle的内容:

apply plugin: 'java'
apply plugin: 'eclipse'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

// Add the natures and build commands to the project
eclipse.project {
  	natures 'com.android.ide.eclipse.adt.AndroidNature'
	natures 'org.eclipse.jdt.core.javanature'
	buildCommands.clear();
	buildCommand 'com.android.ide.eclipse.adt.ResourceManagerBuilder'
	buildCommand 'com.android.ide.eclipse.adt.PreCompilerBuilder'
	buildCommand 'org.eclipse.jdt.core.javabuilder'
	buildCommand 'com.android.ide.eclipse.adt.ApkBuilder'
}

// The source code is in the java folder
sourceSets.main.java.srcDirs 'java'

dependencies {
    // declare your dependencies here
}

希望这可以帮助

添加分步过程。1.安装gradle。请注意,如果您拥有Android Studio,那么您已经有了gradle。2.在您的Android Studio项目的根文件夹中创建eclipse.gradle文件,然后复制上述eclipse.gradle的内容。3.打开命令提示符或终端,然后运行gradle -b eclipse.gradle。4.尝试在Eclipse中打开


它没有帮助。您能详细说明要遵循的步骤吗,因为我是新手。
Dileepa'1

我可以尝试解释一下,@ Dileepa。Gradle是一个生成系统,可让您提供带有有关如何生成项目的说明的生成文件。 eclipse.gradle是我的构建文件,要格式化eclipse的项目,您必须执行以下操作-添加AndroidNature和javanature性质。-添加ResourceManager,PreCompilerBuilder,javabuilder,ApkBuilder构建命令您将看到在构建文件中声明的eclipse.project任务中添加的所有性质和构建命令。现在,您只需要执行任务,就可以运行以下命令: gradle -b eclipse.gradle eclipse
ricalo 2016年

0

如果您知道诀窍,这很简单。

  • 将eclipse项目Res文件夹替换为Android Studio项目的res文件夹。

  • 进入java文件夹并复制所有文件夹,然后粘贴到eclipse项目的src文件夹中。

  • 打开android studio项目的Android清单,复制所有内容并将其粘贴到eclipse项目清单中。

  • 清理并运行项目。


0

将项目从android studio移至eclipse的简单方法。

1)在eclipse中导入项目。这些项目的src文件夹中没有文件。

2)转到您在eclipse中导入的文件夹结构中可用的java文件夹。复制Java里面的文件夹,通常大部分时间是从'com'开始的,然后粘贴到源'src'文件夹中。

现在您可以编译您的项目了。如果您的项目需要第三方库,则还添加所需的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.