【Android Studio安装部署系列】十九、Android studio使用SVN

时间:2021-05-07 08:00:17

版权声明:本文为HaiyuKing原创文章,转载请注明出处!

概述

在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同,Android Studio没有提供单独的插件,只能和SVN客户端关联使用。

SVN客户端的下载安装

下载

下载地址:https://tortoisesvn.net/downloads.html

注意:在下载页的下面,有不同的语言包,可以选择下载一个中文语言包。下载完成后,点击安装 TortoiseSVN 与 LanguagePack语言包 进行安装即可。

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

安装

安装SVN时必须安装command line 功能,只有安装带有 command line 功能的 SVN 客户端,AndroidStudio才能使用。安装SVN时需要用户自定义选择 command line ,默认是不会自动安装的。

【Android Studio安装部署系列】十九、Android studio使用SVN  【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

剩下的就是更改安装目录,一路Next。在这里就不多讲了。

Android Studio关联SVN客户端

SVN安装完成后,打开 Android Studio 中的Subversion配置面板(File——Setting...——Version Control——Subversion):

【Android Studio安装部署系列】十九、Android studio使用SVN

配置SVN的路径

选中Use Command Line Client ,选择浏览到你本地安装 TortoiseSVN 的 svn.exe 文件路径:

【Android Studio安装部署系列】十九、Android studio使用SVN

如果输入框最右侧有个浏览的按钮没有显示出来,那么滑动底部的滚动条即可。

【Android Studio安装部署系列】十九、Android studio使用SVN

提交代码到SVN

添加忽略文件

Android Studio创建的Android项目,必须先来添加要忽略的文件,再上传SVN,一般需要忽略以下内容:

  1. .idea文件夹

  2. .gradle文件夹

  3. 所有module中的build文件夹(build、app/build、baseLibrary/build等)

  4. 所有的.iml文件

  5. local.properties文件

File——Settings...——Version Control——Ignored Files

【Android Studio安装部署系列】十九、Android studio使用SVN

添加忽略的文件

【Android Studio安装部署系列】十九、Android studio使用SVN

添加忽略的文件夹

【Android Studio安装部署系列】十九、Android studio使用SVN

添加忽略的符合匹配规则的文件

【Android Studio安装部署系列】十九、Android studio使用SVN

最终效果:Android Studio3.0.1版本新建的项目运行后不会显示项目的build目录了。所以跟低版本相比较,少了项目build目录的忽略。

【Android Studio安装部署系列】十九、Android studio使用SVN

将项目同SVN服务器关联起来

此时只是将当前项目跟SVN服务器的目录关联在一起,并没有将项目提交到SVN服务器上,需要在完成建立连接后再次提交项目到SVN服务器。

VCS——Import into Version Control——Share Project(Subversion)

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

选择要关联的SVN地址及其他选项

在Define share target下

第一个选项是直接将整个文件都放到trunk文件夹下,

第二个选项可以再trunk下创建你当前项目的文件夹,

第三个选项在项目文件夹下有创建了一个trunk文件夹,

因此建议使用第二种方式;

第一次关联SVN服务器,需要登录:

【Android Studio安装部署系列】十九、Android studio使用SVN  【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

 选择SVN工作副本的格式化版本(jdk版本)

【Android Studio安装部署系列】十九、Android studio使用SVN

选择1.6还是1.8?【网上一般说的是选择1.8比较好,但是个人使用过程中,大部分是选择1.6,可能和服务器的svn版本(较低的话选择1.6,较高的话选择1.8)有关系吧】。

在这里可以先选择一个,如果上传代码的时候出现了Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束的问题,那么则重新设置即可。

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

点击OK等待一会儿,就能创建本地项目同SVN服务器的关联了,成功后会自动刷新本地的项目,待项目里的忽略内容变成绿色的即表示已经成功了,如图:

【Android Studio安装部署系列】十九、Android studio使用SVN

同时,操作栏出现的svn操作按钮:提交、更新

【Android Studio安装部署系列】十九、Android studio使用SVN

