通过这两天对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">

 

知乎用户,使用: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进行版本控制?的更多相关文章

  1. Android Studio 搭配 Tortoise SVN 安装问题汇总

    (1)Android studio 中想要使用SVN,但是在安装 1.9版本的SVN,会报SVN is too old(实际是太新了)的错误.所以只能下载1.8以下版本 (2)安装svn时,需要手动选 ...

  2. android studio中断开SVN连接,并彻底清理项目中的.svn文件

    首先,断开SVN连接: 在使用SVN过程中,我们会发现当我们第一次share到subversion的时候,下次就无法重新share了,也无法断开连接,就算我们将工程目录下的.svn目录删除它还是会无法 ...

  3. Android Studio撤销与SVN的关联

    为何会记录这一个问题,主要是在做项目的过程中出现了一个奇怪的现象,就是直接在文件目录下使用svn上传文件的话,可以看到该目录是与SVN相关联的,可是到了用Android Studio上传代码的时候却发 ...

  4. android studio 汉化 svn插件汉化。布局文件 属性 汉化 public.xml

    android studio 汉化 SvnBundle.properties D:\Android Studio\plugins\svn4idea\lib resources_en.jar\org\j ...

  5. 切换到android studio遇到的svn问题

    眼下的android studio 2.0(包括preview版)都已经把git.svn,cvs 等工具集成进来了.所以,我们仅仅须要依据代码server选择使用就可以. 这里以开源中国上的git私有 ...

  6. android开发学习 ------- android studio 同时用svn和git 进行代码管理 出现的问题

    svn和git的工作机制:  SVN 是集中式或者有中心式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要 ...

  7. android studio如何开启与禁用版本控制vcs

    1.开启

  8. Android Studio 配置SVN实现代码管理

    Refference From:http://iaiai.iteye.com/blog/2267346 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在 ...

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

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同,Android Studio没有提供单独的插 ...

随机推荐

  1. socketio 握手前中断报错

    前两天折腾了下socketio,部署完发现通过nginx代理之后前端的socket无法和后端通信了,于是暴查一通,最后解决问题: location / { proxy_pass http://127. ...

  2. 关于使用由CA机构(EJBCA)颁发的证书实现SLLSocket双向认证服务端报null cert chain的解决方案

    在 SSLSocket实现服务端和客户端双向认证的例子 文章中最后提到使用keytool.exe的自签证书实现双向认证可以,但是使用ejbca生成证书实现SLL Socket的双向认证是服务端老是报错 ...

  3. CentOS修改系统默认语言与编码

    有时候在安装CentOS无意中把默认语言设置为中文,而部分SSH软件不支持中文编码,所以在远程管理的时候会出现些乱码的现象.   如何修改CentOS的默认语言呢? 请先使用root权限帐户登陆 一. ...

  4. SQL 语句优化—— (一) 操作符优化

    1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以 ...

  5. localhost简介、localhost与 127.0.0.1 及 本机IP 的区别

    localhost是什么意思? 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析. 看来这个入门问题还有人不清楚,其实这两者是有区别的. localhos ...

  6. iOS网络请求之---GET和POST

    get是从服务器上获取数据,post是向服务器传送数据.前者把参数数据加在了将参数直接写在访问路径上.操作简单,不过容易被外界看到,安全性不高,地址最多255字节,后者则是将参数放到body里面.PO ...

  7. JS 代码调试经验总结(菜鸟必读)

    前言:不知不觉写了很多,希望你能耐心看完这篇文章 任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作.一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的 ...

  8. Hadoop经典面试题(转)

    单项选择题 1. 下面哪个程序负责 HDFS 数据存储. a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 2. ...

  9. node-webkit 使用nodejs第三方C/C++插件

    node-webkit 在window环境下使用C/C++插件,需要使用nw-gyp先编译.本文以编译node-expat演示操作过程: 1.安装nodejs: 最好将nodejs的执行路径添加进系统 ...

  10. SQLite 字符串连接

    对Mysql可以使用CONCAT进行字符串连接, 但使用sqlite时,没有找到相应的方法,后在网上查找后,可以使用||来连接字符串 例: select 'a'||'b'