![](/img/trans.png)
[英]Checkout Git project in Android Studio causes “project does not use Gradle”
[英]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/original
和com/new
)。 也就是說,似乎唯一重要的文件是AndroidManifest.xml
,它位於不同的位置。 但是,如果我執行git pull
它會將AndroidManifest.xml
放在不同的位置,並在com/new
之上查看com/original
。
有什么建議我如何處理這個?
您需要首先重新組織文件以匹配目標(即當前的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
。
如果情況是這是一個舊的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.