ubuntu20.04搭建openharmony6.0的master分支。构建编译环境报错解决记录

当前持续安装的版本查找记录:

bash 复制代码
user0@ubuntu:~/Downloads$ python3 --version
Python 3.8.10
user0@ubuntu:~/Downloads$ which python3
/usr/bin/python3
user0@ubuntu:~/Downloads$ 

总览依据URL链接: OpenHarmony设备开发文档

步骤依据:

成功安装20.04的Ubuntu系统

复制代码
user0@ubuntu:~/Desktop$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal
user0@ubuntu:~/Desktop$ 

完整四期视频步骤完成:url如截图

链接: DevEco Device Tool手动准备依赖环境------Linux篇

按照步骤一个一个校验并且执行。

bash 复制代码
user0@ubuntu:~/Downloads$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8
user0@ubuntu:~/Downloads$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 100
[sudo] password for user0: 
update-alternatives: using /usr/bin/python3.8 to provide /usr/bin/python3 (python3) in auto mode
user0@ubuntu:~/Downloads$ 

针对dt的安装依据

安装步骤:在Firefox浏览器通过url下载

bash 复制代码
 
user0@ubuntu:~/Downloads$ unzip devicetool-linux-tool-4.0.0.400.zip
Archive:  devicetool-linux-tool-4.0.0.400.zip
  inflating: devicetool-linux-tool-4.0.0.400.sh  
user0@ubuntu:~/Downloads$ ls -la
total 342532
drwxr-xr-x  2 user0 user0      4096 Mar 11 23:47 .
drwxr-xr-x 16 user0 user0      4096 Mar 11 23:34 ..
-rw-r--r--  1 user0 user0 175364667 Aug 29  2023 devicetool-linux-tool-4.0.0.400.sh
-rw-rw-r--  1 user0 user0 175377931 Mar 11 23:35 devicetool-linux-tool-4.0.0.400.zip
user0@ubuntu:~/Downloads$ sudo chmod +x devicetool-linux-tool-4.0.0.400.sh
user0@ubuntu:~/Downloads$ sudo ./devicetool-linux-tool-4.0.0.400.sh
Verifying archive integrity...  100%   MD5 checksums are OK. All good.


# 全局搜索 dt 可执行文件
sudo find / -name "dt" -type f -perm /u+x 2>/dev/null

依照nodejs环境

执行步骤:

bash 复制代码
sudo apt update && sudo apt install -y curl wget

# 下载并执行 nvm 安装脚本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 加载 nvm 到当前 shell(或重启终端)
source ~/.bashrc

# 安装 Node.js v16
nvm install 16
# 设为默认版本
nvm use 16
nvm alias default 16

下一步安装截图

bash 复制代码
# 1. 卸载已安装的 hpm-cli
npm uninstall -g @ohos/hpm-cli

# 2. 清理 npm 缓存(解决缓存损坏问题)
npm cache clean --force

# 3. 重新安装 hpm-cli(建议加 --registry 指定华为镜像,避免网络问题)
npm install -g @ohos/hpm-cli --registry=https://repo.huaweicloud.com/repository/npm/
npm config set registry https://repo.huaweicloud.com/repository/npm/
npm install -g @ohos/hpm-cli
hpm -V

这个过程报错如下:

解决这个小报错:

bash 复制代码
cd /home/user0/.nvm/versions/node/v16.20.2/lib/node_modules/@ohos/hpm-cli
# 初始化 package.json(一路回车默认即可)
npm init -y

# 安装缺失的核心依赖
npm install idempotent-babel-polyfill --registry=https://repo.huaweicloud.com/repository/npm/

cd ~
hpm --version

成功解决


依据:

操作步骤:

bash 复制代码
 # 1. 更新软件源列表
sudo apt-get update

# 2. 安装 openssh 服务端
sudo apt-get install openssh-server

# 3. 启动 ssh 服务
sudo systemctl start ssh

