標籤:
通過這兩天對Android Studio的研究,終於搞通了Android Studio的基本操作及與SVN的相關關聯操作(這樣才能在公司的開發工作中使用);Google年底將會停止ADT外掛程式的更新和支援,全面轉向Android Studio(果然是自己的孩子啊),因此使用Android Studio進行安卓項目的開發也是大勢所趨,項目得閑之時研究一下Android Studio的使用;Android Studio的基本編輯操作現在網上已經很多了,需要的可以找著看看,下面是這幾天摸索出來的Android Studio關聯SVN的相關操作,時間較短,如果有疏漏或錯誤的地方還望指正。
一、Android Studio配置SVN
Android Studio關聯配置SVN很簡單,在Settings裡面,找到Version Control->Subversion;在這個頁面的控制台中的General中將Use command line client打勾勾選上,然後瀏覽本地的SVN安裝目錄,選到"\svn.exe"即可;
在Use command line client下面還有一個Use system default Subversion configuration directory,這個預設是勾選上上的,這個是svn相關配置資訊的路徑,保留預設路徑就行,目前沒有發現需要修改什麼東西;以上操作如:
<img src="https://pic4.zhimg.com/75ae00d25fb927985d3566f727e080c3_b.png" data-rawwidth="1038" data-rawheight="701" class="origin_image zh-lightbox-thumb" width="1038" data-original="https://pic4.zhimg.com/75ae00d25fb927985d3566f727e080c3_r.png">
二、Android Studio項目關聯SVN資產庫及添加忽略檔案
在Android Studio中新建立一個Android項目,成功後我們先來添加要忽略的檔案;在Android Studio中添加忽略檔案同Eclipse有所不同,在Eclipse上我們什麼時候添加忽略檔案都可以,但是在Android Studio中只有在未關聯SVN之前添加忽略檔案才有效(試了好多次才將忽略檔案忽略成功啊!)。Android Studio添加忽略檔案同樣是在Settings->Version Control(跟版本控制有關的設定都在這個目錄下)下的Ignored Files裡,點擊加號進行忽略檔案的設定,Android Studio預設給出了三種忽略方式,供開發人員進行選擇:忽略指定的檔案、忽略檔案夾下所有檔案和忽略符合匹配規則的檔案;:<img src="https://pic3.zhimg.com/3abf586a554dc9faedb1f3bac326fbae_b.png" data-rawwidth="1038" data-rawheight="701" class="origin_image zh-lightbox-thumb" width="1038" data-original="https://pic3.zhimg.com/3abf586a554dc9faedb1f3bac326fbae_r.png">
點擊右側的“+”進行添加,“-”刪除;Android Studio建立的Android項目一般需要忽略.idea檔案夾、.gradle檔案夾、所有的build檔案夾、所有的.iml檔案及local.properties檔案。
忽略完檔案後,我們進行項目同SVN的關聯,選擇VCS->Import into Version Control->Share Project(Subversion);這裡說明一點,在Import into Version Control下有Import into Subversion和Share Project(Subversion)兩個選項:第一個是直接將項目匯入到SVN伺服器上,但是這樣做本地的項目同SVN伺服器沒有建立起關聯,在匯入後項目所有的檔案都會變成紅色,而且在要提交到SVN伺服器時會提示項目不是SVN下的工作複本;第二個是將Android Studio當前項目同SVN伺服器關聯起來,但是並沒有將項目匯入到SVN伺服器上,需要在完成建立串連後再次提交項目到SVN伺服器。兩種方式都可以實現將本地代碼提交到SVN伺服器的功能,但是步驟有所不同,先來完成第二種方式的項目同SVN的關聯及代碼提交,第一種貌似不正規,之後再說;既是第二種方式將本地項目同SVN進行關聯的:<img src="https://pic3.zhimg.com/d192e4e066db44c21cf0bbd4e5519e66_b.png" data-rawwidth="1071" data-rawheight="531" class="origin_image zh-lightbox-thumb" width="1071" data-original="https://pic3.zhimg.com/d192e4e066db44c21cf0bbd4e5519e66_r.png">
之後會彈出選擇要分享的SVN地址及其他選項,如:<img src="https://pic4.zhimg.com/9d3318455907d64cb362be57239504eb_b.png" data-rawwidth="479" data-rawheight="670" class="origin_image zh-lightbox-thumb" width="479" data-original="https://pic4.zhimg.com/9d3318455907d64cb362be57239504eb_r.png">
在Define share target下選擇第二個可以再trunk下建立你當前項目的檔案夾,相應的第一個選項是直接將整個檔案都放到trunk檔案夾下,第三個在專案檔夾下有建立了一個trunk檔案夾,因此建議使用第二中方式;選擇完成後點擊Share就可以了,會彈出讓你選擇SVN工作複本的格式化版本(jdk版本),如:<img src="https://pic1.zhimg.com/8d68fff6f283a0e6fe87c9b9ff4a48ac_b.png" data-rawwidth="812" data-rawheight="379" class="origin_image zh-lightbox-thumb" width="812" data-original="https://pic1.zhimg.com/8d68fff6f283a0e6fe87c9b9ff4a48ac_r.png">
建議選擇1.8format,我之前選擇了其他的試了一下,發現項目總會報出一下錯誤,原因暫時未發現,就先這樣選擇吧;點擊OK等待一會就能建立本地項目同SVN伺服器的關聯了;成功後悔自動重新整理本地的項目,待項目裡的內容變成綠色的即表示已經成功了,如所示:<img src="https://pic3.zhimg.com/339bc1ad0ab4ebcdd6fe938dde3bb886_b.png" data-rawwidth="978" data-rawheight="480" class="origin_image zh-lightbox-thumb" width="978" data-original="https://pic3.zhimg.com/339bc1ad0ab4ebcdd6fe938dde3bb886_r.png">
到目前為止只是將項目同SVN伺服器建立了聯絡,並沒有將代碼提交到SVN伺服器上去;如何提交呢,其實很簡單,只需點擊SVN相關操作按鈕裡的commit就行了(SVN相關操作按鈕左起第二個按鈕);<img src="https://pic3.zhimg.com/d16f608e9c18c66f8636c9d97345da72_b.png" data-rawwidth="1173" data-rawheight="1046" class="origin_image zh-lightbox-thumb" width="1173" data-original="https://pic3.zhimg.com/d16f608e9c18c66f8636c9d97345da72_r.png">
點擊Commit後Android Studio會先對當前代碼進程式碼分析,如果有錯誤或者警告會彈出如下的框,如果有錯誤衝突等需要解決後再提交,如果是警告可以忽略(同Eclipse相同);第一次將整個代碼提交到SVN伺服器時時間有可能很長,請耐心等待,之後再建立項目時就不會這麼慢了。<img src="https://pic3.zhimg.com/60d295e5623fcb407fc517916aa3eeea_b.png" data-rawwidth="316" data-rawheight="187" class="content_image" width="316">
成功後我們就完成了建立項目同SVN的關聯及匯入項目到SVN伺服器上了。
關於第一種方式,在將本地代碼匯入到SVN伺服器後將本地代碼刪除,然後從SVN伺服器上將之前提交的代碼更新下來,這樣一來也可以同SVN建立關聯正常進行開發;第一種方式和第二種方式的區別就在於:第一種是將代碼先提交到SVN伺服器上,然後再從SVN伺服器上更新下來(本地項目同SVN伺服器建立聯絡);第二種是先同SVN伺服器監理聯絡,然後將代碼提交到SVN伺服器上去。建議使用第二種方式進行新項目的SVN關聯。
三、Android Studio SVN代碼衝突的解決
關於代碼衝突解決的問題,首先要感謝一下知友ShinChven的回答建議。在使用SVN補救伺服器上的代碼時,有時會彈出代碼衝突的對話方塊,問你是否進行合并,並提供了三種合并方案:accept yours(使用你的)、accept theirs(使用別人的)和merge(合并);
<img src="https://pic2.zhimg.com/bcfe7bf54eb872e71b94c35bcfbe405d_b.png" data-rawwidth="610" data-rawheight="537" class="origin_image zh-lightbox-thumb" width="610" data-original="https://pic2.zhimg.com/bcfe7bf54eb872e71b94c35bcfbe405d_r.png">
前兩個都是進行的覆蓋操作,就不多做解釋了;當你選擇merge合并時,會彈出代碼合并對照視窗,一共有三個屏,左右兩側時你和伺服器不同的代碼並高亮顯示不同的部分,帶有箭頭和叉號,通過點擊箭頭將兩邊衝突的代碼添加到中間的合并地區中去,點擊叉號則辨識放棄那一段代碼,待所有衝突處理完成後merge就成功了。<img src="https://pic2.zhimg.com/35c1911d7ec78302853050d7c7a02f45_b.png" data-rawwidth="640" data-rawheight="503" class="origin_image zh-lightbox-thumb" width="640" data-original="https://pic2.zhimg.com/35c1911d7ec78302853050d7c7a02f45_r.png">
發佈於 2015-07-2239 條評論感謝分享 收藏•沒有協助•舉報 • 作者保留權利 收合 知乎使用者,使用:Xperia/Android/OSX/iOS/Ubuntu/Ce…袁鋒、知乎使用者贊同從伺服器檢出1、checkout from subversion2、項目檢出以後open build.gradle 開啟工程3、工程開啟以後在頂部VCS 裡面enable version control 選subversion提交到伺服器VCS - import into subversion 下班之前 寫的 趕著回家,晚上再補顯示全部從伺服器檢出
1、checkout from subversion
<img src="https://pic3.zhimg.com/48b00247d9b7ac321b805f2eb958359a_b.png" data-rawwidth="324" data-rawheight="407" class="content_image" width="324">
2、項目檢出以後open build.gradle 開啟工程
3、工程開啟以後在頂部VCS 裡面enable version control 選subversion
提交到伺服器
VCS - import into subversion
下班之前 寫的 趕著回家,晚上再補
夏海亮
連結:http://www.zhihu.com/question/32298079/answer/56010423
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
Android studio如何使用SVN進資料列版本設定?