国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

跟著小白一起學(xué)鴻蒙—如何編譯OpenHarmony自帶APP

系統(tǒng) OpenHarmony
在主干代碼的applications目錄里聚集了很多原生的應(yīng)用實(shí)現(xiàn),那么如何編譯這些代碼就是我們這篇文章的主要議題。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

概述

OpenHarmony的主干代碼是開源社區(qū)的重要學(xué)習(xí)資源,對于想進(jìn)行應(yīng)用開發(fā)和熟悉OpenHarmony能力的同學(xué)主干代碼是非常重要的資源,在主干代碼的applications目錄里聚集了很多原生的應(yīng)用實(shí)現(xiàn),那么如何編譯這些代碼就是我們這篇文章的主要議題。

使用DevEco導(dǎo)入編譯

導(dǎo)入代碼

#盲盒+碼##跟著小白一起學(xué)鴻蒙#如何編譯OpenHarmony自帶APP-開源基礎(chǔ)軟件社區(qū)

自動下載npm包

導(dǎo)入應(yīng)用后,IDE工具就會自動sync相關(guān)依賴npm包,完成之后會出現(xiàn)以下界面。

#盲盒+碼##跟著小白一起學(xué)鴻蒙#如何編譯OpenHarmony自帶APP-開源基礎(chǔ)軟件社區(qū)

然后即可以開始build

#盲盒+碼##跟著小白一起學(xué)鴻蒙#如何編譯OpenHarmony自帶APP-開源基礎(chǔ)軟件社區(qū)

一些報錯處理

sdk依賴缺失:

ETS:ERROR File: D:/gitee/applications_app_samples-master/settings1118/settings/settings/product/phone/src/main/ets/model/wifiImpl/WifiModel.ts:386:20
Property 'removeDevice' does not exist on type 'typeof wifi'.

ETS:ERROR File: D:/gitee/applications_app_samples-master/settings1118/settings/settings/product/phone/src/main/ets/model/wifiImpl/WifiModel.ts:391:37
Property 'getDeviceConfigs' does not exist on type 'typeof wifi'.

ETS:ERROR File: D:/gitee/applications_app_samples-master/settings1118/settings/settings/product/phone/src/main/ets/model/wifiImpl/WifiModel.ts:395:24
Property 'connectToDevice' does not exist on type 'typeof wifi'.

ETS:ERROR File: D:/gitee/applications_app_samples-master/settings1118/settings/settings/product/phone/src/main/ets/model/wifiImpl/WifiModel.ts:439:41
Property 'getDeviceConfigs' does not exist on type 'typeof wifi'.

以上錯誤即為sdk缺失導(dǎo)致,也就是import wifi from ‘@ohos.wifi’;這個d.ts文件里沒有和主干最新的接口和功能同步,這時候偷懶的法子就是在對應(yīng)的文件頭增加// @ts-nocheck,如下。如果是正規(guī)方式,則應(yīng)該找主干代碼里的對應(yīng)文件,拷貝到IDE的sdk目錄下。

// @ts-nocheck
import LogUtil from '../../../../../../../common/utils/src/main/ets/default/baseUtil/LogUtil';
import ConfigData from '../../../../../../../common/utils/src/main/ets/default/baseUtil/ConfigData';
import wifi from '@ohos.wifi';
import BaseModel from '../../../../../../../common/utils/src/main/ets/default/model/BaseModel';

按以上套路能編譯出來,提示信息如下:

> hvigor Finished :phone:CompileResources... after 602 ms
> hvigor WARN: ETS:WARN File: D:\gitee\applications_app_samples-master\settings1118\settings\settings\product\phone\src\main\ets\pages\volumeControl.ets
It's not a recommended way to export struct with @Entry decorator, which may cause ACE Engine error in component preview mode.
COMPILE RESULT:SUCCESS { WARN:1}
> hvigor Finished :phone:CompileETS... after 33 s
> hvigor Finished :phone:CompileJS... after 988 μs
> hvigor Finished :phone:SyscapTransform... after 2 ms 210 μs
> hvigor Finished :phone:PackageHap... after 1 s 510 ms
> hvigor WARN: Will skip sign 'hap'. Invalid signingConfig is configured for 'default' product.
> hvigor Finished :phone:SignHap... after 3 ms 580 μs
> hvigor Finished :phone:assembleHap... after 73 μs
> hvigor BUILD SUCCESSFUL in 37 s

Process finished with exit code 0

hap包沒有簽名:

按以上套路編出來的,會發(fā)現(xiàn)沒有簽名的hap包。如圖:

#盲盒+碼##跟著小白一起學(xué)鴻蒙#如何編譯OpenHarmony自帶APP-開源基礎(chǔ)軟件社區(qū)

這時候應(yīng)該走File -> Project Structure -> Signing Configs -> automatically generate signature,如果有選中需要取消選中然后再選中,然后apply,最后OK。

但是這時候其實(shí)還沒有顯示出來,其實(shí)上面的報錯也有顯示,即:

```bash
> hvigor WARN: Will skip sign 'hap'. Invalid signingConfig is configured for 'default' product.
```

這是因?yàn)槊黄ヅ?,需要修改build-profile.json5文件的signingConfig:

```bash
"signingConfig": "release" 改成 "signingConfig": "default"
```

這樣應(yīng)該就能編譯出signed.hap這應(yīng)用程序包了

install的權(quán)限問題:

如果在安裝的時候發(fā)現(xiàn)install的權(quán)限報錯,則是很有可能是權(quán)限配置問題。OpenHarmony的應(yīng)用分一般應(yīng)用和系統(tǒng)應(yīng)用,系統(tǒng)自帶的applications大多是系統(tǒng)自帶應(yīng)用,所以配置IDE工具sdk里的UnsgnedReleasedProfileTemplate.json,具體位置在:sdk\toolchains\3.2.7.5(對應(yīng)下載和使用的sdk版本)\lib。在這個文件里,我們需要修改以下位置:

{
"version-name": "2.0.0",
"version-code": 2,
"app-distribution-type": "os_integration",
"uuid": "5027b99e-5f9e-465d-9508-a9e0134ffe18",
"validity": {
"not-before": 1594865258,
"not-after": 1689473258
},
"type": "release",
"bundle-info": {
"developer-id": "OpenHarmony",
"distribution-certificate": "-----BEGIN CERTIFICATE-----\nMIICFTCCAZmgAwIBAgIEH4/ajjAMBggqhkjOPQQDAwUAMGMCzAJBgNVBAYTAkNO\nMRQwEgYDVQQKEwtPcGVuSGFybW9ueTEZMBcGA1UECxMQT3Blbkhhcm1vbnkgVGVh\nbTEjMCEGA1UEAxMaT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gQ0EwHhcNMjIxMjAy\nMDM0NjMzWhcNMzIxMTI5MDM0NjMzWjBKMRUwEwYDVQQDDAxpZGVfZGVtb19hcHAx\nDTALBgNVBAsTBFVuaXQxFTATBgNVBAoTDE9yZ2FuaXphdGlvbjELMAkGA1UEBhMC\nQ04wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbPC8LX1YcpBZ5+cnrF6XuofHq\nH9b1ZUURQdNx5EoYLcRvhVgDbNoG7npMRhXO/WmCP6cH2u3RExbECzDoAaNo1Iw\nUDAdBgNVHQ4EFgQUSvsBUWNW6lvbdYMOuKqtniwqU4MwDgYDVR0PAQH/BAQDAgeA\nMB8GA1UdIwQYMBaAFNuGtyIW1QuhS7fdJXu58QV9oi1HMAwGCCqGSM49BAMDBQAD\naAAwZQIwYeO7qTU9TicVAd8gfYrvRJDspUlPjwU+k2BETJC4ZyaI5s3gpdDofsNs\nwd4PGVB9AjEAtUZpYZOsFMCoDwEQgRfSfIRVi8f7TJPUubRgrt89OZE9ml3e5ez6\nL5RlJ/m5o13Q\n-----END CERTIFICATE-----\n",
"bundle-name": "com.ohos.settings",
//需要修改的系統(tǒng)應(yīng)用權(quán)限
"apl": "system_core",
"app-feature": "hos_normal_app"
},
"acls": {
//需要增加的權(quán)限,根據(jù)hap的權(quán)限申請設(shè)置
"allowed-acls": [
"ohos.permission.CAPTURE_SCREEN",
"ohos.permission.MANAGE_USER_IDM"
]
},
"permissions": {
"restricted-permissions": []
},
"issuer": "pki_internal"
}

這樣一般就可以安裝了。

Install的包名問題:

我們OpenHarmony主干拷貝出來的application的包名一定會和板子上運(yùn)行的原程序同名的,這樣安裝時也會提示報錯,這種時候,我們需要修改"bundleName": “com.ohos.settings”, 以及sign文件里的對應(yīng)的名字。大概是兩個文件:

