色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發學習:【appspawn應用孵化組件】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-18 22:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

功能簡介

應用孵化器,負責接受應用程序框架的命令孵化應用進程,設置其對應權限,并調用應用程序框架的入口。

基本概念

appspawn注冊的服務名稱為“appspawn”。appspawn 通過監聽本地socket,接收來自客戶端的請求消息。消息類型為AppParameter的結構體,定義路徑為:“interfaces/innerkits/include/appspawn_msg.h“。

表 1 字段說明

字段名說明
processName即將啟動的應用服務進程名,最大256字節。
bundleName即將啟動的應用程序包名,最大256字節。
soPath即應用程序指定的動態庫的路徑,最大256字節。
uid即將啟動的應用進程的uid。
gid即將啟動的應用進程的gid。
gidTable即將啟動的應用進程組信息,長度由gidCount指定,最大支持64個進程組,必須為正值。
gidCount即將啟動的應用進程組個數。
accessTokenId即應用進程權限控制的token id。
apl即應用進程權限控制的apl,最大32字節.
renderCmd即圖形圖像渲染命令, 最大1024字節。
flags即冷啟動標志位。
pid即渲染進程pid,查詢渲染進程退出狀態。
AppOperateType即App操作類型,0: 默認狀態; 1:獲取渲染終止狀態。

約束與限制

僅限標準系統下使用

開發指導

場景介紹

  • 安全控制
    支持為app設置SELinux標簽
    SELinux標簽接口代碼如下:

    AppSpawnClientExt *appProperty = (AppSpawnClientExt *)client;
    HapContext hapContext;
    ret = hapContext.HapDomainSetcontext(appProperty- >property.apl, appProperty- >property.processName);
    if (ret != 0) {
        APPSPAWN_LOGE("AppSpawnServer::Failed to hap domain set context, errno = %d %s",
            errno, appProperty- >property.apl);
    } else {
        APPSPAWN_LOGI("AppSpawnServer::Success to hap domain set context, ret = %d", ret);
    }
    
  • 應用進程控制

    • 支持為app設置AccessToken。
    • 支持重啟前,appspawn停止后,可同時停止所有已孵化的app進程。

    AccessToken接口代碼如下:

    AppSpawnClientExt *appProperty = (AppSpawnClientExt *)client;
    int32_t ret = SetSelfTokenID(appProperty- >property.accessTokenId);
    APPSPAWN_LOGI("AppSpawnServer::set access token id = %d, ret = %d %d", appProperty- >property.accessTokenId, ret, getuid());
    
  • 冷啟動
    支持通過aa命令冷啟動應用。

    param set startup.appspawn.cold.boot 1 // 打開冷啟動開關
    aa start -d 12345 -a $name -b $package -C
    參考:
    aa start -d 12345 -a ohos.acts.startup.sysparam.function.MainAbility -b ohos.acts.startup.sysparam.function -C
    
  • 應用沙盒
    應用獨立運行于自身沙盒環境。應用沙盒中,只保留應用依賴的庫或文件,同時,應用之間數據的也進行隔離。

接口說明

接口定義路徑: "/base/startup/appspawn/interfaces/innerkits/include/client_socket.h",接口說明參見表2。

表 2 接口說明

接口名說明
CreateClient創建client。
CloseClient關閉client。
ConnectSocket向appspawn服務發起連接請求。
WriteSocketMessage發送消息到appspawn服務。
ReadSocketMessage接收來自appspawn服務的消息。

開發步驟

沙盒配置說明:

