繁体   English   中英

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

[英]git - checkout remote git code into Android Studio imported project with Gradle build

我有一些我导入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/new之上查看com/original

有什么建议我如何处理这个?

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

  • 克隆您的仓库(在其他地方,而不是在您的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

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

通过定义gradle构建脚本“sourceSets”定义中的位置,将所有内容保存在原始位置。 例如:

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

}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM