類型申請(qǐng)

創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元滄縣做網(wǎng)站,已為上家服務(wù),為滄縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
【↑↑↑注:這個(gè)包是鴻蒙方提供的,當(dāng)然也可以給我留言我給提供↑↑↑】
1、在 deviceConfig/default 中增加配置:"allowComponentsProxy": true
2、在 module 中增加 metaData/customizeData,配置如下內(nèi)容
修改 MainAbility 文件,覆寫 onStart 和 onStop 方法,注冊(cè) hms 服務(wù),具體如下
(若 IDE 提示找不到 HmsBridge 類,可重啟 IDE 再嘗試)
文件導(dǎo)入
登錄示例
登出示例
靜默檢查登錄授權(quán)
運(yùn)行結(jié)果??????????
注:具體的效果可以試一試,詳細(xì)的問題也可以留言找我
安卓有個(gè)清單文件,四大組件、權(quán)限等都需要在清單文件中注冊(cè),清單文件是個(gè)xml文件。類似的,鴻蒙應(yīng)用有個(gè)配置文件,應(yīng)用的每個(gè)HAP的根目錄下都存在一個(gè)“config.json”配置文件,主要涵蓋以下三個(gè)方面:
應(yīng)用的配置文件“config.json”中由“app”、“deviceConfig”和“module”三個(gè)部分組成,缺一不可。
app 示意:
deviceConfig 包含在具體設(shè)備上的應(yīng)用配置信息,可以包含 default 、 car 、 tv 、 wearable 、 liteWearable 、 smartVision 等屬性。 default 標(biāo)簽內(nèi)的配置是適用于所有設(shè)備通用,其他設(shè)備類型如果有特殊的需求,則需要在該設(shè)備類型的標(biāo)簽下進(jìn)行配置。
deviceConfig 對(duì)象的內(nèi)部結(jié)構(gòu)說明
default/car/tv/wearable 等對(duì)象的內(nèi)部結(jié)構(gòu)說明
network 對(duì)象的內(nèi)部結(jié)構(gòu)說明
securityConfig 對(duì)象的內(nèi)部結(jié)構(gòu)說明
deviceConfig 示例:
module 對(duì)象包含HAP包的配置信息,內(nèi)部結(jié)構(gòu)說明如下
module 示例:
distro 對(duì)象的內(nèi)部結(jié)構(gòu)說明
distro 示例:
abilities 對(duì)象的內(nèi)部結(jié)構(gòu)說明
abilities 示例:
form 對(duì)象的內(nèi)部結(jié)構(gòu)說明
form 示意
skills 對(duì)象的內(nèi)部結(jié)構(gòu)說明
skills 示例:
shortcuts 對(duì)象的內(nèi)部結(jié)構(gòu)說明
shortcuts 示意
以 JSON 文件為 config.json 的一個(gè)簡單示例,該示例的應(yīng)用聲明為三個(gè) Ability。
之前在樹莓派4b上點(diǎn)亮了OHOS3.0,不過內(nèi)核是用tftp拉取的,根文件系統(tǒng)掛在了NFS上,拔了網(wǎng)線就無法啟動(dòng)。當(dāng)然這么操作只是為了方便調(diào)試,而最終需要的是一個(gè)可以燒錄到TF卡上的img鏡像文件。這就需要將所有調(diào)試好的內(nèi)容添加到OHOS3.0的編譯框架,本以為是很簡單的事情,好家伙,整了這么久,感覺添加編譯框架比移植本身更復(fù)雜。于是我整理了添加樹莓派單板到編譯框架的內(nèi)容,希望對(duì)各位有所幫助,為大家避坑。
主要參考 hisilicon build組件倉,添加一個(gè)products編譯組件,這個(gè)組件是在產(chǎn)品配置文件中指定的。比如
productdefinecommonproductsRPI4B.json
其他部分參考Hi3516,但是其中2條,指定單板組件路徑,并添加組件。如果刪除這兩條,將不能編譯內(nèi)核,只生成OHOS的文件系統(tǒng)。
接下來在device目錄下,新建一個(gè)raspberrypi編譯組件文件夾,并添加 ohos.build 文件。和前面產(chǎn)品配置文件中的設(shè)置對(duì)應(yīng)起來了。
deviceraspberrypibuildohos.build
新建 deviceraspberrypibuildBUILD.gn 當(dāng)然每個(gè)廠家不可能只有1個(gè)板子,如果有其他單板就在這里指定,比如樹莓派2B、3B等
既然前面指定了rpi4b的編譯配置組件,那么就在 deviceraspberrypi 新建一個(gè) rpi4b 的目錄,可以參考 hi3516dv300 build組件
deviceraspberrypirpi4bBUILD.gn
至此一個(gè)rpi4b build組件就添加到OHOS3.0的編譯框架了,之后相關(guān)內(nèi)容添加到這個(gè)文件夾下就可以了。
接下來分析下目前移植了樹莓派4B的哪些內(nèi)容,如何將這些內(nèi)容編譯進(jìn)OHOS3.0。
關(guān)于補(bǔ)丁可以參考 Patch組件,可以得知內(nèi)核編譯由kernel.mk來執(zhí)行
kernellinuxbuildkernel.mk
所以補(bǔ)丁文件需要放到正確的路徑下,以正確的名字命名就可以patch到內(nèi)核。
hdf.patch補(bǔ)丁文件,現(xiàn)在還沒有移植HDF相關(guān)內(nèi)容,所以可以先使用Hi3516的
rpi4b.patch補(bǔ)丁文件,使用樹莓派的官方鏡像,
kernellinuxconfiglinux-5.10archarmconfigsrpi4b_standard_defconfig
內(nèi)核配置文件目前已知的需要開啟下面內(nèi)容,但是肯定不止這些,以后會(huì)繼續(xù)更新
Pi4的GPU是VideoCore VI支持OpenGL ES 3.2,而Pi3的GPU是VideoCore IV支持OpenGL ES 2.0。VideoCore IV 驅(qū)動(dòng)程序是 VC4,VideoCore VI 驅(qū)動(dòng)程序的 V3D。內(nèi)核已經(jīng)提供驅(qū)動(dòng),參考rpi4b_standard_defconfig將驅(qū)動(dòng)直接編入到內(nèi)核。
同時(shí)需要在config.txt中開啟設(shè)置
OHOS中修改weston的配置文件,指定顯示驅(qū)動(dòng)
systemetcweston.ini
具體思路就是先查找設(shè)備號(hào),根據(jù)設(shè)備號(hào)找到驅(qū)動(dòng)程序。
前面內(nèi)核配置的時(shí)候rpi4b_standard_defconfig中已經(jīng)將觸摸驅(qū)動(dòng)編入內(nèi)核,所以后面不需要在init加載模塊了,修改下eudev的配置文件即可。
third_partyeudevrules.d ouchscreen.rules
正常情況下內(nèi)核是由uboot進(jìn)行引導(dǎo)的,而且OHOS默認(rèn)生成uImage。但是樹莓派自帶BootLoader,雖然可以先用樹莓派自帶的BootLoader啟動(dòng)uboot,再用uboot加載uImage,但是這樣會(huì)比較麻煩,而且會(huì)增加啟動(dòng)時(shí)間。不過目前 zImage是寫死在kernel.mk中的,沒辦法改下編譯腳本把。
kernellinuxbuildkernel.mk 將 uImage 改為 zImage modules dtbs
kernellinuxbuildbuild_kernel.sh
kernellinuxbuildBUILD.gn
kernellinuxbuildkernel_module_build.sh
這里內(nèi)核編譯會(huì)依賴product_path="vendor/$product_company/$product_name"下的hdf.hcs文件,得先新建一個(gè)應(yīng)付下,不然會(huì)報(bào)下面這個(gè)錯(cuò)誤。
ninja: error: '../../vendor/raspberrypi/RPI4B/hdf_config/uhdf/hdf.hcs', needed by 'gen/drivers/adapter/uhdf2/hcs/hdf_default.hcb', missing and no known rule to make it
新建:vendor/raspberrypi/RPI4B/hdf_config/uhdf/hdf.hcs
對(duì)于鏡像燒錄,Hi3516會(huì)將uImage、system.img、vendor.img等鏡像燒寫到emmc,但是樹莓派使用TF卡啟動(dòng),所以需要對(duì)TF卡進(jìn)行分區(qū),然后復(fù)制對(duì)應(yīng)的內(nèi)容到各個(gè)分區(qū)。首先制作樹莓派boot目錄,這個(gè)用來目錄存放樹莓派設(shè)備樹、config.txt、cmdline.txt、內(nèi)核鏡像等信息。寫一個(gè)簡單的mkboot.py腳本來實(shí)現(xiàn)這個(gè)功能,位置在碼倉rpi4bdeviceraspberrypiimagesmkboot.py將會(huì)生成boot.img。
為了方便燒錄,需要將boot.img、system.img、updater.img、vendor.img、userdata.img合并成一個(gè)rpi4b.img。還是寫一個(gè)簡單的腳本來處理這個(gè)步驟rpi4bdeviceraspberrypiimagesmkboot.py。
不過有個(gè)問題,主分區(qū)只支持4個(gè),所以u(píng)pdater.img暫時(shí)先不合并了,這個(gè)問題等以后再來處理。
最后將會(huì)得到一個(gè)rpi4b.img的鏡像文件,將這個(gè)文件燒錄到SD卡就可以了。
Linux:可以使用dd命令
windows:使用Win32 Disk Imager工具燒錄即可。
到這里總算是跑通了一個(gè)完整的添加新單板的流程,只不過目前只適配了顯示和觸摸。接下來打算嘗試HDF或者distributed部分。
本文標(biāo)題:鴻蒙開發(fā)添加module,鴻蒙系統(tǒng)添加
文章位置:http://chinadenli.net/article31/dsshhsd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、全網(wǎng)營銷推廣、移動(dòng)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)