預備環境
- AndroidStudio開發環境,要求安裝Android4.0或以上(API 14)SDK。
- 下載HBuilder離線打包Android版SDK(5+ SDK下載)。
離線打包SDK目錄說明
- HBuilder-Hello:離線打包演示應用;
- HBuilder-Integrate: 5+ SDK 集成和插件開發示例
- libs:SDK庫文件目錄;
- Feature列表.xls:Android平台各擴展Feature API對應的permission;
- Readme.txt:版本說明文件。
配置編譯工程
-
導入演示應用HBuilder-Hello工程
啟動AndroidStudio 點擊導入工程“import project”
選中工程所在目錄點擊“OK”
選擇生成的AndroidStudio工程的保存路徑,然后點擊“next”,
在演示工程中已經配置好HelloH5應用相關資源,完成導入后,可Shift F10直接編譯運行:
從SDK目錄中拷貝要使用的feature庫到工程app/libs目錄
參考“Feature列表.xls”文檔確定應用中使用到的擴展API,拷貝libs目錄中對應的“jar”文件拷貝到工程的app->libs目錄下,如果有引用“so”文件需要拷貝到工程的app->src->main->jniLibs下對應目錄中。如使用分享功能(新浪微博分享、騰訊微博分享,微信分享),則需要拷貝以下文件:
拷貝完成后在工程中刷新可在工程的libs目錄下顯示:
-
配置應用的權限
參考“Feature列表.xls”文檔確定應用中使用到的擴展API,在AndroidManifest.xml文件中刪除不用到API的權限。如不使用音頻(plus.audio.*)相關5+ API,則可刪除Audio相關的權限: -
配置其它第三方庫的數據
由於第三方庫需要使用一些特定的數據,所以在使用時需要將相關參數配置到AndroidManifest.xml文件中。如使用分享功能,則需要配置各分享平台的申請應用的相關參數:
如果不使用此類API,則可將此數據刪除。
插件的配置方法請參考以下文檔
Android離線打包插件配置
推送插件配置
分享插件配置
登陸鑒權插件配置
地圖插件配置
支付插件配置
定位插件配置 -
配置應用的包名及版本號
打開AndroidManifest.xml文件,在代碼視圖中修改根節點的package屬性值,如下:
其中package為應用的包名,采用反向域名格式,為應用的標識;versionCode為應用的版本號(整數值),用於各應用市場的升級判斷,建議與manifest.json中version -> code值一致;versionName為應用的版本名稱(字符串),在系統應用管理程序中顯示的版本號,建議與manifest.json中version -> name值一致。 -
配置應用名稱
打開app->res -> values -> strings.xml文件,修改“app_name”字段值,該值為安裝到手機上桌面顯示的應用名稱,建議與manifest.json中name(基礎配置中的應用名稱)對應: -
配置離線打包廣告支持及渠道打包配置
新版本SDK簡化了離線打包支持DCloud廣告聯盟功能。
AndroidManifest.xml文件中添加如下節點到節點中,並配置替換其中5+應用appid、廣告聯盟會員adid的值和渠道標識,因為涉及到開屏廣告業務,項目工程必須以io.dcloud.PandoraEntry作為5+應用的入口Activity。該activity已包含在lib.5plus.base-release中,開發者無需實現。復制代碼
<meta-data android:name="DCLOUD_AD_ID" android:value="廣告標識"/> <meta-data android:name="DCLOUD_AD_SPLASH" android:value="true"/><!--如果不開啟開屏廣告則不設置此字段或者值設置為false--> <meta-data android:name="DCLOUD_STREAMAPP_CHANNEL" android:value="包名|應用標識|廣告標識|渠道,如io.dcloud.appid|appid|adid|google" /><!--為了保證廣告統計的有效性,請正確設置此值-->
- 包名:對應Android項目中build.gradle中的applicationId,如io.dcloud.HBuilder
- 應用標識:對應對應5+或uni-app項目manifest.json中appid
- 廣告標識:DCloud的廣告標識,開通廣告后可在dev.dcloud.net.cn獲取,如果沒有開通廣告,設置值為空即可
- 渠道:渠道包制作指南
注意:提交谷歌應用市場(Google Play)時一定要將渠道標識設置為google!!!
注意:以上操作只是配置5+應用具備廣告能力,實際開通需要在manifest.json配置開關,具體參考DCloud廣告聯盟。
如果不需要支持廣告,仍然可以使用Widget和WebView方式集成。
-
配置應用圖標和啟動界面
將應用的圖標(文件名為icon.png)啟動圖片按照對應的尺寸拷貝到工程的app->src->main->res -> drawable-XXX目錄下: -
更新應用資源
打開app->src->main->assets -> apps 目錄,將下面“HelloH5”目錄名稱修改為應用manifest.json中的id名稱(這步非常重要,否則會導致應用無法正常啟動),並將所有應用資源拷貝到其下的www目錄中: -
配置應用信息
打開app->src->main->assets -> data下的control.xml文件,修改appid和appver的值:
其中appid值為HBuilder應用的appid,必須與應用manifest.json中的id值完全一致;appver為應用的版本號,用於應用資源的升級,必須保持與manifest.json中的version -> name值完全一致;version值為應用基座版本號(plus.runtime.innerVersion返回的值),不要隨意修改。 -
配置完成編譯運行
應用配置完畢,按Shift F10編譯運行應用
在彈出的設備列表對話框中選擇要運行的設備:
點擊OK后啟動應用:
常見問題
Q: 打包后頁面中無法調用5+API
A: 修改app->build.gradle文件defaultConfig節點下miniSdkVersion和targetSdkVersion屬性指定版本號為8
注意(新版已不需要添加):打包時如果修改APK的包名,則同時需要修改Rinfomation.java文件import的包名,
同時需要修改AndroidManifest.xml文件中引用包名的插件有
推送插件
微信(登陸,分享 ,支付),微信同時需要修改引入的WXEntryActivity.java和WXPayEntryActivity.java文件所在的包名
Q :使用Android Studio編譯時如果提示如下錯誤
A:
下載附件並解壓
點擊下載
點擊 Android Studio 菜單 File->Settings->Build,Execution,Development->Build Tools->Gradle選擇Use local gradle distribution,選擇附件解壓后的目錄點擊OK即可