当前位置: 首页 > news >正文

20231224解决outcommit_id.xml1 parser error Document is empty的问题

20231224解决outcommit_id.xml1 parser error  Document is empty的问题
2023/12/24 18:13


在开发RK3399的Android10的时候,出现:
rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ make installclean
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=rk3399_Android10
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a15
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-91-generic-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QQ2A.200305.004.A1
OUT_DIR=out
============================================
16:51:00 Deleted images and staging directories.

#### build completed successfully (14 seconds) ####

rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ ll
total 249120
drwxrwxr-x  38 rootroot rootroot      4096 12月 24 16:43 ./
drwxrwxrwx  10 rootroot rootroot      4096 12月 24 07:30 ../
drwxrwxr-x  26 rootroot rootroot      4096 12月 24 16:09 10u-boot/
drwxrwxr-x  27 rootroot rootroot      4096 12月 20 19:18 61u-boot/
lrwxrwxrwx   1 rootroot rootroot        19 12月 20 15:06 Android.bp -> build/soong/root.bp
drwxrwxr-x  31 rootroot rootroot      4096 12月 20 15:06 art/
drwxrwxr-x  13 rootroot rootroot      4096 12月 20 15:06 bionic/
drwxrwxr-x   3 rootroot rootroot      4096 12月 20 15:06 bootable/
lrwxrwxrwx   1 rootroot rootroot        26 12月 20 15:06 bootstrap.bash -> build/soong/bootstrap.bash*
drwxrwxr-x   6 rootroot rootroot      4096 12月 20 15:06 build/
-r-xr-xr-x   1 rootroot rootroot      6914 12月 20 15:06 build.sh*
-r-xr-xr-x   1 rootroot rootroot     14109 12月 20 15:06 .classpath*
drwxrwxr-x  12 rootroot rootroot      4096 12月 20 15:06 cts/
drwxrwxr-x  10 rootroot rootroot      4096 12月 20 15:06 dalvik/
drwxrwxr-x   5 rootroot rootroot      4096 12月 20 15:06 developers/
drwxrwxr-x  20 rootroot rootroot      4096 12月 20 15:06 development/
drwxrwxr-x   4 rootroot rootroot      4096 12月 20 15:06 device/
drwxrwxr-x 306 rootroot rootroot     12288 12月 20 15:08 external/
drwxrwxr-x  15 rootroot rootroot      4096 12月 20 15:10 frameworks/
drwxrwxr-x  13 rootroot rootroot      4096 12月 20 15:10 hardware/
-r--r--r--   1 rootroot rootroot       162 12月 20 15:06 javaenv.sh
drwxrwxr-x  30 rootroot rootroot      4096 12月 22 20:47 kernel/
-rwx------   1 rootroot rootroot 214721754 12月 20 08:23 kernel72.tgz*
drwxrwxr-x  19 rootroot rootroot      4096 12月 20 15:11 libcore/
drwxrwxr-x   8 rootroot rootroot      4096 12月 20 15:11 libnativehelper/
-r--r--r--   1 rootroot rootroot        92 12月 20 15:06 Makefile
-r-xr-xr-x   1 rootroot rootroot     10370 12月 20 15:06 mkimage.sh*
drwxrwxr-x  11 rootroot rootroot      4096 12月 24 16:51 out/
drwxrwxr-x   9 rootroot rootroot      4096 12月 20 15:11 packages/
drwxrwxr-x   6 rootroot rootroot      4096 12月 20 15:11 pdk/
drwxrwxr-x   3 rootroot rootroot      4096 12月 20 15:11 platform/
drwxrwxr-x  10 rootroot rootroot      4096 12月 20 15:12 platform_testing/
drwxrwxr-x  28 rootroot rootroot      4096 12月 20 15:24 prebuilts/
drwxrwxr-x   7 rootroot rootroot      4096 5月  22  2020 .repo/
-r-xr-xr-x   1 rootroot rootroot       519 12月 20 15:24 restore_patches.sh*
drwxrwxr-x   9 rootroot rootroot      4096 12月 24 16:03 rkbin/
drwxrwxr-x   9 rootroot rootroot      4096 12月 20 15:06 RKDocs/
drwxrwxr-x   5 rootroot rootroot      4096 12月 20 15:24 rkst/
drwxrwxr-x   5 rootroot rootroot      4096 12月 20 15:06 RKTools/
drwxrwxr-x   7 rootroot rootroot      4096 12月 24 16:45 rockdev/
drwxrwxr-x  24 rootroot rootroot      4096 12月 20 15:24 sdk/
drwxrwxr-x  38 rootroot rootroot      4096 12月 20 15:24 system/
drwxrwxr-x   9 rootroot rootroot      4096 12月 20 15:24 test/
drwxrwxr-x   4 rootroot rootroot      4096 12月 20 15:24 toolchain/
drwxrwxr-x  19 rootroot rootroot      4096 12月 20 15:25 tools/
drwxrwxr-x  22 rootroot rootroot      4096 12月 24 16:44 u-boot/
-rwx------   1 rootroot rootroot  22333991 12月 24 16:39 u-boot81.tgz*
-rwx------   1 rootroot rootroot  17818883 12月 14 19:21 u-boot81在firefly.tgz*
drwxrwxr-x   5 rootroot rootroot      4096 12月 22 19:45 vendor/
rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ 
rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ 
rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ make -j36
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=rk3399_Android10
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a15
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-91-generic-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QQ2A.200305.004.A1
OUT_DIR=out
============================================
$(shell find kernel/drivers/net/wireless/rockchip_wlan -name ""*.ko"" -type f | sed -E "s:(kernel/drivers/net/wireless/rockchip_wlan/?(.*)):\\1\\:/recovery/root/pcba/lib/modules/\\2:" | sed "s://:/:g") was changed, regenerating...
$(shell find kernel/drivers/net/wireless/rockchip_wlan -name ""*.ko"" -type f | sed -E "s:(kernel/drivers/net/wireless/rockchip_wlan/?(.*)):\\1\\:/recovery/root/pcba/lib/modules/\\2:" | sed "s://:/:g") was changed, regenerating...
[100% 449/449] initializing build system ...
device/rockchip/common/prebuild.mk:2: warning: Generating manifest snapshot at out/commit_id.xml...
device/rockchip/common/prebuild.mk:3: warning: You can disable this by removing this and setting BOARD_RECORD_COMMIT_ID := false in BoardConfig.mk
Traceback (most recent call last):
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/subcmds/manifest.py", line 80, in Execute
    self._Output(opt)
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/subcmds/manifest.py", line 70, in _Output
    peg_rev_upstream = opt.peg_rev_upstream)
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/manifest_xml.py", line 327, in Save
    output_projects(None, root, list(sorted(projects)))
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/manifest_xml.py", line 241, in output_projects
    output_project(parent, parent_node, project)
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/manifest_xml.py", line 268, in output_project
    value = p.work_git.rev_parse(HEAD + '^0')
  File "/home/rootroot/3TB/Rockchip_Android10.0_SDK_Release/.repo/repo/project.py", line 2747, in runner
    (self._project.name, name, p.stderr))