# 4. (可选)安装 openssh 客户端(版本号可省略,自动装最新版)
sudo apt-get install openssh-client

sudo apt install net-tools
user0@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.72.130  netmask 255.255.255.0  broadcast 192.168.72.255
        inet6 fe80::ae9e:b141:bcd0:5a33  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b2:75:bf  txqueuelen 1000  (Ethernet)
        RX packets 373493  bytes 550889028 (550.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 22582  bytes 3168092 (3.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1192  bytes 136114 (136.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1192  bytes 136114 (136.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

user0@ubuntu:~$ 


# 查看防火墙状态
sudo ufw status

# 若防火墙开启,放行 SSH 端口
sudo ufw allow ssh
sudo ufw reload

按照视频教程走 成功建立连接ssh。


bash 复制代码
#   下载 repo 工具到 /usr/local/bin/repo
# 1. 下载 repo 工具到当前用户目录
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo

# 2. 用 sudo 移动到 /usr/local/bin 并赋予可执行权限
sudo mv ~/repo /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo

# 3. 验证是否安装成功
which repo   //你之前的 repo 是安装在 /usr/local/bin/repo,这个目录默认已经在系统 PATH 里,通常不需要额外添加。

repo --version

# 2. 给 repo 工具添加可执行权限
chmod a+x /usr/local/bin/repo

# 3. 安装 requests 依赖(使用华为云镜像加速)
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests


sudo apt update
sudo apt install git -y
sudo apt install git-lfs -y
sudo apt update && sudo apt install -y git-lfs
# 初始化 git-lfs(关键!让 git 识别 lfs 命令)
git lfs install

# 配置用户名(和 GitCode 用户名一致)
git config --global user.name "xx"

# 配置邮箱(和 GitCode 注册邮箱一致)
git config --global user.email "xx@qq.com"

# 配置凭证存储(避免每次操作都输入密码)
git config --global credential.helper store

git config --list

使用DevEco Device tool拉取源码

bash 复制代码
# 1. 创建并进入工作目录
mkdir -p ~/openharmony6 && cd ~/openharmony6

# 2. 初始化 repo(指定 OpenHarmony 源码 manifest)  
repo init -u git@gitcode.com:openharmony/manifest.git -b master --no-repo-verify


# 3. 同步源码(-c 只拉取当前分支,节省时间)
repo sync -c

# 4. 拉取 Git LFS 大文件
repo forall -c 'git lfs pull'

# 5. (可选)下载预构建依赖(如果代码不是镜像点版本,需要执行)
bash ./build/prebuilts_download.sh

repo init -u git@gitcode.com:openharmony/manifest.git -b master --no-repo-verify

在 /usr/bin 目录下创建一个叫 python 的 "快捷方式",这个快捷方式指向系统里本来就有的 python3 命令。

当你输入 python 时,系统会自动去执行 python3。

bash 复制代码
sudo ln -s /usr/bin/python3 /usr/bin/python

方案 1:改用 HTTPS 协议拉取(无需配置 SSH,直接解决权限问题)

把 repo init 里的地址换成 HTTPS 格式,用账号密码访问:

bash 复制代码
repo init -u https://gitcode.com/openharmony/manifest.git -b master --no-repo-verify

repo sync -c
repo forall -c 'git lfs pull'

把 OpenHarmony 源码想象成 "一套房子":

repo sync -c → 拉取 "房子的框架、墙壁、门窗"(普通代码文件,体积小);

repo forall -c 'git lfs pull' → 拉取 "房子里的冰箱、电视、沙发"(大文件,必须单独搬运);

只有两者都拉取完成,"房子" 才是完整的,源码才能正常编译运行。


下载预编译依赖(可选,镜像代码可跳过)
bash ./build/prebuilts_download.sh
成功下载后如下

进入下一个子项:

链接: 编译

在Tool Chain页签(工具链)中,DevEco Device Tool会自动检测依赖的编译工具链是否完备。

半小时过去了还在这个界面转圈圈 哎

我也不知道怎么安装这2个,直接点击下载安装失败

不过找到网址https://gitee.com/openharmony/developtools_hdc 可以下载。

-------

需要安装网络库相关

bash 复制代码
# 安装libnl编译必需的依赖包
sudo apt install -y \
    autoconf \
    automake \
    libtool \
    pkg-config \
    gcc \
    g++ \
    make \
    flex \
    bison \
    libssl-dev \
    libffi-dev \

为什么在ubuntu20.04的系统中构建编译openharmony的master分支代码,日志打印如截图显示100GB?

root权限安装的工具包:直接安装的程序和依赖包(必须一个一个安装)

完整的 Shell 脚本(保存为 install_packages.sh)

bash 复制代码
#!/bin/bash

# 定义日志文件路径
LOG_FILE="./temp.log"

# 清空旧日志(如果存在)
> "$LOG_FILE"

# 定义要安装的软件包列表(按你的顺序整理,去重)
PACKAGES=(
    apt-utils
    vim
    software-properties-common
    openssh-server
    iputils-ping
    curl
    net-tools
    bsdmainutils
    kmod
    bc
    rsync
    gawk
    ssh
    ccache
    zip
    python-dev
    make
    m4
    gcc-multilib
    ca-certificates-java
    unzip
    python3-yaml
    perl
    openssl
    libssl1.1
    gnupg
    xsltproc
    x11proto-core-dev
    tcl
    python3-crypto
    python-crypto
    libxml2-utils
    libxml2-dev
    libx11-dev
    libssl-dev
    libgl1-mesa-dev
    lib32z1-dev
    lib32ncurses5-dev
    g++-multilib
    flex
    bison
    doxygen
    git
    subversion
    tofrodos
    pigz
    expect
    python3-xlrd
    git-core
    gperf
    build-essential
    zlib1g-dev
    libc6-dev-i386
    lib32z-dev
    openjdk-8-jdk
    ruby
    mtools
    python3-pip
    gcc-arm-linux-gnueabi
    genext2fs
    liblz4-tool
    autoconf
    pkg-config
    libglib2.0-dev
    libmount-dev
    libpixman-1-dev
    libncurses5-dev
    exuberant-ctags
    silversearcher-ag
    libtinfo5
    device-tree-compiler
    libelf-dev
    dwarves
    gcc-arm-none-eabi
    default-jdk
    u-boot-tools
    mtd-utils
    scons
    automake
    libtool
    libgmp-dev
    texinfo
    mpc
    autotools-dev
    libmpc-dev
    libmpfr-dev
    patchutils
    libexpat-dev
    libfdt-dev
    libncursesw5-dev
    cmake
    wget
    libelf-devel
)

# 遍历包列表并安装,仅记录失败的部分
for pkg in "${PACKAGES[@]}"; do
    echo "正在安装: $pkg"
    # 执行安装命令,重定向标准错误到日志(仅失败时记录)
    if ! sudo apt-get -f -y install "$pkg" 2>> "$LOG_FILE"; then
        # 记录失败的包名(便于定位)
        echo "===== 安装失败: $pkg =====" >> "$LOG_FILE"
        echo "⚠️ $pkg 安装失败,已记录到 $LOG_FILE"
    else
        echo "✅ $pkg 安装成功"
    fi
done

# 最终提示
echo -e "\n安装完成!"
if [ -s "$LOG_FILE" ]; then
    echo "❌ 有失败的包,详情见: $LOG_FILE"
else
    echo "✅ 所有包安装成功,$LOG_FILE 为空(已自动清空)"
    # 可选:删除空日志
    rm -f "$LOG_FILE"
fi

使用步骤

保存脚本:将上述内容复制到 Ubuntu 终端中,执行 vim install_packages.sh,粘贴内容后保存退出(:wq)。

添加执行权限:

chmod +x install_packages.sh

执行脚本:

./install_packages.sh


安装库和工具集

使用命令行进行设备开发时,可以通过以下步骤安装编译OpenHarmony需要的库和工具。

相应操作在Ubuntu环境中进行。

使用如下apt-get命令安装后续操作所需的库和工具:

bash 复制代码
sudo apt-get update; sudo apt-get install binutils; sudo apt-get install binutils-dev; sudo apt-get install git; sudo apt-get install git-lfs; sudo apt-get install gnupg; sudo apt-get install flex; sudo apt-get install bison; sudo apt-get install gperf; sudo apt-get install build-essential; sudo apt-get install zip; sudo apt-get install curl; sudo apt-get install zlib1g-dev; sudo apt-get install gcc-multilib; sudo apt-get install g++-multilib; sudo apt-get install gcc-arm-linux-gnueabi; sudo apt-get install libc6-dev-i386; sudo apt-get install libc6-dev-amd64; sudo apt-get install lib32ncurses5-dev; sudo apt-get install x11proto-core-dev; sudo apt-get install libx11-dev; sudo apt-get install lib32z1-dev; sudo apt-get install ccache; sudo apt-get install libgl1-mesa-dev; sudo apt-get install libxml2-utils; sudo apt-get install xsltproc; sudo apt-get install unzip; sudo apt-get install m4; sudo apt-get install bc; sudo apt-get install gnutls-bin; sudo apt-get install python3.9; sudo apt-get install python3-pip; sudo apt-get install ruby; sudo apt-get install genext2fs; sudo apt-get install device-tree-compilersudo apt-get install make; sudo apt-get install libffi-dev; sudo apt-get install e2fsprogs; sudo apt-get install pkg-config; sudo apt-get install perl; sudo apt-get install openssl; sudo apt-get install libssl-dev; sudo apt-get install libelf-dev; sudo apt-get install libdwarf-dev; sudo apt-get install u-boot-tools; sudo apt-get install mtd-utils; sudo apt-get install cpio; sudo apt-get install doxygen; sudo apt-get install liblz4-tool; sudo apt-get install openjdk-8-jre; sudo apt-get install gcc; sudo apt-get install g++; sudo apt-get install texinfo; sudo apt-get install dosfstools; sudo apt-get install mtools; sudo apt-get install default-jre; sudo apt-get install default-jdk; sudo apt-get install libncurses5; sudo apt-get install apt-utils; sudo apt-get install wget; sudo apt-get install scons; sudo apt-get install python3.9-distutils; sudo apt-get install tar; sudo apt-get install rsync; sudo apt-get install git-core; sudo apt-get install libxml2-dev; sudo apt-get install lib32z-dev; sudo apt-get install grsync; sudo apt-get install xxd; sudo apt-get install libglib2.0-dev; sudo apt-get install libpixman-1-dev; sudo apt-get install kmod; sudo apt-get install jfsutils; sudo apt-get install reiserfsprogs; sudo apt-get install xfsprogs; sudo apt-get install squashfs-tools; sudo apt-get install pcmciautils; sudo apt-get install quota; sudo apt-get install ppp; sudo apt-get install libtinfo-dev; sudo apt-get install libtinfo5; sudo apt-get install libncurses5-dev; sudo apt-get install libncursesw5; sudo apt-get install libstdc++6; sudo apt-get install gcc-arm-none-eabi; sudo apt-get install vim; sudo apt-get install ssh; sudo apt-get install locales; sudo apt-get install libxinerama-dev; sudo apt-get install libxcursor-dev; sudo apt-get install libxrandr-dev; sudo apt-get install libxi-dev

当前报错类型如截图:

bash 复制代码
[OHOS ERROR] [NINJA] command failed: "/home/user0/openharmony6/prebuilts/build-tools/linux-x86/bin/ninja -w dupbuild=warn -C /home/user0/openharmony6/out/rk3568 images" , ret_code: 1

[OHOS ERROR] [NINJA] ninja: error: '../../prebuilts/ohos-sdk/linux/24/native/sysroot/usr/lib/aarch64-linux-ohos/libbundle_ndk.z.so', needed by 'web/webview/libnweb_ohos_adapter.z.so', missing and no known rule to make it

先搞懂核心逻辑(为什么这么做)

你遇到的 libbundle_ndk.z.so missing 报错,本质是:

编译 OpenHarmony 时,需要系统预编译的 SDK 库文件(比如libbundle_ndk.z.so);

你的源码目录prebuilts/ohos-sdk/linux/下没有这些文件(甚至连ohos-sdk目录都没有);

你下载的Command Line Tools 6.0.2压缩包,就是官方打包好的完整 OHOS SDK,里面包含所有缺失的库文件;

我们要做的就是把压缩包里的 SDK 文件,放到源码指定位置,让编译工具能找到。

解压下载的 SDK 压缩包

bash 复制代码
# 1. 进入压缩包所在的Downloads文件夹(就像打开电脑里的"下载"文件夹)
cd ~/Downloads

# 2. 创建一个临时文件夹(专门用来解压,避免文件乱掉)
mkdir 临时解压文件夹

# 3. 把压缩包解压到这个临时文件夹里(相当于右键解压)
unzip commandline-tools-linux-x64-6.0.2.642.zip -d 临时解压文件夹

# 4. 检查解压是否成功(看有没有解压出文件)
ls 临时解压文件夹

# 进入临时解压文件夹,查找包含缺失库文件的目录(系统自动找,不用手动翻)
cd 临时解压文件夹
find . -name "sysroot" -type d

(基于你的实际路径) 确认核心 SDK 路径并复制

bash 复制代码
mkdir -p  ~/openharmony6/prebuilts/ohos-sdk/linux/24/

# 1. 确认当前在临时解压文件夹目录(不用动,你已经在这个目录了)
# 2. 复制OpenHarmony SDK核心文件到源码指定位置(核心修正)
cp -r ./command-line-tools/sdk/default/openharmony/*  ~/openharmony6/prebuilts/ohos-sdk/linux/24

# 3. 验证复制是否成功(能看到native目录则正常)
ls -la ~/openharmony6/prebuilts/ohos-sdk/linux/24/


sudo chown -R user0:user0 ~/openharmony6/prebuilts/ohos-sdk/
chmod -R 755 ~/openharmony6/prebuilts/ohos-sdk/

#关键验证 执行完步骤   后,执行以下命令,能看到 libbundle_ndk.z.so 就说明路径完全正确了:
ls ~/openharmony6/prebuilts/ohos-sdk/linux/24/native/sysroot/usr/lib/aarch64-linux-ohos/ | grep libbundle_ndk

cd ~/openharmony6
hb clean --clean-all
hb build --prebuilt-sdk

hb build --prebuilt-sdk 命令的核心作用(通俗解释)

这个解决了

另一个问题

c 复制代码
[OHOS ERROR] [NINJA] command failed: "/home/user0/openharmony6/prebuilts/build-tools/linux-x86/bin/ninja -w dupbuild=warn -C /home/user0/openharmony6/out/rk3568 images" , ret_code: 1

[OHOS ERROR] [NINJA] [12426/118089] ACTION //base/powermgr/power_manager/power_dialog:power_dialog_hap_compile_app(//build/toolchain/ohos:ohos_clang_arm)
[OHOS ERROR] [NINJA] FAILED: obj/base/powermgr/power_manager/power_dialog/power_dialog_hap/unsigned_hap_path_list.json 
[OHOS ERROR] [NINJA] /usr/bin/env ../../build/scripts/compile_app.py --nodejs ../../prebuilts/build-tools/common/nodejs/node-v18.20.1-linux-x64/bin/node --cwd ../../base/powermgr/power_manager/power_dialog/ --build-profile ../../base/powermgr/power_manager/power_dialog/build-profile.json5 --sdk-home /home/user0/openharmony6/prebuilts/ohos-sdk/linux --output-file obj/base/powermgr/power_manager/power_dialog/power_dialog_hap/unsigned_hap_path_list.json --ohpm-registry  --product default --host-os linux --build-level module --assemble-type assembleHap --sdk-type-name sdk.dir --build-modules entry --hvigor-obfuscation
[OHOS ERROR] [NINJA] Traceback (most recent call last):
[OHOS ERROR] [NINJA]   File "../../build/scripts/compile_app.py", line 23, in <module>
[OHOS ERROR] [NINJA]     import json5
[OHOS ERROR] [NINJA] ModuleNotFoundError: No module named 'json5'

OHOS ERROR\] \[NINJA\] ModuleNotFoundError: No module named 'json5' ```bash # 因为你系统默认 Python 已指向 3.8,直接用 pip 安装 sudo pip install json5 # 验证安装是否成功 python -c "import json5; print('安装成功')" ``` ### 继续编译命令user0@ubuntu:\~/openharmony6$ hb build --prebuilt-sdk 上一问题成功解决。 继续新问题 \[OHOS ERROR\] \[NINJA\] FileNotFoundError: \[Errno 2\] No such file or directory: '.../.../prebuilts/tool/command-line-tools/ohpm/bin/ohpm' ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a2644105a56c4d6c828d5216206367af.png) 分析: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8c96bc77688046ab82309868600c9dd2.png) 方案 1:创建软链接(推荐,无需改源码) 直接在错误路径的位置创建软链接,指向实际的 ohpm 文件,让脚本能找到: 但是只是单点解决这个问题是不合理的,复制整个 command-line-tools 目录是更稳妥、更一劳永逸的方案(避免后续再出现其他子目录 / 文件缺失的问题) 只复制 ohpm 目录确实可能遗漏 hvigor/sdk/tool 等后续编译可能用到的文件,直接复制整个 command-line-tools 目录,能一次性补齐所有工具依赖,彻底杜绝路径相关的编译报错。 复制完整的 command-line-tools 目录(核心,一步到位) ```bash # 1. 创建完整的目录结构(和源码根目录的路径一致) mkdir -p /home/user0/openharmony6/base/powermgr/prebuilts/tool/ # 2. 复制整个 command-line-tools 目录(包含 ohpm/hvigor/sdk 等所有工具) cp -r /home/user0/openharmony6/prebuilts/tool/command-line-tools /home/user0/openharmony6/base/powermgr/prebuilts/tool/ # 3. 验证复制结果(能看到 ohpm/hvigor 等所有子目录) ls -la /home/user0/openharmony6/base/powermgr/prebuilts/tool/command-line-tools/ # 1. 递归设置正确权限(当前用户可读写执行) sudo chown -R user0:user0 /home/user0/openharmony6/base/powermgr/prebuilts/ chmod -R 755 /home/user0/openharmony6/base/powermgr/prebuilts/ # 2. 回到源码根目录,清理所有编译缓存 cd ~/openharmony6 hb clean --clean-all # 3. 重新执行编译(带 --prebuilt-sdk 确保 SDK 正常加载) hb build --prebuilt-sdk ``` 预期结果:输出和源码根目录的 command-line-tools 完全一致,包含 6.x/bin/hvigor/ohpm/sdk/tool 等所有子目录。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/27112f09f4fa4764bda0dfcac8f2a77f.png) OK这一小问题解决了。但是新问题如下: \[OHOS ERROR\] \[NINJA\] \[2/2\] \[d33022e3\] Hvigor warning: \> hvigor ERROR: Cause: Unable to find the following components: \[OHOS ERROR\] \[NINJA\] \[2/2\] \[d33022e3\] Hvigor warning: toolchains:24 \[OHOS ERROR\] \[NINJA\] \[2/2\] \[d33022e3\] Hvigor warning: Solution: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c77ae01c8d584f6c8a7f26dc87c0bce2.png) 核心问题:SDK 版本不匹配(缺少 toolchains:24 组件) 报错 Unable to find toolchains:24 的本质是: ```bash user0@ubuntu:~/Downloads/临时解压文件夹$ /home/user0/Downloads/临时解压文件夹/command-line-tools/sdk/default/openharmony/toolchains/hdc --version Ver: 3.2.0c user0@ubuntu:~/Downloads/临时解压文件夹$ ls -la total 12 drwxrwxrwx 3 user0 user0 4096 Mar 13 00:44 . drwxr-xr-x 3 user0 user0 4096 Mar 13 00:43 .. drwx------ 9 user0 user0 4096 Mar 4 18:35 command-line-tools user0@ubuntu:~/Downloads/临时解压文件夹$ ``` 核心结论 从你的命令输出能确定: version_full.json 仅显示 DevEco 工具版本(4.0.0.400),未直接给出 compileSdkVersion 数字; HDC 工具版本是 3.2.0c,该版本默认适配 OpenHarmony SDK 版本 20(这是你要替换 compileSdkVersion: 24 的目标值)。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a121db3c0f6943fd80d0de26d89cc2b0.png) 先把数字改为20再试一下。 清理编译缓存(必须做,否则旧配置残留) ```bash user0@ubuntu:~/openharmony6/prebuilts/tool/command-line-tools/sdk$ cd /home/user0/openharmony6/prebuilts/ohos-sdk/linux/ user0@ubuntu:~/openharmony6/prebuilts/ohos-sdk/linux$ ls -la total 12 drwxr-xr-x 3 user0 user0 4096 Mar 13 00:52 . drwxr-xr-x 3 user0 user0 4096 Mar 13 00:52 .. drwxr-xr-x 7 user0 user0 4096 Mar 13 00:59 24 user0@ubuntu:~/openharmony6/prebuilts/ohos-sdk/linux$ cp -rp 24/ 20/ user0@ubuntu:~/openharmony6/prebuilts/ohos-sdk/linux$ ls -la total 16 drwxr-xr-x 4 user0 user0 4096 Mar 13 04:35 . drwxr-xr-x 3 user0 user0 4096 Mar 13 00:52 .. drwxr-xr-x 7 user0 user0 4096 Mar 13 00:59 20 drwxr-xr-x 7 user0 user0 4096 Mar 13 00:59 24 user0@ubuntu:~/openharmony6/prebuilts/ohos-sdk/linux$ cd ~/openharmony6 hb clean --clean-all ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ccbffaef90244b5196ef4a799f9c91f3.png) 不论我怎么改.都不对。 我先暂停吧,太累了!休息下。等来感觉了再试一试,先去找找资料看看

相关推荐
supersolon2 小时前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js
竹烟淮雨4 小时前
C语言指针概念详解:数组指针与二级指针的本质区别
c语言
如若1235 小时前
WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)
linux·运维·服务器·pytorch·python·ubuntu·计算机视觉
senijusene5 小时前
用C语言制作一个简易HTTP服务器:实现手机商城用户认证与搜索
服务器·c语言·http
Aaswk6 小时前
蓝桥杯2025年第十六届省赛真题(更新中)
c语言·数据结构·c++·算法·职场和发展·蓝桥杯
香水5只用六神6 小时前
【DMA】存储器到外设模式实验2
c语言·git·stm32·单片机·嵌入式硬件·github·visual studio
Yupureki7 小时前
《C++实战项目-高并发内存池》4.CentralCache构造
c语言·开发语言·c++·单例模式·github
xh didida7 小时前
数据结构--实现链式结构二叉树
c语言·数据结构·算法
祈安_8 小时前
动态内存管理(上)
c语言·后端