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.xmlCocobuild_apk.xml. 所有任務均可單獨執行.

  • Cocobuild.xml功能如下:

 

  • Cocobuild_apk.xml功能如下:

 

 

使用方法:

  •  在Eclipse,右鍵點擊Cocobuild.xmlCocobuild_apk.xml,選擇Run As
  •  選擇第一個Ant build將會執行所有任務
  •  選擇第二個Ant build可自己勾選要執行的任務

下文的一到七功能位於Cocobuild.xml.八到十二功能位於Cocobuild_apk.xml.(要先執行Cocobuild.xmlcreateBuildxml_ByCoco任務.)

 

所有任務詳解

(一)統一開發環境: strucEclipse

  •  作用

1. 配置Eclipse開發環境.

2. 此任務/target保證團隊代碼統一性,不同開發人員格式化後的代碼依然會保持一致,不會對提交CVS,SVN等造成影響對代碼質量也有一定的優化.

3.務必保證當前運行的eclipse的工作空間和當前target的操作目錄一致

  •  功能細節

  1.  統一團隊JAVA代碼風格 縮進,換行,每行長度,XML樣式,變量排序,方法排序等
  2.  統一團隊清理規範 移除無用變量,移除無用方法移除無用import,移除無用的強轉
  3.  統一團隊註解規範 增加必要的註解@override,@deprecated,序列化
  4.  統一團隊快捷鍵 優化了合併多個Eclipse快捷鍵,對原本的快捷鍵使用無影響
  5.  代碼的優化 會自動對for循環,迭代器等代碼做優化
  6.  統一團隊註釋風格和內容 類註釋方法註釋,變量註釋未啓用

  •  使用方法

1. 此任務/target運行完畢後,重啓Eclipse自動生效.

2. 在編輯JAVA類時,選擇菜單欄的Source,點擊Clean Up會出現COCOFrame_cleanup選項.直接點擊next或者finish即可完成格式化代碼,清空無用的變量,清空無用的方法,優化部分代碼的效果.

3. 爲類增加”文檔註釋/雙星號註釋”時,自動添加公司信息,版本信,作者等內容.

4. 可以在build.propertiesname_company屬性修改公司名稱.

5. 在XMLJAVA文件中按Ctrl+Shift+F格式化效果將更加美觀.

  •  部分功能截圖效果

所有開發人員在類前,增加”文檔註釋/雙星號註釋”時會自動增加以下內容.此處”XX有限公司”可以在build.propertiesname_company屬性修改.

 

 

XML格式化後風格

 

 

 

(二)生成APK配置: createBuildxml_ByCoco

  •  作用

1. 根據當前項目環境,生成buildapk.xml.

2. Cocobuild_apk.xml.打包APK依賴於buildapk.xml.

  •  部分功能截圖效果

 

(三)標準目錄構建: createFolder

  •  作用

1. 酌情使用,爲項目生成標準化目錄及標準化文件.dimens.xml,drawable-xxhdpi,Menu Folder.

2. 使用ADT創建項目時,自動創建的文件夾及文件也許不能滿足常用的需求,需要在開發過程中手工創建一些標準目錄及文件這個任務可以解決此問題.

3. 對Android項目結構不瞭解,不清楚什麼時候該創建什麼樣的文件夾/文件.

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

  •  功能細節

 生成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 英文

 

  •  部分功能截圖效果

 

 

(四)生成selector: searchSelect

  •  作用

  1.  所有Drawable文件夾中的以_f結尾的圖片,會自動生成對應的selector點擊文件.
  2.  如drawble中含有BtnLogin.pngBtnLogin_f.png,將會在drawable-nodpi下生成select_BtnLogin.xml
  3.  在UED製圖時遵循此標準,則開發人員可直接運行此任務來更新selector.

  •  部分功能截圖效果

 

 

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

  •  作用

生成ListView樣式的功能模塊,包括Activity和佈局.

此功能需要四步操作.

