Git 在androidstudio导入期间维护目录结构

Git 在androidstudio导入期间维护目录结构,git,import,gradle,android-studio,Git,Import,Gradle,Android Studio,我已经克隆了一个公共github存储库,并试图将其导入Android Studio 0.4.4。导入工作得很好,但它希望将所有源文件复制到一个新目录,并为源文件创建一个“app”目录。因为我使用的是公共repo,所以我希望使用repo克隆目录并保持目录结构的灵活性,这样我就可以获得更新并推动更改,而不必到处复制文件 有没有办法告诉Android Studio在导入时保留给定的目录结构 或者,换句话说,有没有办法跳过梯度转换并按原样导入源 Thanx。目前,我们在Eclipse项目导入中没有保留现

我已经克隆了一个公共github存储库,并试图将其导入Android Studio 0.4.4。导入工作得很好,但它希望将所有源文件复制到一个新目录,并为源文件创建一个“app”目录。因为我使用的是公共repo,所以我希望使用repo克隆目录并保持目录结构的灵活性,这样我就可以获得更新并推动更改,而不必到处复制文件

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

或者,换句话说,有没有办法跳过梯度转换并按原样导入源


Thanx。目前,我们在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')
    }
}
接下来,从创建的另一个项目的根目录复制gradlew和gradlew.bat文件以及gradle目录,以便在项目中安装包装器


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

以下是我在保留git历史记录的同时将项目从Eclipse ADT转换为Android Studio的步骤:

  • 将我的项目目录重命名为project.eclipse
  • 选择“从非Android Studio项目导入”
  • 为其指定目标目录的原始项目名称(它将创建特定于目录的文件并使用该名称)
  • 转换完成后,请确保它已编译
  • Android Studio收尾
  • 将新项目目录重命名为project.astudio
  • 将原始EclipseADT项目目录重命名回原始目录名
  • 通读导入器创建的import-summary.txt文件,并使用git命令(通常包括将AndroidManifest.xml以及源文件和res文件移动到新的目录路径)手动重新创建它列出的所有更改
  • 将.gitignore文件更改为如下所示:

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

  • 使用git命令从原始项目中删除新项目中不存在且不是您故意放在那里的任何文件(即保留自述文件和许可证文件等,但删除诸如eclipse项目剩余数据之类的内容)
  • 在上述过程中,经常使用“git status”查看匹配/不匹配的内容,并根据需要使用git add或git rm
  • 尝试在Android Studio中打开该项目,确保该项目正确打开,并且已生成。如果所有内容都已签出
  • Android Studio收尾
  • git提交

  • 这听起来像是一个漫长的过程,但它保持了您的历史完整性,同时允许您利用新的目录结构,这对我来说非常好。

    您还可以在将eclipse导入android studio后更改android studio项目,这样android studio项目将使用与eclipse p相同的目录结构项目。
    以下是方法:
    请参阅链接

    您好,先生,您能帮我解答一下我的问题吗?谢谢您……)
    .gradle
    /local.properties
    /.idea/workspace.xml
    /.idea/libraries
    .DS_Store
    /build
    /app/build