product\phone\build\default\intermediates\merge_profile\default\module.json。

"bundleName": "com.ohos.settings", //改成新名字如newsetting

build-profile.json5。

"signingConfigs": [
{
"name": "default",
"material": {
"certpath": "C:\\Users\\Administrator\\.ohos\\config\\openharmony\\auto_ohos_default_com.ohos.settings.cer", //使用上面新名字替換com.ohos.settings
"storePassword": "0000001BC6E86D64AD786A77BBF86702F23E6DD32E016E263D961DBCD4710340CD6EAC6B2A4A43A53DDFA0",
"keyAlias": "debugKey",
"keyPassword": "0000001B9CB15173695726ED3460368DEEC246A602353461BBD9321C77513130E462B2BEB9F39DB201E92A",
"profile": "C:\\Users\\Administrator\\.ohos\\config\\openharmony\\auto_ohos_default_com.ohos.settings.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "C:\\Users\\Administrator\\.ohos\\config\\openharmony\\auto_ohos_default_com.ohos.settings.p12"
}
}
]

小結(jié)

通過上述方式,我們就能編譯并安裝運(yùn)行OpenHarmony自帶的應(yīng)用并學(xué)習(xí)基礎(chǔ)能力的開發(fā)了。

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 51CTO開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-08-19 19:02:20

開源鴻蒙操作系統(tǒng)

2023-01-03 15:09:10

鴻蒙常用工具

2022-11-24 14:34:41

Hap程序鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-05 15:02:14

鴻蒙用戶鑒權(quán)

2022-11-28 15:42:39

分布式軟總線鴻蒙

2022-11-22 15:15:46

Wi-Fi鴻蒙

2023-03-30 09:32:27

2022-11-14 17:01:34

游戲開發(fā)畫布功能

2023-03-30 09:19:54

SELinux安全子系統(tǒng)

2023-02-27 16:30:32

鴻蒙開源協(xié)議分析

2023-04-04 09:24:11

鴻蒙HiDumper

2022-10-10 14:47:04

藍(lán)牙應(yīng)用鴻蒙

2022-08-29 17:25:19

鴻蒙應(yīng)用開發(fā)

2022-10-20 16:40:16

JS應(yīng)用控制LED鴻蒙

2022-10-09 15:05:50

NAPI框架鴻蒙

2023-03-15 16:19:03

BinderIPC工具

2022-11-03 15:47:04

HTTP通信協(xié)議

2022-10-31 15:35:02

