COCOBuild

(一) 统一开发环境: strucEclipse 4

(二) 生成APK配置: createBuildxml_ByCoco 6

(三) 标准目录构建: createFolder 6

(四) 生成selector: searchSelect 8

(五) 生成列表功能模块: createCode_ListView 9

(六) 更新Activity: refreshActicity 13

(七) 检测项目并生成报告: createReport 14

(八) 生成所有APK: createAPK 15

(九) 生成正式版APK: createAPK_PRO 15

(十) 生成测试版APK: createAPK_DEV 16

(十一) 切换成测试代码: code2DEV 16

(十二) 切换成正式代码: code2PRO 16

(十三) 下载和配置build.properties 16

(十四) 命名规范 17

(十五) 错误列表和解决方法 17

COCOBuild的功能是项目构建,采用ant实现,.其核心文件为Cocobuild.xml和Cocobuild_apk.xml. 所有任务均可单独执行.

n Cocobuild.xml功能如下:

n Cocobuild_apk.xml功能如下:

使用方法:

n 在Eclipse中,右键点击Cocobuild.xml或Cocobuild_apk.xml,选择Run As

n 选择第一个Ant build将会执行所有任务

n 选择第二个Ant build可自己勾选要执行的任务.

下文的一到七功能位于Cocobuild.xml中.八到十二功能位于Cocobuild_apk.xml中.(要先执行Cocobuild.xml的createBuildxml_ByCoco任务.)

所有任务详解

(一)统一开发环境:
strucEclipse

n 作用

1. 配置Eclipse开发环境.

2. 此任务/target保证团队代码统一性,不同开发人员格式化后的代码依然会保持一致,不会对提交CVS,SVN等造成影响. 对代码质量也有一定的优化.

n 功能细节

ü 统一团队JAVA代码风格 缩进,换行,每行长度,XML样式,变量排序,方法排序等

ü 统一团队清理规范 移除无用变量,移除无用方法移除无用import,移除无用的强转

ü 统一团队注解规范 增加必要的注解@override,@deprecated,序列化

ü 统一团队快捷键 优化了合并多个Eclipse快捷键,对原本的快捷键使用无影响

ü 代码的优化 会自动对for循环,迭代器等代码做优化

ü 统一团队注释风格和内容 类注释, 方法注释,变量注释未启用

n 使用方法

1. 此任务/target运行完毕后,重启Eclipse自动生效.

2. 在编辑JAVA类时,选择菜单栏的Source,点击Clean Up会出现COCOFrame_cleanup选项.直接点击next或者finish即可完成格式化代码,清空无用的变量,清空无用的方法,优化部分代码的效果.

3. 为类增加”文档注释/双星号注释”时,自动添加公司信息,版本信,作者等内容.

4. 可以在build.properties的name_company属性修改公司名称.

5. 在XML和JAVA文件中按Ctrl+Shift+F格式化效果将更加美观.

n 部分功能截图效果

所有开发人员在类前,增加”文档注释/双星号注释”时会自动增加以下内容.此处”XX有限公司”可以在build.properties的name_company属性修改.

XML格式化后风格

(二)生成APK配置:
createBuildxml_ByCoco

n 作用

1. 根据当前项目环境,生成buildapk.xml.

2. Cocobuild_apk.xml.打包APK依赖于buildapk.xml.

n 部分功能截图效果

(三)标准目录构建: createFolder

n 作用

1. 酌情使用,为项目生成标准化目录及标准化文件.如dimens.xml,drawable-xxhdpi,Menu Folder.

2. 使用ADT创建项目时,自动创建的文件夹及文件也许不能满足常用的需求,需要在开发过程中手工创建一些标准目录及文件. 这个任务可以解决此问题.

3. 对Android项目结构不了解,不清楚什么时候该创建什么样的文件夹/文件.

4. 如果文件或文件夹已存在,不会再次生成或修改.

n 功能细节

ü 生成menu

ü 生成menu.xml 菜单文件,菜单声明.

ü 生成styles.xml 标准化styles样例,统一样式文件

ü 生成dimens.xml 标准化dimens样例,统一尺寸文件

ü 生成arrays.xml 标准化arrays样例,数组声明

ü 生成ids.xml 标准化ids样例,固定资源ID,做公用组件时常用.

ü 生成public.xml 标准化public样例,固定资源声明,做公用组件时常用,

ü 生成drawable-ldpi 原则上120dp QVGA 240x320

ü 生成drawable-mdpi 原则上160dp HVGA 320x480

ü 生成drawable-hdpi 原则上240dp WVGA FWVGA 480x800 480x854

