OpenHarmony开发者论坛

标题: P01.怎么下载和使用代码,错误示范 [打印本页]

作者: open_harmony    时间: 2024-1-18 14:17
标题: P01.怎么下载和使用代码,错误示范
[md]```
# P01.怎么下载和使用代码,错误示范

``` bash
声明1. 这其实不是arkts多线程相关文章的第一篇,因为我是先看了相关的资料,整理了一些笔记.但是想到笔记部分可能理解有问题,所以想把代码全跑一遍,调试修改了以后,再来完善笔记.所以本文算是编程编第一篇文章.
声明2. 本文中的使用方面是错误示范,请注意避坑
```

[openharmony并发学习计划](../openharmony并发学习计划.md)

## 下载代码

在随便哪个文章的链接,比如[并发概述](https://docs.openharmony.cn/page ... rrency-overview.md/)中都可以看到[查看源码](https://gitee.com/openharmony/do ... urrency-overview.md),点开后,就会看到一个跟文章链接内容一模一样的markdown格式的文章,并没有代码.截图如下:
![Gitee上的文章:并发概述 ](https://forums-obs.openharmony.c ... 8eegh4i3tnh3767.png)

代码在哪儿?顺着上图划圈的地方点一下,就会在仓库文件夹下的readme里面看到一个目录.
![目录](https://forums-obs.openharmony.c ... eu7zaqevalrvqug.png)

点击示例代码,就会打开一个各种特性的示例代码表
![示例代码表](https://forums-obs.openharmony.c ... zzjekdyyqq44zkk.png)

### 代码位置

点击[多线程任务](https://gitee.com/openharmony/ap ... ry/ConcurrentModule) 就会跳转到多线程相关的示例代码中.

好了,可以下载代码干活了.

## 错误地运行代码

首先看一下代码里面的readme

```bash
# 约束与限制  
1.本示例仅支持标准系统上运行, 支持设备:RK3568;。  
2.本示例为Stage模型,支持API10版本SDK,版本号:4.0.10.13,镜像版本号:OpenHarmony 4.1.5.2。  
3.本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600, built on October 17, 2023)及以上版本才可编译运行。
```

得到结论,该工程只支持安装有openharmony 4.0.10.13以上的标准开发板,比如dayu200.
![约束和声明](https://forums-obs.openharmony.c ... c8pcpcwlaawcavq.png)

但是我不姓邪,所以我要试一下模拟器.

- 正常地打开代码预览:在deveco studio中打开代码,打开index.ets代码,在预览器里面会看到有个排序的功能,但是不能排序.所以我非常想试试真机的效果.
- 错误示范:幻想在harmonyos模拟器调试,然后抱着以往的经验,我把几个关键位置的代码改了
  - api版本,目标机器:code/LaunguageBaseClassLibrary/ConcurrentModule/build-profile.json

```json
"app": {  
  "signingConfigs": [],  
  "products": [  
  {  
  "name": "default",  
  "signingConfig": "default",  
  "compileSdkVersion": "4.0.0(10)",  
  "compatibleSdkVersion": "4.0.0(10)",  
  "targetSdkVersion":  "4.0.0(10)",  
  "runtimeOS": "HarmonyOS"  
  }  
  ]  
  },
```

- sdk路径:code/LaunguageBaseClassLibrary/ConcurrentModule/local.properties

```properties
sdk.dir=D:/software/deveco/OHSdk  
  hwsdk.dir=D:/software/deveco/Sdk  
  nodejs.dir=D:/software/deveco/node-16.20.1
```

- 然后就是收获了几处报错
  - 编译运行到模拟器

```bash
D:\software\deveco\node-16.20.1\node.exe C:\Users\dengpan\.hvigor\project_caches\51881010c49be65805a24b786b95a4fb\workspace\node_modules\@ohos\hvigor\bin\hvigor.js --mode module -p module=entry@default -p product=default assembleHap --parallel --incremental --daemon  
> hvigor ERROR: Unable to find the following components:  
                toolchains:10  
         Detail:  
                1.Go to Tools > SDK Manager > SDK > HarmonyOS, download the components, and sync the project. Open SDK Manager  
                2.Alternatively, modify the compileSdkVersion settings in the project-level build-profile.json5 file.  
> hvigor ERROR: BUILD FAILED in 2 s 550 ms

Process finished with exit code -1
```

- 预览器预览

```bash
ERROR: Getting ArkTS sdk path error.

Solution:  
1.进入 工具> SDK管理> SDK > HarmonyOS, 下载组件, 并同步项目. 在SDK管理中设置.  
2.Alternatively, modify the compileSdkVersion settings in the project-level build-profile.json5 files.
```

- 问题自我诊断:
  - 因为harmonyos也是基于openharmony开发的,所以按道理harmonyos和harmonyos模拟器应该也可以运行,为啥不行?
    - 打开[工具]-->[sdk管理],发现harmonyos最高只有3.1.0(API9),所以没有办法运行.
  - 算了,听劝,明天老老实实用dayu200测试测试.

## 后续

- 用dayu200试运行官方示例代码
- 将文档上的代码片断移植进官方示例代码中运行看效果
- 修改一些常用的安卓端java多线程例子到arkui里面,看效果

```

```

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5