{
      "common" : [{                                           // 應用沙盒通用掛載項
          "top-sandbox-switch": "ON",                         // 沙盒總開關 ON: 打開, OFF: 關閉
          "app-base" : [{
              "sandbox-root" : "/mnt/sandbox/< PackageName >",  // 沙盒根路徑
              "mount-paths" : [{
                      "src-path" : "/config",                 // mount的源目錄
                      "sandbox-path" : "/config",             // 沙盒掛載路徑
                      "sandbox-flags" : [ "bind", "rec" ],    // 掛載方式
                      "check-action-status": "false"          // false 不檢查當前項掛載結果, true: 檢查當前項掛載結果
                  }
              ],
              "symbol-links" : [{                             // link 的目錄項
                      "target-name" : "/system/bin",          // link 的源目錄
                      "link-name" : "/bin",                   // 鏈接名稱
                      "check-action-status": "false"
                  }
              ]
          }],
      // 應用獨有配置參考
      "individual" : [{                                        // 個別應用單獨掛載項
          "com.ohos.medialibrary.MediaLibraryDataA" : [{       // 應用名
              "sandbox-switch": "ON",                          // ON: 掛載沙盒路徑, OFF: 掛載根路徑
              "sandbox-root" : "/mnt/sandbox/< PackageName >",   // 沙盒根路徑
              "mount-paths" : [{
                      "src-path" : "/storage/media/< currentUserId >",
                      "sandbox-path" : "/storage/media",
                      "sandbox-flags" : [ "bind", "rec" ],
                      "check-action-status": "false"
                  }
              ],
              "symbol-links" : []
          }]
      }]
  }

參考沙盒配置說明,修改配置文件。

  • 進入設備下:/system/etc/sandbox/路徑下,直接修改對應沙盒配置文件, 重新啟動。
  • 代碼路徑下:base/startup/appspawn_standard, 修改對應沙盒配置文件。

表 3 沙盒配置文件解釋

沙盒配置文件解釋
appdata-sandbox64.json64位系統的沙盒配置
appdata-sandbox.json32位系統的沙盒配置
product-sandbox.json應用沙盒的產品差異化配置

開發實例

以launcher應用新增獨有配置應用為例:

"com.ohos.launcher" : [{
    "sandbox-switch": "ON",
    "sandbox-root" : "/mnt/sandbox/< PackageName >",
    "mount-paths" : [{
            "src-path" : "/data/app/el1/bundle/public/",
            "sandbox-path" : "/data/bundles/",
            "sandbox-flags" : [ "bind", "rec" ],
            "check-action-status": "true"
        }
    ],
    "symbol-links" : []
}],

常見問題

冷啟動應用失敗

現象描述
通過命令冷啟動應用, 應用拉起失敗。

解決方法

  1. 需要設置 param set startup.appspawn.cold.boot 1生效。

  2. 確認冷啟動命令是否正確。

    審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    60

    文章

    2627

    瀏覽量

    44086
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數

    【HarmonyOS 5】鴻蒙頁面和組件生命周期函數 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財
    的頭像 發表于 07-11 18:24 ?302次閱讀

    【HarmonyOS 5】金融應用開發鴻蒙組件實踐

    【HarmonyOS 5】金融應用開發鴻蒙組件實踐 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##
    的頭像 發表于 07-11 18:20 ?301次閱讀
    【HarmonyOS 5】金融應用<b class='flag-5'>開發</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>組件</b>實踐

    飛書開源“RTV”富文本組件 重塑鴻蒙應用富文本渲染體驗

    更高效的富文本解決方案。 富文本作為內容展示和信息交互的重要形式,在內容創作、辦公協作、教育學習、企業應用等多種復雜業務場景中扮演著重要角色。隨著鴻蒙生態應用類型的不斷豐富,富文本渲染成為各類應用開發過程中不可或缺的基礎能力。
    的頭像 發表于 07-11 15:20 ?131次閱讀
    飛書開源“RTV”富文本<b class='flag-5'>組件</b> 重塑<b class='flag-5'>鴻蒙</b>應用富文本渲染體驗

    開鴻開發板深度體驗:從開源鴻蒙開發到AI場景實踐

    開鴻開發板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗開源鴻蒙能力學習開源鴻蒙開發●●●搭載K
    的頭像 發表于 07-03 17:03 ?372次閱讀
    開鴻<b class='flag-5'>開發</b>板深度體驗:從開源<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>到AI場景實踐

    鴻蒙5開發寶藏案例分享---Swiper組件性能優化實戰

    鴻蒙寶藏:Swiper組件性能優化實戰,告別卡頓丟幀! 大家好!最近在鴻蒙開發時,偶然發現了官方文檔里埋藏的 性能優化寶藏案例 ,尤其是<span class=\"
    發表于 06-12 17:53

    HarmonyOS實戰:組件化項目搭建

    前言 鴻蒙應用開發已經成為互聯網新的風口,開發鴻蒙軟件已經成為今年工作的核心目標。在軟件開發過程中,對于復雜度較大,功能較多的軟件都會采用
    的頭像 發表于 06-09 14:58 ?231次閱讀
    HarmonyOS實戰:<b class='flag-5'>組件</b>化項目搭建

    2025開源鴻蒙開發者大會圓滿落幕

    近日,開源鴻蒙開發者大會2025(OHDC.2025,簡稱“大會”)在深圳隆重開幕。大會正式發布了開源鴻蒙5.1 Release版本,舉行了開源鴻蒙應用技術
    的頭像 發表于 05-26 17:03 ?590次閱讀

    鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置

    本文介紹OpenHarmony5.0 DevEco Studio開發工具安裝與配置,鴻蒙北向開發入門必備!由觸覺智能Purple Pi OH鴻蒙開發
    的頭像 發表于 03-28 18:05 ?892次閱讀
    <b class='flag-5'>鴻蒙</b>北向<b class='flag-5'>開發</b>OpenHarmony5.0 DevEco Studio<b class='flag-5'>開發</b>工具安裝與配置

    開源啦?。。』?b class='flag-5'>鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創

    Hello;大家好,我是陳楊。好久沒更新了,首先是自己本職工作比較忙,基本沒時間寫作。其次就是學習技術,自學鴻蒙ArkTS語言已經接近半年了,也算半路出師了,這次將分享我封裝的組件庫,所以有啥講錯
    發表于 03-15 15:21

    【「極速探索HarmonyOS NEXT 」閱讀體驗】 初印象:一本純血鴻蒙應用開發入門的好書

    非常有幸的于近日收到了電子發燒友寄來的《 極速探索HarmonyOS NEXT **** 純血鴻蒙應用開發實踐》這本由清華大學出版社出版的一本純血鴻蒙應用開發
    發表于 03-04 12:41

    HarmonyOS 應用開發賦能套件:鴻蒙原生應用開發的 “神助攻”

    隨著鴻蒙生態的快速發展,越來越多的開發者投身于鴻蒙原生應用的開發中。然而,在學習鴻蒙原生應用
    發表于 02-17 16:37

    AIGC入門及鴻蒙入門

    JDK、配置SDK等。 3. 開發實踐: 學習鴻蒙系統的架構和API,了解其組件化、分布式等特性。 通過官方文檔和社區資源,學習和掌握
    發表于 01-13 10:32

    《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發

    《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發 隨著HarmonyOS NEXT發布,鴻蒙生態日益壯大,廣大開發者對于
    發表于 01-02 14:24

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示

    開源鴻蒙OpenHarmony系統下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區推薦
    的頭像 發表于 12-24 11:46 ?749次閱讀
    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>板演示

    鴻蒙原生開源庫ViewPool在OpenHarmony社區正式上線

    近日,由伙伴參與共建的鴻蒙原生開源庫“ViewPool”在OpenHarmony社區正式上線。這個開發庫是基于OpenHarmony技術孵化的成果,充分發揮了平臺的技術特性,同時融入了伙伴在應用
    的頭像 發表于 12-20 14:44 ?639次閱讀
    主站蜘蛛池模板: 十大禁止安装的黄台有风险 | 国产视频精品在线偷拍 | 国产成人无码精品久久久按摩 | 国产亚洲精品网站在线视频 | RUN AWAY无删减全集动漫 | 久久亚洲国产成人影院 | 妈妈的朋友5在线观看免费完整版中文 | 亚洲欧洲自拍偷拍 | 久久免费精品视频 | blacked黑人战小美女 | 又黄又肉到湿的爽文 | 久久这里只有精品1 | 老女人与小伙子露脸对白 | 三级黄色在线看 | 国外色幼网 | 跪趴式啪啪GIF动态图27报 | 好嗨哟在线看片免费 | 91精品欧美一区二区三区 | 久久精品99热超碰 | 成人在线高清不卡免费视频 | 果冻传媒最新视频在线观看 | 黑人玩弄极品人妻系列 | 亚洲AV日韩AV欧美在线观看网 | 手机看片国产免费久久网 | 日本三级黄色大片 | 亚洲免费在线观看 | 男人天堂2018亚洲男人天堂 | 在线精品视频成人网 | 精品无码国产自产在线观看水浒传 | 日产日韩亚洲欧美综合搜索 | 久久艹综合 | 羽月希被黑人吃奶dasd585 | 忘忧草在线影院WWW日本动漫 | 黑人开嫩苞| 欧美做真爱欧免费看 | 麻豆出品国产AV在线观看 | 国产精品久久久久久亚洲毛片 | 1819sextub欧美中国 | 狼群资源网中文字幕 | 亚洲日本一区二区三区在线不卡 | 国产AV一区二区三区日韩 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品