2014-02-14 17 views
5

我克隆了一个公共github存储库,并试图将其导入到Android Studio 0.4.4中。导入效果很好,但它想要将所有源复制到一个新目录并为源创建一个“应用程序”目录。由于我使用的是公共仓库,我想使用repo克隆的目录并保持目录结构的完整,以便我可以获取更新并推送更改,而无需每次以任何方式复制文件。在Android Studio导入过程中维护目录结构

有没有办法告诉Android Studio保持导入时给定的目录结构?

或者换个说法,有没有办法跳过gradle转换并导入源代码?

Thanx提前。

回答

8

目前我们在Eclipse项目导入中没有选项来保留现有的目录结构。如果你安装了Eclipse的副本,你可以在那里打开它,然后将项目导出到Gradle构建文件;这是一个就地出口。你必须修改它所导出的构建文件,因为它指定了一个非常旧的插件版本。具体而言,您必须更新dependencies.buildscript.classpath语句以指定0.8。+,并更新gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl属性以指定Gradle 1.10。

如果你没有Eclipse,你可以使用这个样板build.gradle文件来帮助你入门。它复制到项目的根目录:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.8.+' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.1" 

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

     // Move the tests to tests/java, tests/res, etc... 
     instrumentTest.setRoot('tests') 

     // Move the build types to build-types/<type> 
     // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... 
     // This moves them out of them default location under src/<type>/... which would 
     // conflict with src/ being used by the main source set. 
     // Adding new build types or product flavors should be accompanied 
     // by a similar customization. 
     debug.setRoot('build-types/debug') 
     release.setRoot('build-types/release') 
    } 
} 

接下来,把这个settings.gradle文件在你的根目录下。

include ':' 

接下来,文件和gradle这个目录从您创建安装包装项目中的另一个项目的根目录下复制gradlewgradlew.bat。

它是完整的。您现在应该可以在Android Studio中导入并使用它。

+0

您好先生,你又能帮助我与我的问题[这里](http://stackoverflow.com/q/36157555/3287204)?谢谢 ... :) –

1

这是我做我的项目在Eclipse ADT转换到Android工作室,同时保持git的历史的步骤:

  1. 重命名我的项目目录Project.eclipse
  2. 从非Android系统的选择“导入Studio项目“
  3. 给它的目标目录的原始项目名称(它将创建目录特定的文件,并使用该名称)
  4. 它完成转换后,确保它编译。
  5. 接近了Android Studio中的
  6. 重命名新项目目录Project.astudio
  7. 重命名原始的Eclipse ADT项目目录回到通过创建的进口Summary.txt文件读取原来的目录名
  8. 导入器,并使用git命令重新创建它手动列出的所有更改(通常包括移动AndroidManifest。XML和源和资源文件到一个新的目录路径
  9. 更改您的.gitignore文件,内容如下:

    .gradle 
    /local.properties 
    /.idea/workspace.xml 
    /.idea/libraries 
    .DS_Store 
    /build 
    /app/build 
    
  10. 比较的目录和新项目复制任何文件不在旧的回到它(通常是gradle和想法文件),然后“git add”它们。不要忘记任何新创建的子项目(其中至少包含一个用于主应用程序)内的build.gradle文件

  11. 使用git命令从原始项目中删除任何不存在于新项目中的文件一个也不是故意放在那里的(也就是保留自己的README和LICENSE文件等,但是像留下的eclipse项目数据那样的东西)
  12. 在上面的过程中经常使用“git status”来查看什么是匹配的/不匹配,并根据需要添加或git rm。
  13. 尝试在Android Studio中打开该项目,确保它正确打开并生成。如果一切正常...
  14. 接近了Android Studio中
  15. 的git的承诺

这听起来像一个漫长的过程,但它让你的历史完好无损,同时让你把新的目录结构的优势,它对我来说非常有用。