error.GitError: rk/u-boot rev-parse: fatal: not a git repository (or any parent up to mount point /home/rootroot)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

[ 46% 454/971] including build/make/target/board/Android.mk ...
build fstab file with device/rockchip/rk3399/rk3399_Android10/fstab.in....
rebuilding dtbo image with device/rockchip/rk3399/rk3399_Android10/dt-overlay.in....
[ 72% 704/971] including hardware/rockchip/omx_il/Android.mk ...
tools/hooks .git/hooks
[ 20% 1490/7172] Building dtbo img file out/target/product/rk3399_Android10/obj/FAKE/rockchip_dtbo_intermediates/rebuild-dtbo.img.
out/target/product/rk3399_Android10/obj/FAKE/rockchip_dtbo_intermediates/device-dtbo.dtb: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property
out/target/product/rk3399_Android10/obj/FAKE/rockchip_dtbo_intermediates/device-dtbo.dtb: Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg property
create image file: out/target/product/rk3399_Android10/obj/FAKE/rockchip_dtbo_intermediates/rebuild-dtbo.img...
Total 1 entries.
[ 20% 1494/7172] Target buildinfo: out/target/product/rk3399_Android10/obj/ETC/system_build_prop_intermediates/build.prop
Target buildinfo from: device/rockchip/rk3399/rk3399_Android10/system.prop
[ 77% 5581/7172] Copy xml: out/target/product/rk3399_Android10/vendor/commit_id.xml
FAILED: out/target/product/rk3399_Android10/vendor/commit_id.xml
/bin/bash -c "(out/soong/host/linux-x86/bin/xmllint out/commit_id.xml >/dev/null ) && (mkdir -p out/target/product/rk3399_Android10/vendor/ ) && (rm -f out/target/product/rk3399_Android10/vendor/commit_id.xml ) && (cp \"out/commit_id.xml\" \"out/target/product/rk3399_Android10/vendor/commit_id.xml\" )"
out/commit_id.xml:1: parser error : Document is empty

^
[ 78% 5607/7172] build out/target/product/rk3399_Android10/system/etc/event-log-tags
packages/services/Car/tests/CarDeveloperOptions/src/com/android/car/developeroptions/EventLogTags.logtags:6: warning: tag "lock_screen_type" (90200) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:6
packages/services/Car/tests/CarDeveloperOptions/src/com/android/car/developeroptions/EventLogTags.logtags:9: warning: tag "exp_det_device_admin_activated_by_user" (90201) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:9
packages/services/Car/tests/CarDeveloperOptions/src/com/android/car/developeroptions/EventLogTags.logtags:12: warning: tag "exp_det_device_admin_declined_by_user" (90202) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:12
packages/services/Car/tests/CarDeveloperOptions/src/com/android/car/developeroptions/EventLogTags.logtags:15: warning: tag "exp_det_device_admin_uninstalled_by_user" (90203) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:15
packages/services/Car/tests/CarDeveloperOptions/src/com/android/car/developeroptions/EventLogTags.logtags:18: warning: tag "settings_latency" (90204) duplicated in packages/apps/Settings/src/com/android/settings/EventLogTags.logtags:18
16:56:10 ninja failed with: exit status 1

#### failed to build some targets (04:54 (mm:ss)) ####

rootroot@rootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ 


百度搜索:out/commit_id.xml:1: parser error : Document is empty

https://blog.csdn.net/u010823818/article/details/132233861
commit_id.xml:1: parser error : Document is empty
SoulKuyan
已于 2023-10-24 09:45:58 修改

修改device/rockchip/common/BoardConfig.mk

将BOARD_RECORD_COMMIT_ID 改为false
BOARD_RECORD_COMMIT_ID ?= false

或者
SYSTEM_WITH_MANIFEST ?= true   修改成 false 即可

Z:\3TB\Rockchip_Android10.0_SDK_Release\device\rockchip\common\BoardConfig.mk
Z:\3TB\61Android11.0\device\rockchip\common\BoardConfig.mk

# ethernet
BOARD_HS_ETHERNET ?= false

# Save commit id into firmware
BOARD_RECORD_COMMIT_ID ?= false

# no battery
BUILD_WITHOUT_BATTERY ?= false

相关文章:

20231224解决outcommit_id.xml1 parser error Document is empty的问题

20231224解决outcommit_id.xml1 parser error Document is empty的问题 2023/12/24 18:13 在开发RK3399的Android10的时候&#xff0c;出现&#xff1a;rootrootrootroot-X99-Turbo:~/3TB/Rockchip_Android10.0_SDK_Release$ make installclean PLATFORM_VERSION_CODENAMEREL…...

电子电器架构刷写方案——General Flash Bootloader

电子电器架构刷写方案——General Flash Bootloader 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 注&#xff1a;文章1万字左右&#xff0c;深度思考者入&#xff01;&#xff01;&#xff01; 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免…...

【Linux】僵尸与孤儿 进程等待

目录 一&#xff0c;僵尸进程 1&#xff0c;僵尸进程 2&#xff0c;僵尸进程的危害 二&#xff0c;孤儿进程 1&#xff0c;孤儿进程 三&#xff0c;进程等待 1&#xff0c;进程等待的必要性 2&#xff0c;wait 方法 3&#xff0c;waitpid 方法 4&#xff0c;回收小结…...

Java小案例-Sentinel的实现原理

前言 Sentinel是阿里开源的一款面向分布式、多语言异构化服务架构的流量治理组件。 主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 核心概念 要想理解一个新的技…...

【Leetcode Sheet】Weekly Practice 21

Leetcode Test 1901 寻找峰值Ⅱ(12.19) 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat &#xff0c;其中任意两个相邻格子的值都 不相同 。找出 任意一个 峰值 mat[i][j] 并 返回其位置 [i,j] 。 …...

C语言使用qsort和bsearch实现二分查找

引言 在计算机科学领域&#xff0c;查找是一项基本操作&#xff0c;而二分查找是一种高效的查找算法。本博客将详细解释一个简单的C语言程序&#xff0c;演示如何使用标准库函数qsort和bsearch来对一个整数数组进行排序和二分查找。 代码解析 包含头文件 #include <stdi…...

MySQL的替换函数及补全函数的使用

前提&#xff1a; mysql的版本是8.0以下的。不支持树形结构递归查询的。但是&#xff0c;又想实现树形结构的一种思路 提示&#xff1a;如果使用的是MySQL8.0及其以上的&#xff0c;想要实现树形结构&#xff0c;请参考&#xff1a;MySQL数据库中&#xff0c;如何实现递归查询…...

2022第十二届PostgreSQL中国技术大会-核心PPT资料下载