Wi-Fi藍(lán)牙子系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产日本亚洲| 免费人成黄页在线观看忧物| 国产精品制服诱惑| 中文字幕免费精品一区高清| 欧美在线免费视屏| 国产一区二区三区四区五区入口| 成人短片线上看| av在线精品| 中文字幕在线视频久| 1024视频在线| 深夜影院在线观看| 九色视频网站入口| 奇米影音第四色| 久激情内射婷内射蜜桃| 亚洲精品一区二区三| 精品国内亚洲在观看18黄| 国产精品久久久久国产精品日日| 精品一区二区国语对白| 麻豆久久婷婷| 国产在线不卡| 色喇叭免费久久综合网| 91精品啪在线观看国产爱臀 | 亚洲va在线va天堂| 婷婷色在线资源| 国产四区在线观看| 欧美裸体网站| 欧美精品欧美精品| 五码日韩精品一区二区三区视频| 亚洲欧洲一区二区在线观看| 一区二区三区电影| 97中文字幕在线| aa在线免费观看| 黄色片久久久久| 黄色国产网站| 九色视频在线播放| h片在线免费| 草莓视频成人appios| 亚洲成人影音| 欧美超碰在线| 老牛影视一区二区三区| 国产精品一区一区三区| 国产亚洲视频系列| 亚洲视频一二区| 欧美伊人精品成人久久综合97| 亚洲精品一区二区三区福利 | 成人伊人精品色xxxx视频| 国产精品一区视频网站| 超碰人人爱人人| 三上悠亚一区| 国产伦精品一区二区三区视频金莲 | 欧美亚洲日本精品| 国产日产一区| 韩国欧美一区二区| 亚洲无线码一区二区三区| 337p亚洲精品色噜噜噜| 久久久久久久香蕉网| 久久精品成人一区二区三区蜜臀| 国产成a人亚洲精v品在线观看| 天堂av免费观看| 毛片免费看不卡网站| 97视频热人人精品免费| 国产精品 欧美精品| 精品人伦一区二区三区蜜桃网站 | 欧美亚洲另类制服自拍| 色综合久久久久久中文网| 97香蕉超级碰碰久久免费的优势| 国产综合动作在线观看| 国产精品69页| 国产精品xx| 中文精品久久| 久久精品免视看| 亚洲二区在线播放视频| 国产精品偷伦视频免费观看国产| 免费网站在线观看视频| av电影在线观看| 啪啪亚洲精品| 欧美激情一区二区三区不卡| 亚洲成人xxx| 成人自拍爱视频| 天堂男人av| 日本成人中文| 久久综合五月天婷婷伊人| 日韩国产欧美精品一区二区三区| 91久久爱成人| 日本一二三区视频免费高清| 欧美videos粗暴| 紧缚奴在线一区二区三区| 在线成人小视频| 91影视免费在线观看| 污污网站免费观看| 国产96在线亚洲| 久久久久国产精品厨房| 色偷偷88888欧美精品久久久| 一区二区三区不卡在线| 爱看av在线| 国产乱一区二区| 亚洲欧美精品一区二区| 中文字幕在线亚洲精品 | 国产欧美激情| 日韩欧美中文字幕一区| 欧美视频观看一区| 在线观看精品一区二区三区| 亚洲国产日韩在线| 欧美一二三区在线观看| 欧美中日韩一区二区三区| 欧美人体视频xxxxx| 精品一区二区三区蜜桃| 日韩在线观看免费全| 日韩激情免费视频| 91免费版在线观看| 亚洲午夜伦理| 亚洲免费视频网站| 日本韩国欧美在线观看| 久久夜色电影| 色系网站成人免费| 日本中文不卡| 亚洲欧美综合久久久久久v动漫| 久久色在线视频| 欧美剧在线观看| 妞干网在线观看| 影音国产精品| 日韩电影在线观看中文字幕| 久草热视频在线观看| 你微笑时很美电视剧整集高清不卡| 欧美日韩亚洲一区二区三区| 婷婷四房综合激情五月| 亚洲精品无播放器在线播放| 99热国内精品| 精品国产老师黑色丝袜高跟鞋| 日韩人妻一区二区三区蜜桃视频| 日韩三级成人| 亚洲va韩国va欧美va精品| 久久99精品国产一区二区三区| 久久77777| 91视频在线看| 欧洲永久精品大片ww免费漫画| h视频在线播放| 成人精品一区二区三区四区| 久久久久国产精品免费网站| 国产高清一级毛片在线不卡| 亚洲欧美日韩视频二区| 九九久久久久久久久激情| 国产福利免费在线观看| 韩国一区二区在线观看| 国产精品美女在线观看| 欧美xxxx视频| 中文字幕一区日韩精品欧美| 99se婷婷在线视频观看| 青青青草视频在线| 丁香五六月婷婷久久激情| 欧美这里只有精品| 欧美电影一区| 欧美第一黄色网| 午夜免费视频在线国产| 亚洲乱码中文字幕综合| 国产极品尤物在线| 天天天综合网| 久久精品青青大伊人av| 怡红院在线播放| 中文字幕精品在线不卡| 一区二区三区四区免费观看| 久久在线视频免费观看| 韩国19禁主播vip福利视频| 国产a一区二区| 亚洲bt欧美bt精品777| 色吧影院999| 天天影视久久综合| 一区二区三区欧美久久| 亚洲成熟丰满熟妇高潮xxxxx| 日韩影院精彩在线| 欧美精品成人一区二区在线观看| 日韩欧美电影| 97香蕉超级碰碰久久免费软件| 欧美xxxx做受欧美护士| 91精品国产一区二区人妖| 偷拍自拍在线视频| 亚洲一级电影视频| 日韩精品视频一二三| 99精品视频一区| av动漫在线看| 久久精品日产第一区二区三区高清版 | 久久亚洲精品成人| 国产a亚洲精品| 久久69精品久久久久久久电影好| 超碰在线公开| 久久久www成人免费精品张筱雨| 国产另类xxxxhd高清| 一色桃子一区二区| 国产一区二区三区国产精品| 伊人激情综合网| 欧美三区四区| 神马久久久久久| 黄色欧美网站| 国产精品亚洲片夜色在线| 永久亚洲成a人片777777| 97se国产在线视频| 日韩在线一区二区| 奇米影视四色在线| 在线观看欧美精品| 久久免费电影|