預備環境
-
Android開發環境,推薦使用ADT開發工具;
並要求安裝Android4.0(API 14)SDK。 -
下載HBuilder離線打包Android版SDK(5+ SDK下載)。
離線打包SDK目錄說明
- HBuilder-Hello:離線打包演示應用;
- libs:SDK庫文件目錄;
- Feature列表.xls:Android平臺各擴展Feature API對應的permission;
- Readme.txt:版本說明文件。
配置編譯工程
- 導入演示應用HBuilder-Hello工程
啓動帶ADT的eclipse程序,菜單中選擇“File”-> “Import”,打開Import對話框,選中Android下的“Existing Android Code Inot Workspace”:
點擊“Browse...”選擇模板應用的目錄,並選中“Copy project into workspac”將應用導入到Workspace中:
演示工程中已經配置好HelloH5應用相關資源,完成導入後,可Ctrl+F11直接編譯運行:
- 從SDK目錄中拷貝要使用的feature庫到工程libs目錄
參考“Feature列表.xls”文檔確定應用中使用到的擴展API,拷貝libs目錄中對應的jar/so文件到應用工程的libs目錄下。如使用分享功能(新浪微博分享、騰訊微博分享,微信分享),則需要拷貝以下文件:
拷貝完成後在工程中F5刷新可在工程的libs目錄下顯示:
注意:如果不需要使用到HTML5Plus API,則僅需要pdr.jar包即可。
- 配置應用的權限
參考“Feature列表.xls”文檔確定應用中使用到的擴展API,在AndroidManifest.json文件中刪除不用到API的權限。如不使用音頻(plus.audio.*)相關5+ API,則可刪除Audio相關的權限:
- 配置其它第三方庫的數據
由於第三方庫需要使用一些特定的數據,所以在使用時需要將相關參數配置到AndroidManifest.json文件中。如使用分享功能,則需要配置各分享平臺的申請應用的相關參數:
如果不使用此類API,則可將此數據刪除。
- 配置應用的包名及版本號
打開AndroidManifest.xml文件,在代碼視圖中修改根節點的package屬性值,如下:
其中package爲應用的包名,採用反向域名格式,爲應用的標識;versionCode爲應用的版本號(整數值),用於各應用市場的升級判斷,建議與manifest.json中version -> code值一致;versionName爲應用的版本名稱(字符串),在系統應用管理程序中顯示的版本號,建議與manifest.json中version -> name值一致。
注意:因爲其它第三方的SDK也使用到包名相關資源配置,所以需要在AndroidManifest.xml將所有“io.dcloud.HBuilder.Hello”替換成要修改成的包名。
- 配置應用名稱
打開res -> values -> strings.xml文件,修改“app_name”字段值,該值爲安裝到手機上桌面顯示的應用名稱:
- 配置應用圖標和啓動界面
將應用的圖標(文件名爲icon.png)和啓動圖片按照對應的尺寸拷貝到工程的res -> drawable-XXX目錄下:
- 更新應用資源
打開assets -> apps 目錄,將下面“HelloH5”目錄名稱修改爲應用manifest.json中的id名稱(這步非常重要,否則會導致應用無法正常啓動),並將所有應用資源拷貝到其下的www目錄中:
- 配置應用信息
打開assets -> data下的control.xml文件,修改appid值:
其中appid值爲HBuilder應用的appid,必須與應用manifest.json中的id值完全一致;appver爲應用的版本號,用於應用資源的升級,必須保持與manifest.json中的version -> name值完全一致;version值爲應用基座版本號(plus.runtime.innerVersion返回的值),不要隨意修改。
配置完成編譯運行
應用配置完畢,按Ctrl+F11編譯運行應用:
選擇“Android Application”啓動應用,在彈出的設備列表對話框中選擇要運行的設備:
點擊OK後啓動應用:
編譯運行後在bin目錄下會生成apk,此apk不能提交到應用市場
如果要生成提交到應用市場的正式apk請搜索“android導出apk”
編譯過程中碰到問題可參考Android離線打包常見問題
iOS平臺請參考iOS離線打包