版權聲明:本文為HaiyuKing原創文章,轉載請注明出處!
概述
在AndroidStudio中開發版本控制,除了Git就是SVN,和Eclipse不同,Android Studio沒有提供單獨的插件,只能和SVN客戶端關聯使用。
SVN客戶端的下載安裝
下載
下載地址:https://tortoisesvn.net/downloads.html
注意:在下載頁的下面,有不同的語言包,可以選擇下載一個中文語言包。下載完成后,點擊安裝 TortoiseSVN 與 LanguagePack語言包 進行安裝即可。
安裝
安裝SVN時必須安裝command line 功能,只有安裝帶有 command line 功能的 SVN 客戶端,AndroidStudio才能使用。安裝SVN時需要用戶自定義選擇 command line ,默認是不會自動安裝的。
剩下的就是更改安裝目錄,一路Next。在這里就不多講了。
Android Studio關聯SVN客戶端
SVN安裝完成后,打開 Android Studio 中的Subversion配置面板(File——Setting...——Version Control——Subversion):
配置SVN的路徑
選中Use Command Line Client ,選擇瀏覽到你本地安裝 TortoiseSVN 的 svn.exe 文件路徑:
如果輸入框最右側有個瀏覽的按鈕沒有顯示出來,那么滑動底部的滾動條即可。
提交代碼到SVN
添加忽略文件
Android Studio創建的Android項目,必須先來添加要忽略的文件,再上傳SVN,一般需要忽略以下內容:
-
.idea文件夾
-
.gradle文件夾
-
所有module中的build文件夾(build、app/build、baseLibrary/build等)
-
所有的.iml文件
-
local.properties文件
File——Settings...——Version Control——Ignored Files
添加忽略的文件
添加忽略的文件夾
添加忽略的符合匹配規則的文件
最終效果:Android Studio3.0.1版本新建的項目運行后不會顯示項目的build目錄了。所以跟低版本相比較,少了項目build目錄的忽略。
將項目同SVN服務器關聯起來
此時只是將當前項目跟SVN服務器的目錄關聯在一起,並沒有將項目提交到SVN服務器上,需要在完成建立連接后再次提交項目到SVN服務器。
VCS——Import into Version Control——Share Project(Subversion)
選擇要關聯的SVN地址及其他選項
在Define share target下
第一個選項是直接將整個文件都放到trunk文件夾下,
第二個選項可以再trunk下創建你當前項目的文件夾,
第三個選項在項目文件夾下有創建了一個trunk文件夾,
因此建議使用第二種方式;
第一次關聯SVN服務器,需要登錄:
選擇SVN工作副本的格式化版本(jdk版本)
選擇1.6還是1.8?【網上一般說的是選擇1.8比較好,但是個人使用過程中,大部分是選擇1.6,可能和服務器的svn版本(較低的話選擇1.6,較高的話選擇1.8)有關系吧】。
在這里可以先選擇一個,如果上傳代碼的時候出現了Android Studio的SVN Performing VCS Refresh/Commit 長時間不結束的問題,那么則重新設置即可。
點擊OK等待一會兒,就能創建本地項目同SVN服務器的關聯了,成功后會自動刷新本地的項目,待項目里的忽略內容變成綠色的即表示已經成功了,如圖:
同時,操作欄出現的svn操作按鈕:提交、更新
此時點擊VCS菜單,出現了Subversion選項
項目鼠標右鍵,也出現了Subversion選項
提交代碼到svn服務器
其實很簡單,只需點擊SVN相關操作按鈕里的commit就行了(上圖SVN相關操作按鈕左起第二個按鈕)
Android Studio會先對當前代碼進代碼分析,如果有錯誤或者警告會彈出如下的框,如果有錯誤沖突等需要解決后再提交,如果是警告可以忽略;
第一次將整個代碼提交到SVN服務器時時間有可能很長,請耐心等待,之后再創建項目時就不會這么慢了。
含有錯誤,不能提交!!
沒有錯誤,可以提交!!
Checkout SVN上的項目
File——New——Project from Version Control——Subversion
選擇本地目錄:
瀏覽SVN上的內容
VCS——Browse VCS Repository——Browse Subversion Repository
查看svn的地址
查看svn提交日志
查看svn提交日志涉及的文件
Android Studio取消與SVN的關聯/解決找不到Share Project(Subversion)的問題
當前項目關聯svn服務器后,在VCS-->Import Into Version Control,會發現只有Import Into Subversion選項,並沒有Share Project(Subversion)這個選項。
在Project模式下有個.idea文件夾,找到vcs.xml文件,把里面的vcs="svn"改為vcs=""
改完之后,會發現vcs.xml文件已經消失了。
去硬盤的項目目錄中,把.svn文件(此文件為隱藏文件)全部刪除。
這時就會發現Share Project選項出來了。
解決Android Studio的SVN Performing VCS Refresh/Commit 長時間不結束的問題
更換jdk版本即可。
如果無法修改,那么可以取消與SVN的關聯或者刪除本地硬盤的項目,重新checkout項目。
提交svn時AS對當前代碼進代碼分析提示的錯誤與警告
錯誤:方法的注釋中的參數名命名規則不嚴謹,不能使用系統自帶變量名,如:Date,date,assets
現象:
解決方案:換個名稱。
錯誤:方法名的注釋參數名和方法的實際參數名不一致
現象:
解決方案:保持一致即可。
錯誤:代碼中控制顯示/隱藏只能使用View.VISIBLE,不能使用實際值
現象:
解決方案:換成常量值,將0或者1修改為View.VISIBLE或者View.GONE
錯誤:Error:(128, 23) Expected resource of type id
現象:
解決方案:在報錯位置所在的類上面添加一句話@SuppressWarnings("ResourceType")
警告:類的注釋參數名是中文
現象:
解決方案:換成英文
參考資料
Android Studio取消與SVN的關聯/找不到Share Project(Subversion)
Android Studio的SVN Performing VCS Refresh/Commit 長時間不結束
Androidstudio下打包apk提示Error: Expected resource of type id [ResourceType]解決辦法