1. 在項目中導入Cocoframe.jar

2. 定義一個Bean繼承自fay.frame.tools.Bean

3. 在build.propertiesbeanArray屬性添加Bean

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

刷新項目,src/cocobuild中即可看到生成的類.res/layout中可看到生成的佈局文件.

  •  功能細節

1. Bean必須繼承自fay.frame.tools.Bean

2. 只有在build.propertiesbeanArray屬性中註冊的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”都可直接顯示頭像其他更爲便捷的功能參考COCOFrameAPI.

8. 對應一個Bean會生成的文件有:ListActivity, Adapter, AddActivity, EditActivity, ShowActivity及其依賴的佈局文件.

9. 生成的ListView具有搜索,數據本地緩存,下拉刷新,圖片緩存,圖片壓縮,網絡圖片,SD卡圖片,ListView添加Holder,ConvetView等功能.

10. 爲了方便查看生成效果,ListView默認使用的本地數據如果想使用網絡數據,把主Activity  onRefresh()方法中的getDataFromDB()替換爲getDataFromServer(), 並把url替換爲接口地址即可.

  •  實例/截圖說明

假如在項目中有用戶列表功能,用來展示用戶姓名,生日,年齡,頭像等信息,首次採用CocoBuild.xml生成詳細步驟如下:

1. 在項目中導入Cocoframe.jar

2. 創建用戶Bean位於com.example.buildtest.bean.BeanPerson並繼承自fay.frame.tools.Bean,代碼截圖如下:

 

3.在build.propertiesbeanArray=com.example.buildtest.bean.BeanPerson

4.選擇createCode_ListView任務,並執行

 

 

 

 

5.執行過程

 

6.執行完畢後,刷新項目,下圖紅圈內即爲生成的代碼

 

 

執行完畢後,刷新項目,下圖即爲生成的佈局

 

8.右鍵點擊項目,運行,真機效果:

 

 


(六)更新Activity: refreshActicity

  •  作用

更新Activty的相關內容.包括在1.Androidmanifest.xml中註冊 2.創建layout  3.更新佈局中的控件至Activity.

  •  功能細節

  1.  把未在AndroidManifest.xml中註冊的Activity註冊.
  2.  如果Activity沒有佈局文件,則生成

舉例:存在一個LoginActivity,如果在layout中不存在activity_login.xml則會自動生成此文件. (LoginActivity對應的佈局文件必須爲小寫的activity_login.xml. 否則會生成.具體命名規則請參考下文COCO-Android命名規範)

3.   如果Activity對應的佈局文件中,ID未在Activity中註冊,則自動註冊

舉例:存在一個LoginActivity和其佈局文件activity_login.xml. xml中存在一個IDbtn_loginButton. 如果此Button未在LoginActivity中初始化,執行本任務後,會在LoginActivity中自動添加以下代碼:

 

 

(七)檢測項目並生成報告: createReport

  1.  生成項目檢測報告,此功能基於Androidlint功能.
  2.  執行此任務後,將在COCOBuild目錄下生成”項目檢測報告”文件夾.
  3.  項目報告中關鍵信息已翻譯爲簡體中文.(因爲牆的問題,翻譯功能暫時關閉)

 

 

  • 檢測報告截圖


(八)生成所有APK: createAPK

  •  任務準備

1. 使用此功能前,請先運行Cocobuild.xmlcreateBuildxml_ByCoco任務.

2. 把user目錄的key替換爲你的key.

3. 修改key.propertieskey.aliaspassword屬性跟你的key對應.

  •  功能細節

  1.  此任務調用createAPK_PRO和createAPK_DEV,生成正式版和測試版APK.
  2.  生成的APKuser目錄下
  3.  APK已簽名
  4.  相比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.xml375行插入: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. 如果antjava命令報class version錯誤,是因爲你的antAndroidjre版本不一致.設置項目的java compilerant一致,clean項目,重新運行即可.


功能持續更新中....bug持續修復中....

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章