Android平台本地(離線)打包指南 - Android Studio


預備環境

  • 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廣告聯盟
      如果不需要支持廣告,仍然可以使用WidgetWebView方式集成。
  • 配置應用圖標和啟動界面
    將應用的圖標(文件名為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即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM