簡體   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