在团队协作中,该如何提交一份干净、可靠的代码给队友?
2015-12-18 07:03
330 查看
在团队协作中,该如何提交一份干净、可靠的代码给队友?
首先对Android Studio的工程目录中的文件做个介绍:当我们新建一个Android Studio工程后,调整为Project视图后,工程结构如下图所示:
其中包括:
.gradle——>gradle 运行以后生成的缓存文件夹
.idea——>是android studio 工程打开以后生成的工作环境配置文件夹。
app文件夹是application module,其中包含你的源码src、资源文件res、Assets 等必须的文件。
build文件夹为编译时的缓存文件夹,你在运行了
Build——>clear project后它会被删除清理掉,但是当你再次运行工程的时候它又会自动生成。
gradle文件夹中包含的是gradle-wrapper.jar 文件,通过配置其中的gradle-wrapper.properties 中的distributionUrl 可以给你的项目指定需要使用的gradle 版本。
.gitignore文件为git 版本控制的忽略清单(要完成标题所示的任务,就考它了)。
build.gradle为project 全局的配置。
gradle.properties为 gradle 的参数配置。
*.iml文件为Android Studio / Intellij IDEA 为每一个module 生成的配置文件
gradlew gradlew.bat是gradle 任务的脚本命令。
local.properties是个人电脑中的环境配置,这个不要同步到代码库中给别人使用。
settings.gradle文件中可指定project 目录中的文件夹为gradle的module
在上述的文件中,有些是gradle运行后的缓存文件夹、有些是生成的工作环境配置文件夹、有些是个人电脑环境中的配置,这些文件只对你当前的工作环境有效,比如
.idea文件夹和
.iml文件记录着你的开发窗口当前的状态和你电脑上的配置,当你把这些分享别人后,别人的工作环境、窗口布局都有可能在同步完代码以后发生改变,他们本来是你电脑上的配置,却应用到了别人的电脑中,这样就给别人带来的不必要的麻烦。
在我们彻底的删除掉一个工程后,可以通过Android Studio启动窗口中的
open an existing Android Studio project选择一个
build.gradle来生成这些不需要的文件,他们是:
* .gradle
* .idea
* build
* .iml
这样,我们可以在提交至代码仓库的时候忽略掉这些文件,这样,我们就可以提交一份干净、可靠的代码给队友了。
记得将module中的build 文件夹和 *.iml 文件也忽略掉,每一个module中都会生成。
这样任何一个Android Studio用户都可以使用其中的open功能,选中project中的build.gradle文件,来构建一个完整的Gradle工程。
下面是一个完整的.gitignore文件:
/local.properties /.idea/workspace.xml /.idea/libraries /build /captures # Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # Generated files bin/ gen/ # Gradle files .gradle/ build/ /*/build/ /CordovaLib/build /CordovaLib/CordovaLib.iml /doctor/build /doctor/doctor.iml /furuilibrary/build /furuilibrary/furuilibrary.iml /IMKit/build /IMKit/IMKit.iml /inwatch/build /inwatch/inwatch.iml # Local configuration file (sdk path, etc) local.properties # Proguard folder generated by Eclipse proguard/ # IDEA Files .idea/ /.gradle /.idea /FuruiApplication.iml
这样,整个世界都变得清爽了!
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories