git - 使用Gradle构建将远程git代码结帐到Android Studio导入的项目中

时间:2015-03-28 16:06:05

标签: android git android-studio gradle android-gradle

我有一些导入Android Studio的代码。

它现在有一个Gradle构建(以前没有)。我现在需要做git pull。但是,鉴于目录结构略有变化,我不知道如何继续这样做。

app/src/main下的Android Studio目录结构与原始内容类似,例如:

Android Studio

[main]$ ls
AndroidManifest.xml assets          java            res
[main]$ ls java/
LICENSE.txt README.md   com

原始

$ ls
AndroidManifest.xml README.md       res
LICENSE.txt     assets          src
$ ls src/
com

com下,除了反向域路径略有不同(例如com/originalcom/new)之外,它非常相似。也就是说,似乎唯一重要的文件是AndroidManifest.xml,它位于不同的位置。但是,如果我执行git pull,则会将AndroidManifest.xml放在其他位置,并在com/original之上查看com/new

有关我如何处理此事的任何建议吗?

2 个答案:

答案 0 :(得分:5)

您需要首先重新组织文件以匹配目标(即当前的Gradle结构)

  • 克隆你的repo(在其他任何地方,不在你的Android项目中)
  • 执行相关的git mv,然后执行。
  • 添加您的最新版本:

    cd /path/to/local/clone
    git --work-tree=/path/to/gradle/project add .
    git commit -m "Import local dev"
    git push
    

(这将证明您可能在本地完成的任何差异)

然后您可以返回Android-gradle项目,然后执行git pull

答案 1 :(得分:0)

如果情况如此,这是一个旧的Eclipse代码库,您正在迁移到Android Studio,并且您仍将继续使用相同的存储库继续前进,我建议您设置项目&# 34;手工"在android工作室。换句话说,不要使用将文件(源,资源,AndroidManifest等)移动到默认位置的自动导入。

通过定义gradle构建脚本中的所在位置来保留原始位置中的所有内容" sourceSets"定义。例如:

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

}

这可能是一个更简单的选择。