我有一些导入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/original
和com/new
)之外,它非常相似。也就是说,似乎唯一重要的文件是AndroidManifest.xml
,它位于不同的位置。但是,如果我执行git pull
,则会将AndroidManifest.xml
放在其他位置,并在com/original
之上查看com/new
。
有关我如何处理此事的任何建议吗?
答案 0 :(得分:5)
您需要首先重新组织文件以匹配目标(即当前的Gradle结构)
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']
}
...
}
这可能是一个更简单的选择。