一、峰会简介 本次大会以“突破•进化•共赢 —— 安全可靠&#xff0c;共建与机遇”为主题&#xff0c;助力中国数据库基础软件可掌控、可研究、可发展、可生产&#xff0c;并推动数据库生态的繁荣与发展。大会为数据库从业者、数据库相关企业、数据库行业及整个IT产业带来崭…...

2024 年 10大 AI 趋势

2025 年&#xff0c;全球人工智能市场预计将达到惊人的 1906.1 亿美元&#xff0c;年复合增长率高达 36.62%。 人工智能软件正在迅速改变我们的世界&#xff0c;而且这种趋势在未来几年只会加速。 我们分析了未来有望彻底改变 2024 年的 10 个AI趋势。从生成式人工智能的兴起到…...

Uboot

什么是Bootloader? Linux系统要启动就必须需要一个 bootloader程序&#xff0c;也就说芯片上电以后先运行一段bootloader程序。 这段 **bootloader程序会先初始化时钟&#xff0c;看门狗&#xff0c;中断&#xff0c;SDRAM&#xff0c;等外设&#xff0c;然后将 Linux内核从f…...

ECMAScript 的未来:预测 JavaScript 创新的下一个浪潮

以下是简单概括关于JavaScript知识点以及一些目前比较流行的比如&#xff1a;es6 想要系统学习&#xff1a; 大家有关于JavaScript知识点不知道可以去 &#x1f389;博客主页&#xff1a;阿猫的故乡 &#x1f389;系列专栏&#xff1a;JavaScript专题栏 &#x1f389;ajax专栏&…...

代码随想录算法训练营第十三天 | 239. 滑动窗口最大值、347.前 K 个高频元素

239. 滑动窗口最大值 题目链接&#xff1a;239. 滑动窗口最大值 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 文章讲解…...

推荐五个免费的网络安全工具

导读&#xff1a; 在一个完美的世界里&#xff0c;信息安全从业人员有无限的安全预算去做排除故障和修复安全漏洞的工作。但是&#xff0c;正如你将要学到的那样&#xff0c;你不需要无限的预算取得到高质量的产品。这里有SearchSecurity.com网站专家Michael Cobb推荐的五个免费…...

Cross-Drone Transformer Network for Robust Single Object Tracking论文阅读笔记

Cross-Drone Transformer Network for Robust Single Object Tracking论文阅读笔记 Abstract 无人机在各种应用中得到了广泛使用&#xff0c;例如航拍和军事安全&#xff0c;这得益于它们与固定摄像机相比的高机动性和广阔视野。多无人机追踪系统可以通过从不同视角收集互补的…...

【LeetCode刷题笔记】动态规划(二)

647. 回文子串 解题思路: 1. 暴力穷举 , i 遍历 [0, N) , j 遍历 [i+1, N] ,判断每一个子串 s[i, j) 是否是回文串,判断是否是回文串可以采用 对撞指针 的方法。如果是回文串就计数 +1...

(十七)Flask之大型项目目录结构示例【二扣蓝图】

大型项目目录结构&#xff1a; 问题引入&#xff1a; 在上篇文章讲蓝图的时候我给了一个demo项目&#xff0c;其中templates和static都各自只有一个&#xff0c;这就意味着所有app的模板和静态文件都放在了一起&#xff0c;如果项目比较大的话&#xff0c;这就非常乱&#xf…...

蓝牙技术在物联网中的应用

随着蓝牙技术的不断演进和发展&#xff0c;蓝牙已经从单一的传统蓝牙技术发展成集传统蓝牙。高速蓝牙和低耗能蓝牙于一体的综合技术&#xff0c;不同的应用标准更是超过40个越来越广的技术领域和越来越多的应用场景&#xff0c;使得目前的蓝牙技术成为包含传感器技术、识别技术…...

宝塔面板Linux服务器CentOS 7数据库mysql5.6升级至5.7版本教程

近段时间很多会员问系统更新较慢&#xff0c;也打算上几个好的系统&#xff0c;但几个系统系统只支持MYSQL5.7版本&#xff0c;服务器一直使用较低的MYSQL5.6版本&#xff0c;为了测试几个最新的系统打算让5.6和5.7并存使用&#xff0c;参考了多个文档感觉这种并存问题会很多。…...

掌握常用Docker命令,轻松管理容器化应用

Docker是一个开源的应用容器引擎&#xff0c;它可以让开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器或Windows机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口。下面介…...

【数据结构1-2】P5076 普通二叉树(简化版)(c++,multiset做法)

文章目录 一、题目【深基16.例7】普通二叉树&#xff08;简化版&#xff09;题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1基本思路&#xff1a; 一、题目 【深基16.例7】普通二叉树&#xff08;简化版&#xff09; 题目描述 您需要写一种数据结构&#xff0c;来维…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...