ü 生成drawable-xhdpi 原则上320dp

ü 生成drawable-xxhdpi 原则上480dp

ü 生成drawable-nodpi 无分辨率要求的. 如.9, xml定义的drawable资源.

ü 生成tvdip 适合Android智能电视的, 关闭状态

ü 生成values

ü 生成values-v11 android 3.0 +

ü 生成values-v14 android 4.0 +

ü 生成values-zh-rCN 中文(中国)

ü 生成values-zh-rTW 中文(台湾)

ü 生成values-en 英文

n 部分功能截图效果

(四)生成selector: searchSelect

n 作用

ü 所有Drawable文件夹中的以_f结尾的图片,会自动生成对应的selector点击文件.

ü 如drawble中含有BtnLogin.png和BtnLogin_f.png,将会在drawable-nodpi下生成select_BtnLogin.xml

ü 在UED制图时遵循此标准,则开发人员可直接运行此任务来更新selector.

n 部分功能截图效果

(五)生成列表功能模块:
createCode_ListView

n 作用

生成ListView样式的功能模块,包括Activity和布局.

此功能需要四步操作.

1. 在项目中导入Cocoframe.jar

2. 定义一个Bean继承自fay.frame.tools.Bean

3. 在build.properties的beanArray属性添加Bean

4. 右键CocoBuild.xml-->createCode_ListView-->生成

刷新项目,在src/cocobuild中即可看到生成的类.res/layout中可看到生成的布局文件.

n 功能细节

1. Bean必须继承自fay.frame.tools.Bean

2. 只有在build.properties的beanArray属性中注册的Bean才会生成.

3. 支持多个Bean一起注册/生成.多个之间用;隔开.举例如下:beanArray=com.test.bean.UserBean;com.test.bean.PhoneBean;

4. Bean的属性支持注解定义类型. 如iconHead属性为用户头像, 则定义如下

5. 

6. 默认为”TextView”,注解目前支持ImageView这一种最常用的类型.其他类型陆续添加中.

7. 可以直接点”编辑”输入值.”http:\\www.test.com\head.png”或者本地图片”sdcard/myfolder/head.png”都可直接显示头像. 其他更为便捷的功能参考COCOFrame的API.

8. 对应一个Bean会生成的文件有:ListActivity, Adapter, AddActivity, EditActivity, ShowActivity及其依赖的布局文件.

9. 生成的ListView具有搜索,数据本地缓存,下拉刷新,图片缓存,图片压缩,网络图片,SD卡图片,ListView添加Holder,ConvetView等功能.

10. 为了方便查看生成效果,ListView默认使用的本地数据. 如果想使用网络数据,把主Activity  onRefresh()方法中的getDataFromDB()替换为getDataFromServer(), 并把url替换为接口地址即可.

n 实例/截图说明

假如在项目中有用户列表功能,用来展示用户姓名,生日,年龄,头像等信息,首次采用CocoBuild.xml生成详细步骤如下:

1. 在项目中导入Cocoframe.jar

2. 创建用户Bean位于com.example.buildtest.bean.BeanPerson并继承自fay.frame.tools.Bean,代码截图如下:

3.在build.properties中beanArray=com.example.buildtest.bean.BeanPerson

4.选择createCode_ListView任务,并执行

5.执行过程

6.执行完毕后,刷新项目,下图红圈内即为生成的代码

执行完毕后,刷新项目,下图即为生成的布局

8.右键点击项目,运行,真机效果:

(六)更新Activity: refreshActicity

n 作用

更新Activty的相关内容.包括在1.Androidmanifest.xml中注册
2.创建layout  3.更新布局中的控件至Activity中.

n 功能细节

ü 把未在AndroidManifest.xml中注册的Activity注册.

ü 如果Activity没有布局文件,则生成.

举例:存在一个LoginActivity,如果在layout中不存在activity_login.xml则会自动生成此文件. (即LoginActivity对应的布局文件必须为小写的activity_login.xml. 否则会生成.具体命名规则请参考下文COCO-Android命名规范)

ü 如果Activity对应的布局文件中,有ID未在Activity中注册,则自动注册.

举例:存在一个LoginActivity和其布局文件activity_login.xml. 在xml中存在一个ID为btn_login的Button. 如果此Button未在LoginActivity中初始化,执行本任务后,会在LoginActivity中自动添加以下代码:

(七)检测项目并生成报告: createReport

ü 生成项目检测报告,此功能基于Android的lint功能.

ü 执行此任务后,将在COCOBuild目录下生成”项目检测报告”文件夹.

ü 项目报告中关键信息已翻译为简体中文.(因为墙的问题,翻译功能暂时关闭)

