9

我已经从Eclipse迁移项目。该项目仍然具有来自eclipse的“旧”项目文件结构(请参阅http://developer.android.com/tools/projects/index.html)。有没有办法自动将文件结构更改为新系统(请参阅http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Project-Structure)?如果我正确理解http://developer.android.com/sdk/installing/studio-tips.html“项目结构”部分,那么在迁移时应该发生这种情况,但它不是 (可能是我的错误)。 所以我再次提出问题:是否可以自动更改文件结构?如果不是,我需要改变什么?我需要在build.gradle中更改哪些内容?什么是过时的文件/目录?从Eclipse迁移到Android Studio gradle结构后更改项目文件结构

谢谢!

斯蒂芬

+1

欢迎来到Stackoverflow!如果您发现回复有帮助,请投票。如果回复成功回答您的问题,请点击旁边的绿色复选标记以接受答案。还请看看stackoverflow.com/questions/how-to-ask关于如何编写一个好问题的建议 – buzeeg

回答

4

在迁移项目从Eclipse中的Android Studio中,没有变化已经在项目结构完成。唯一已经改变的是新的.iml和.gradle文件。

Java代码停留在project/src/文件夹,并没有在project/src/main/java文件夹被移动(如从AndroidStudio一个新创建的项目)。

AndroidManifest文件还停留在project/文件夹并没有在project/src/main/文件夹被移动(如从AndroidStudio一个新创建的项目)。 Configuring the Structure

对于AndroidStudio一个新创建的项目,构建的sourceSets部分:

在迁移过程中,build.gradle文件,以便能够与gradle这个文件中的旧体制被描述编译定制。 gradle这个文件:

sourceSets { 
    main.java.srcDirs = ['src/java'] 
    main.resources.srcDirs = ['src/resources'] 
} 

对于从Eclipse的一个移植项目,该文件的build.gradle的sourceSets部分必须是:

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

因此,您应该能够自定义您的项目结构并进行相应的构建。

+0

为什么Eclipse不能用main迁移到Studio?什么原因?优点缺点? – powder366

+1

我不确定,但我认为这是为了retrocompatibility:也许Ant不能编译创意风格的项目(与主文件夹)。你可以手动做,然后简化你的build.gradle文件 – buzeeg

+1

我做了手动,有点棘手,但它的工作(在Studio中生成一个虚拟项目作比较),将是一个很好的选择...谢谢.. 。 – powder366