此时点击VCS菜单,出现了Subversion选项

【Android Studio安装部署系列】十九、Android studio使用SVN

项目鼠标右键,也出现了Subversion选项

【Android Studio安装部署系列】十九、Android studio使用SVN

提交代码到svn服务器

其实很简单,只需点击SVN相关操作按钮里的commit就行了(上图SVN相关操作按钮左起第二个按钮)

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

Android Studio会先对当前代码进代码分析,如果有错误或者警告会弹出如下的框,如果有错误冲突等需要解决后再提交,如果是警告可以忽略;

第一次将整个代码提交到SVN服务器时时间有可能很长,请耐心等待,之后再创建项目时就不会这么慢了。

【Android Studio安装部署系列】十九、Android studio使用SVN含有错误,不能提交!!

【Android Studio安装部署系列】十九、Android studio使用SVN没有错误,可以提交!!

【Android Studio安装部署系列】十九、Android studio使用SVN

Checkout SVN上的项目

 File——New——Project from Version Control——Subversion

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

选择本地目录:

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

浏览SVN上的内容

 VCS——Browse VCS Repository——Browse Subversion Repository

【Android Studio安装部署系列】十九、Android studio使用SVN

查看svn的地址

【Android Studio安装部署系列】十九、Android studio使用SVN

查看svn提交日志

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

查看svn提交日志涉及的文件

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

Android Studio取消与SVN的关联/解决找不到Share Project(Subversion)的问题

当前项目关联svn服务器后,在VCS-->Import Into Version Control,会发现只有Import Into Subversion选项,并没有Share Project(Subversion)这个选项。

【Android Studio安装部署系列】十九、Android studio使用SVN

在Project模式下有个.idea文件夹,找到vcs.xml文件,把里面的vcs="svn"改为vcs=""

【Android Studio安装部署系列】十九、Android studio使用SVN

改完之后,会发现vcs.xml文件已经消失了。

去硬盘的项目目录中,把.svn文件(此文件为隐藏文件)全部删除。

【Android Studio安装部署系列】十九、Android studio使用SVN

这时就会发现Share Project选项出来了。

【Android Studio安装部署系列】十九、Android studio使用SVN

解决Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束的问题

更换jdk版本即可。

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

如果无法修改,那么可以取消与SVN的关联或者删除本地硬盘的项目,重新checkout项目。

提交svn时AS对当前代码进代码分析提示的错误与警告

错误:方法的注释中的参数名命名规则不严谨,不能使用系统自带变量名,如:Date,date,assets

现象:

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN  【Android Studio安装部署系列】十九、Android studio使用SVN

解决方案:换个名称。

【Android Studio安装部署系列】十九、Android studio使用SVN

错误:方法名的注释参数名和方法的实际参数名不一致

现象:

【Android Studio安装部署系列】十九、Android studio使用SVN

解决方案:保持一致即可。

【Android Studio安装部署系列】十九、Android studio使用SVN

错误:代码中控制显示/隐藏只能使用View.VISIBLE,不能使用实际值

 现象:

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN   【Android Studio安装部署系列】十九、Android studio使用SVN

解决方案:换成常量值,将0或者1修改为View.VISIBLE或者View.GONE

【Android Studio安装部署系列】十九、Android studio使用SVN

错误:Error:(128, 23) Expected resource of type id

现象:

【Android Studio安装部署系列】十九、Android studio使用SVN

解决方案:在报错位置所在的类上面添加一句话@SuppressWarnings("ResourceType")

【Android Studio安装部署系列】十九、Android studio使用SVN

警告:类的注释参数名是中文

现象:

【Android Studio安装部署系列】十九、Android studio使用SVN

【Android Studio安装部署系列】十九、Android studio使用SVN

解决方案:换成英文

参考资料

Android Studio SVN 使用方法

SVN在Android Studio中的配置

SVN客户端安装与使用

Android Studio取消与SVN的关联/找不到Share Project(Subversion)

Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束

Androidstudio下打包apk提示Error: Expected resource of type id [ResourceType]解决办法