检测报告截图

(八)生成所有APK: createAPK

n 任务准备

1. 使用此功能前,请先运行Cocobuild.xml的createBuildxml_ByCoco任务.

2. 把user目录的key替换为你的key.

3. 修改key.properties的key.alias和password属性跟你的key对应.

n 功能细节

ü 此任务调用createAPK_PRO和createAPK_DEV,生成正式版和测试版APK.

ü 生成的APK在user目录下

ü APK已签名

ü 相比IDE生成的APK,体积更小,性能更好.(编译期对class文件的优化)

(九)生成正式版APK: createAPK_PRO

生成正式版APK.

(十)生成测试版APK: createAPK_DEV

生成测试版APK

(十一)切换成测试代码: code2DEV

在代码中,可使用”#DEV”,”XDEV”来标注测试代码. 使用”#PRO” “XPRO”来标注正式代码.

可在build.property中添加自定义标签(此功能暂时关闭)

此任务执行后,切换代码为测试版本,如下图所示:

(十二)切换成正式代码: code2PRO

切换代码为正式版本

(十三)下载和配置build.properties

1. 从http://blog.csdn.net/landehuxi下载COCOBuild.rar,并解压到项目根目录.

2. 配置好build.properties即可使用.


属性


作用于



beanArray


功能五生成列表功能模块:createCode_ListView


com.example.TestBean

多个值用;隔开. TestBean必须继承自Bean


name_company


功能一统一开发环境:strucEclipse


XXX有限责任公司


path_lib


所有功能


项目的lib目录


sdk.dir


所有功能


Android SDK路径.   D:\android\sdk

(十四)命名规范

如果不遵循此规范,某些任务会无法执行.

1. 所有Activity命名样式为TestActivity. 以Activity.结尾.

2. TestActivity对应的布局名称为activity_test.xml

3. test.png如果有点击效果,则其点击效果图命名为test_f.png

4. 布局中id命名对应关系为


TextView


txt_test


Button


btn_test


ImageView


img_test


ListView


list_test


所有Layout


layout_test

(十五) 错误列表和解决方法

1. 错误: JDK version latest或者类似JDK版本的问题

解决: 请在Cocobuild.xml第375行插入:executable="你的路径/jdk1.7.0/bin/javac.exe"

2. 错误: Execute failed: java.io.IOException: Cannot run program "...zipalign.exe"

解决: 把android.tools.dir的值设置为包含zipalign.exe的文件夹

3. 直接用命令行运行build文件,则需额外配置Cocobuild.xml>refreshActicity_mainfest>resourcecontains>resource属性为

"你的项目地址//AndroidManifest.xml"

4. 如果ant的java命令报class version错误,是因为你的ant和Android的jre版本不一致.设置项目的java compiler和ant一致,clean项目,重新运行即可.

下载地址:http://download.csdn.net/detail/landehuxi/7673363

COCOBuild,布布扣,bubuko.com

时间: 2024-10-06 04:15:39

COCOBuild的相关文章

COCO-Android开发框架发布

一. COCO-Android说明 二. COCO-Android结构图 三. COCOBuild 四. COCOFrame 一.COCO-Android说明 1. COCO-Android是支撑Android原生开发的一个轻量级框架.包含COCOBuild和COCOFrame两个部分,可分别单独使用.其核心思想为抽取Android整个项目过程中(编码只是其中少部分工作)大量的重复性工作,采用自动化实现, 从而大幅度提高团队规范,开发效率,产品质量,降低开发成本. 2. COCOBuild为构建

COCOFrame

COCOFrame是一个轻量级的开发框架,集成了Android APP开发过程中常用的工具,方法,特效.其中F类采用的AndroidQuery实现,做了进一步的封装及部分优化. 1. Jar包大小:166K 2. 下载地址:http://download.csdn.net/detail/landehuxi/7673747 3. 解压缩,项目导入COCOFrame.jar 4. 直接在代码中使用S,F,U三个类即可. (一)S 工具服务-service 初始化:S.init(this); //如果

COCO-Android开发框架公布

一. COCO-Android说明 二. COCO-Android结构图 三. COCOBuild 四. COCOFrame 一.COCO-Android说明 1. COCO-Android是支撑Android原生开发的一个轻量级框架.包括COCOBuild和COCOFrame两个部分,可分别单独使用.其核心思想为抽取Android整个项目过程中(编码仅仅是当中少部分工作)大量的反复性工作,採用自己主动化实现, 从而大幅度提高团队规范,开发效率,产品质量,减少开发成本. 2. COCOBuild