RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkUI-X跨語言調(diào)用說明:平臺差異化【Android、ios動態(tài)化】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-23 14:38 ? 次閱讀

動態(tài)化介紹

簡介

ArkUI-X支持動態(tài)化,使用者可以根據(jù)自己需要動態(tài)發(fā)布跨平臺內(nèi)容,從而使跨平臺部分和宿主應(yīng)用進(jìn)行解耦。動態(tài)化能力支持如下兩個典型場景:

  1. 框架動態(tài)化:指ArkUI跨平臺開發(fā)框架本身可以做到動態(tài)下發(fā),即應(yīng)用發(fā)布時可以不帶框架基礎(chǔ)庫,降低應(yīng)用原始發(fā)布包體積,在需要時才從云端動態(tài)下發(fā)和執(zhí)行加載;
  2. 特性動態(tài)化:指用ArkTS語言開發(fā)的特性可以做到動態(tài)化,和宿主應(yīng)用解耦,獨立發(fā)布、升級版本;

說明 :應(yīng)用在使用動態(tài)化能力時需要遵循目標(biāo)終端操作系統(tǒng)應(yīng)用上架規(guī)則,如果違規(guī)可能有下架風(fēng)險,風(fēng)險由各自應(yīng)用承擔(dān)。 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

實踐參考

  • [Android平臺動態(tài)化開發(fā)指南]

Android平臺動態(tài)化開發(fā)指南

簡介

本文介紹如何在Android平臺進(jìn)行ArkUI-X動態(tài)化開發(fā),包括動態(tài)化目錄規(guī)則及約束。

適用場景

動態(tài)化主要包括兩個典型場景:

  • 場景1:框架動態(tài)化,為了降低應(yīng)用ROM體積占用,及滿足動態(tài)升級框架目的;
  • 場景2:特性Bundle動態(tài)化,特性和宿主應(yīng)用發(fā)布解耦;

開發(fā)指南

目錄說明

動態(tài)加載時要求應(yīng)用沙箱內(nèi)目錄架構(gòu)如下所示:

/data/data/應(yīng)用/files/arkui-x    
├── feature1                    # 跨平臺特性1
│   ├── ets                     # ets目錄
│   │   ├──sourceMaps.map
│   │   └──modules.abc
│   ├── resources.index         
│   ├── resources              
│   ├── module.json
│   └── libs                    # 特性bundle帶的so庫
│       ├── arm64-v8a
│       ├── armeabi-v7a
│       └── x86_64  
├── systemres                   # ArkUI公共資源
└── libs                        # 根目錄下libs庫
    ├── arm64-v8a               
    │    └──libarkui_android.so    # ArkUI-X引擎
    ├── armeabi-v7a           
    └── x86_64
  1. /data/data/應(yīng)用/files/arkui-x 可以視為ArkUI-X動態(tài)加載的沙箱根目錄,框架和特性Bundle均需要放在這個目錄下;
  2. 根目錄下的libs文件夾放置引擎(libarkui_android.so),及其他公共庫;
  3. 根目錄下要求按照module級別組織, 不可以重名

    加載優(yōu)先級

  • 引擎so庫:優(yōu)先加載應(yīng)用lib目錄下,如果未找到則去應(yīng)用沙箱根目錄加載;

  • 插件so庫:優(yōu)先加載應(yīng)用lib目錄下,如果未找到則去應(yīng)用沙箱根目錄嘗試加載,最后去插件自身的libs目錄加載;

  • module加載:優(yōu)先從應(yīng)用assets目錄下尋找,如果找不到則去沙箱內(nèi)嘗試加載;

  • systemres加載:同上,優(yōu)先加載應(yīng)用assets目錄,找不到則去沙箱內(nèi)加載;
    注意 :不建議應(yīng)用同一個module,即預(yù)制到應(yīng)用assets內(nèi)又在沙箱同時部署。

    框架初始化

    如果應(yīng)用使用了框架引擎動態(tài)化,首次下載引擎庫后將其放置/data/data/應(yīng)用/files/arkui-x/libs/arm64-v8a

目錄,之后再打開對應(yīng)跨平臺界面時初始化框架:

appDelegate = new StageApplicationDelegate();
appDelegate.initApplication(this)

后續(xù)再打開應(yīng)用,建議按照正常流程在Application里初始化框架,提前完全引擎庫加載,提高跨平臺模塊加載速度;

  • [iOS平臺動態(tài)化開發(fā)指南]

iOS平臺動態(tài)化開發(fā)指南

簡介

本文介紹如何在iOS平臺進(jìn)行ArkUI-X動態(tài)化開發(fā),包括動態(tài)化目錄規(guī)則及約束。

適用場景

由于iOS平臺AppStore不允許應(yīng)用動態(tài)更新so庫,因此ArkUI-X在iOS上動態(tài)化只能更新界面及業(yè)務(wù)邏輯構(gòu)成的abc,不支持so庫動態(tài)加載。應(yīng)用需要將ArkUI-X基礎(chǔ)庫、插件及業(yè)務(wù)so庫提前打包到應(yīng)用內(nèi)上架。

開發(fā)指南

目錄結(jié)構(gòu)

iOS平臺ArkUI-X沙箱內(nèi)目錄結(jié)構(gòu)如下所示:

/Data/Application/應(yīng)用/Documents/files/arkui-x    
├── feature1                    # 跨平臺特性1
│   ├── ets                     # ets目錄
│   │   ├──sourceMaps.map
│   │   └──modules.abc
│   ├── resources.index         
│   ├── resources              
│   └── module.json
└── systemres                   # ArkUI公共資源

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

搜狗高速瀏覽器截圖20240326151450.png

  1. /Data/Application/應(yīng)用/Documents/files/arkui-x可以視為ArkUI-X動態(tài)加載的沙箱根目錄,特性Bundle需要放在這個目錄下;
  2. 根目錄下要求按照module級別組織, 不可以重名 ;

加載優(yōu)先級

  • module加載:優(yōu)先從應(yīng)用根目錄下尋找,如果找不到則去沙箱內(nèi)嘗試加載;
  • systemres加載:同上,優(yōu)先加載應(yīng)用根目錄下的資源,找不到則去沙箱內(nèi)加載;
    注意 :不建議應(yīng)用同一個module,即預(yù)制到應(yīng)用內(nèi)又在沙箱同時部署。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3935

    瀏覽量

    127327
  • iOS
    iOS
    +關(guān)注

    關(guān)注

    8

    文章

    3395

    瀏覽量

    150555
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42801
收藏 人收藏

    評論

    相關(guān)推薦

    Android、iOS、鴻蒙平臺框架ArkUI-X

    AndroidiOS、鴻蒙多個平臺上提供生動而流暢的用戶界面體驗。 一、配套關(guān)系 表1 版本軟件和平臺配套關(guān)系 目標(biāo)
    的頭像 發(fā)表于 01-31 14:52 ?1778次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>Android</b>、<b class='flag-5'>iOS</b>、<b class='flag-5'>鴻蒙</b>多<b class='flag-5'>平臺</b>框架<b class='flag-5'>ArkUI-X</b>

    鴻蒙ArkUI-X平臺開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項目平臺應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS
    的頭像 發(fā)表于 05-21 17:39 ?1741次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺,比如AndroidiOS
    的頭像 發(fā)表于 05-20 16:28 ?805次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    鴻蒙ArkUI-X平臺開發(fā):【bility開發(fā)說明Android平臺)】

    本文介紹將ArkUI框架擴(kuò)展到Android平臺所需要的必要的類及其使用說明,開發(fā)者基于OpenHarmony,可復(fù)用大部分的應(yīng)用代碼(生命周期等)并可以部署到
    的頭像 發(fā)表于 05-21 10:54 ?941次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【bility開發(fā)<b class='flag-5'>說明</b>(<b class='flag-5'>Android</b><b class='flag-5'>平臺</b>)】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺橋接開發(fā)指南(Android)】

    平臺橋接用于客戶端(ArkUI)和平臺AndroidiOS)之間傳遞消息,即用于ArkUI
    的頭像 發(fā)表于 05-25 16:26 ?663次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b>橋接開發(fā)指南(<b class='flag-5'>Android</b>)】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺橋接開發(fā)指南(Android)Bridge API】

    本模塊提供ArkUI端和AndroidiOS平臺端消息通信的功能,包括數(shù)據(jù)傳輸、方法調(diào)用和事件調(diào)用
    的頭像 發(fā)表于 05-25 16:30 ?638次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b>橋接開發(fā)指南(<b class='flag-5'>Android</b>)Bridge API】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺橋接開發(fā)指南(Android)BridgePlugin】

    本模塊提供ArkUI端和Android平臺端消息通信的功能,包括數(shù)據(jù)傳輸、方法調(diào)用和事件調(diào)用。需配套Ar
    的頭像 發(fā)表于 05-22 14:52 ?1153次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b>橋接開發(fā)指南(<b class='flag-5'>Android</b>)BridgePlugin】

    鴻蒙ArkUI-X平臺差異化:【運(yùn)行態(tài)差異化(@ohos.deviceInfo)】

    邏輯不同,或使用了不支持平臺的API,就需要根據(jù)平臺不同進(jìn)行一定代碼差異化適配。當(dāng)前僅支持在代碼運(yùn)行態(tài)進(jìn)行差異化,接下來詳細(xì)介紹場景及如何
    的頭像 發(fā)表于 05-25 16:37 ?1840次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>平臺</b><b class='flag-5'>差異化</b>:【運(yùn)行態(tài)<b class='flag-5'>差異化</b>(@ohos.deviceInfo)】

    ArkUI-X開發(fā)指南:【SDK配置和構(gòu)建說明

    ArkUI-X SDK是ArkUI-X開源項目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有AndroidiOS應(yīng)用工程中,使開發(fā)者基于
    的頭像 發(fā)表于 05-25 16:48 ?2593次閱讀
    <b class='flag-5'>ArkUI-X</b>開發(fā)指南:【SDK配置和構(gòu)建<b class='flag-5'>說明</b>】

    資訊速遞 | ArkUI-X 預(yù)覽版已正式開源!

    較高。使用ArkUI-X平臺項目后,復(fù)雜單品詳情頁代碼一次編寫支持運(yùn)行到Android、iOS和HarmonyOS(OpenHarmony
    發(fā)表于 08-11 16:10

    資訊速遞 | ArkUI-X 預(yù)覽版已正式開源!

    開發(fā)的精美、高性能應(yīng)用同時運(yùn)行在AndroidiOS等其它OS平臺上。 ArkUI-X開源項目地址:https://gitee.com/arkui
    的頭像 發(fā)表于 08-22 22:19 ?824次閱讀
    資訊速遞 | <b class='flag-5'>ArkUI-X</b> 預(yù)覽版已正式開源!

    鴻蒙平臺框架:【ArkUi-X】創(chuàng)建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個文章分享一下
    的頭像 發(fā)表于 05-13 17:48 ?930次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>框架:【<b class='flag-5'>ArkUi-X</b>】創(chuàng)建工程

    鴻蒙ArkUI-X平臺技術(shù):【開發(fā)初體驗】

    在DevEco Studio中導(dǎo)入ArkUI-X Sample,快速創(chuàng)建平臺工程。
    的頭像 發(fā)表于 05-17 15:54 ?630次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術(shù):【開發(fā)初體驗】

    鴻蒙ArkUI-X平臺開發(fā):【 應(yīng)用工程結(jié)構(gòu)說明

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺,比如AndroidiOS
    的頭像 發(fā)表于 05-19 21:05 ?583次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>開發(fā):【 應(yīng)用工程結(jié)構(gòu)<b class='flag-5'>說明</b>】

    鴻蒙ArkUI-X語言調(diào)用說明:【平臺橋接(@arkui-x.bridge)】

    平臺橋接用于客戶端(ArkUI)和平臺AndroidiOS)之間傳遞消息,即用于ArkUI
    的頭像 發(fā)表于 05-21 15:09 ?725次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>語言</b><b class='flag-5'>調(diào)用</b><b class='flag-5'>說明</b>:【<b class='flag-5'>平臺</b>橋接(@<b class='flag-5'>arkui-x</b>.bridge)】
    RM新时代网站-首页