Android调试进阶:adb shell中am与pm命令的深度应用指南
1. 从“adb不是内部命令”到高效调试一个Android开发者的命令行工具箱如果你在Windows的CMD里敲下adb然后看到那句熟悉的“不是内部或外部命令也不是可运行的程序或批处理文件”恭喜你你遇到了几乎所有Android开发者或玩机爱好者的第一个门槛。这不仅仅是环境变量没配好的问题它更像是一个隐喻通往设备底层能力的大门就藏在adb shell这个看似简单的命令行接口之后。而am和pm则是打开这扇门后你手中最趁手的两把瑞士军刀。很多人知道adb install和adb logcat但对am和pm的认知往往停留在“启动应用”和“卸载应用”的层面这实在是暴殄天物。今天我们就来彻底拆解这两个命令把它们从“常用命令总结”的清单里解放出来变成你日常调试、自动化甚至解决棘手问题的核心生产力工具。adb本身是Android Debug Bridge的缩写它是PC与Android设备之间的一座多功能桥梁。而adb shell则是让你直接登录到设备或模拟器的Linux shell环境中。在这个环境里am和pm并非普通的可执行文件它们是Android框架通过cmd工具暴露给shell的系统服务接口。am全称Activity Manager负责管理应用组件Activity、Service等的生命周期和调度pm全称Package Manager掌管着应用包的安装、卸载、查询和权限管理。理解这一点至关重要你通过am和pm发出的命令本质上是在与Android系统最核心的服务进行交互其权限和能力远高于普通应用。接下来我将结合大量实际场景带你深入这两个命令的肌理不止于罗列命令更在于理解其设计逻辑和解决实际问题的思路。2. 环境基石跨越“adb: failed to check server version”的坑在挥舞am和pm之前我们必须确保adb这座桥梁本身是稳固的。网络热词中频繁出现的adb: failed to check server version: protocol fault错误以及驱动问题、端口占用等都是常见的拦路虎。一个可靠的adb环境是后续一切操作的前提。2.1 安装与配置不只是PATH那么简单首先从Android SDK的platform-tools目录获取adb工具。对于开发者通常Android Studio会管理好。对于独立用户直接下载独立的platform-tools包更干净。配置系统环境变量PATH使其包含adb.exe所在的目录这是解决“不是内部或外部命令”的标准做法。但这里有一个关键细节避免将adb放在路径包含中文或空格的目录下。有些网络工具包解压后放在“D:\软件\adb工具”这样的路径下虽然PATH配置正确但在某些复杂情况下仍可能引发难以预料的问题。最佳实践是使用全英文、无空格的路径如D:\Android\platform-tools。2.2 连接设备驱动、授权与网络ADB连接物理设备时正确的USB驱动程序是第一步。各大手机厂商通常提供独立的驱动包或者通过其官方手机助手软件安装。在Linux或macOS下通常无需额外驱动。连接后设备屏幕会弹出“允许USB调试吗”的授权对话框务必勾选“始终允许”这对于自动化脚本至关重要。对于像小米手表这类特殊设备或者需要无线调试的场景“网络ADB”就派上用场了。先在USB连接下执行adb tcpip 55555555是默认端口将设备切换到TCP/IP模式。然后拔掉USB线确保手机和电脑在同一局域网执行adb connect 设备IP:5555即可。无线调试对于频繁插拔或设备接口不便的场景极其有用。热词中提到的“小米手表1怎么网络adb”其原理也在于此关键在于找到手表开启网络ADB调试的入口通常在开发者选项内。2.3 解决常见连接故障adb: failed to check server version这个错误通常意味着adb服务器进程adb server出现了问题或与客户端版本不匹配。最彻底的解决方法是在任务管理器中结束所有adb.exe进程。命令行执行adb kill-server。重新执行adb start-server或直接执行adb devices它会自动启动server。如果问题依旧考虑是否同时运行了多个Android工具如多个版本的Android Studio、第三方手机助手它们可能启动了冲突的adb server。统一使用一个platform-tools版本。设备离线offline重新插拔USB线重启设备上的“USB调试”开关或执行adb kill-server adb start-server。未授权unauthorized检查设备屏幕是否弹出授权框或进入开发者选项撤销所有USB调试授权后重新连接。注意在一些深度定制的系统如某些MIUI版本上即使开启了USB调试也可能需要在“开发者选项”中额外开启“USB调试安全设置”或“禁止权限监控”等选项adb才能获得完整权限尤其是执行pm卸载系统应用等操作时。当adb devices稳定列出你的设备后我们就可以进入核心的shell世界了。执行adb shell你会看到一个以设备型号或$、#开头的命令行提示符。$表示普通shell权限#表示root权限。许多pm命令和部分am命令需要root权限才能发挥全部作用。3. 包管理大师pm命令的深度应用与风险规避pm命令是你管理设备上所有应用APK的司令部。它的功能远不止于安装和卸载。3.1 查询洞察设备上的所有应用pm list packages列出所有包名。这是最基础的命令但结合参数威力巨大。-f显示包名及其对应的APK文件路径。这在寻找某个应用的安装位置时非常有用。-s只列出系统应用。-3只列出第三方应用。-d只列出被禁用的应用。-e只列出被启用的应用。--user user_id在多用户设备上如平板的工作资料指定查询哪个用户空间下的应用。用户0是主用户。例如想找出所有已安装的浏览器应用可以结合greppm list packages | grep -i browser。想查看某个可疑应用是不是系统应用pm list packages -s | grep com.xiaomi.account。pm path package-name获取指定包名的APK安装路径。输出类似package:/data/app/com.example.app-xxx/base.apk。这个路径是adb pull提取APK文件的关键。pm dump package-name这是一个信息宝库。它会打印出关于该应用的极其详细的信息包括版本号、权限、Activity/Service/Receiver等组件列表、UID、GID、数据目录等。当需要深度分析一个应用时这个命令的输出是首选资料。3.2 安装与卸载超越图形界面的控制pm install安装APK。-r覆盖安装保留数据。-d允许降级安装通常用于调试。-g自动授予APK清单文件中声明的所有运行时权限。这在自动化测试中非常重要可以避免安装后弹窗请求权限。用法pm install -rg /sdcard/Download/app.apkpm uninstall卸载应用。普通卸载pm uninstall package-name。这会删除应用及其私有数据。--user 0参数的意义热词中提到了adb shell pm uninstall --user 0 com.xiaomi.account。这里的--user 0指定了操作用户空间。对于多用户设备这表示仅卸载主用户用户0下的这个应用应用本身在其他用户空间或系统分区如果是系统应用依然存在。但对于大多数单用户手机这个命令常用于“禁用”系统预装应用。因为系统应用无法被普通uninstall删除但pm uninstall --user 0 package会移除当前用户与该系统应用的关联使其从桌面消失且无法运行效果类似于“禁用”且通常可逆通过pm install-existing或在恢复出厂设置后还原。这是玩机爱好者“精简”系统应用的常用手段但存在风险可能导致系统功能异常。重要警告使用pm uninstall --user 0或pm disable-user禁用核心系统应用如账户服务、电话、短信核心组件可能导致手机变砖、无法拨打电话、无法登录账号等严重后果。操作前务必确认该应用的功能并最好先使用pm hide如果系统支持或pm disable-user相对更安全可逆进行测试。3.3 启用、禁用与权限管理pm enable package-name/pm disable package-name启用或禁用整个应用包。禁用后应用不会运行图标也可能消失。pm disable-user是更常见的用于用户应用的方式。pm grant package-name permission/pm revoke ...动态授予或撤销应用的运行时权限。例如pm grant com.example.camera android.permission.CAMERA。这在自动化测试中极其有用。pm clear package-name清空应用的所有数据相当于设置里的“清除数据”但保留应用本身。调试时用于重置应用状态。3.4 实战场景提取APK与排查问题场景一提取设备上任意应用的APK文件。adb shell pm path com.tencent.mm获取微信APK路径。adb pull /data/app/com.tencent.mm-xxx/base.apk ./wechat.apk拉取到电脑。场景二应用崩溃怀疑是权限问题。连接设备复现崩溃。adb shell pm dump com.example.crashapp | grep -A 5 -B 5 “grantedPermissions”查看已授予的权限。对比应用需要的权限使用pm grant手动授予缺失的权限后再测试。4. 活动管理核心am命令的意图Intent驱动世界如果说pm是静态的包管理器那么am就是动态的应用调度器。它的核心是Intent意图。几乎所有的am命令都围绕着构建和发送Intent展开。4.1 启动组件不仅仅是打开应用am start最常用的命令用于启动一个Activity。基本格式am start -n package_name/activity_full_name。例如am start -n com.android.settings/.Settings。关键参数解析-a ACTION指定Intent的Action如android.intent.action.VIEW。-d DATA_URI指定Intent的数据URI如https://www.bilibili.com。-t MIME_TYPE指定数据的MIME类型如text/html。-e key value/--es传递字符串类型的Extra数据。--ez传递布尔--ei传递整数。-f FLAGS设置Intent的Flag例如-f 0x10000000FLAG_ACTIVITY_NEW_TASK。一个复杂的例子用浏览器打开网页并传递Referer。am start -a android.intent.action.VIEW \ -d “https://www.example.com \ -e “Referer” “https://news.site.com \ -n com.android.chrome/com.google.android.apps.chrome.Mainam startservice/am stopservice启动和停止Service。am broadcast发送一个广播。这是测试BroadcastReceiver的利器。例如发送一个电量变化的广播模拟am broadcast -a android.intent.action.BATTERY_CHANGED --ei level 50 --ei scale 100。am start-foreground-service启动一个前台服务Android 8.0。4.2 强制停止与内存管理am force-stop package-name强制停止一个应用及其所有关联进程。这比在最近任务里划掉更彻底会终止其所有后台服务、广播接收器等。热词中出现的错误command failed: ... shell am force-stop很可能是因为包名错误或者该应用是系统关键进程无法被强制停止需要root。在自动化测试中常用此命令在每次测试用例开始前确保应用处于干净状态。am kill package-name杀死与指定包相关的所有后台进程但保留前台进程。行为比force-stop温和一些。am kill-all杀死所有后台进程。可用于快速释放内存但很快系统又会根据需要启动它们。4.3 用户与栈管理am switch-user user_id在多用户设备上切换用户。am stack list查看当前的Activity任务栈信息。对于分析复杂的应用界面跳转逻辑有帮助。4.4 实战场景自动化与深度调试场景一自动化测试中清理环境并启动应用。adb shell am force-stop com.example.autotest adb shell pm clear com.example.autotest adb shell am start -n com.example.autotest/.MainActivity场景二深度链接Deep Link测试。你的应用声明了处理example://goods/123这样的scheme。测试时无需开发写测试界面直接adb shell am start -a android.intent.action.VIEW -d “example://goods/123”观察你的应用是否被正确拉起并接收到参数。场景三模拟一个特定的广播事件来触发应用逻辑。假设你的应用监听网络连接变化adb shell am broadcast -a android.net.conn.CONNECTIVITY_CHANGE --ez noConnectivity true这可以模拟网络断开的情况用于测试应用的离线处理逻辑。5. shell内的其他利器文件、进程与信息获取在adb shell内你拥有一个功能完整的Linux环境结合Linux常用命令能力倍增。5.1 文件操作与权限管理ls,cd,cp,mv,rm,cat,echo这些是基础中的基础。注意Android的根目录结构如/system系统分区只读、/data/data应用私有数据需要root或对应权限、/sdcard或/storage/emulated/0内部存储。chmod/chown修改文件权限和所有者。例如当你adb push一个脚本到/data/local/tmp后可能需要chmod 755 /data/local/tmp/script.sh赋予执行权限。热词中“adb修改u盘写入权限”可能涉及对/mnt/usb或类似挂载点目录的权限修改。find查找文件。例如查找所有.log文件find /data -name “*.log” 2/dev/null。grep文本搜索。结合管道|是分析日志的黄金组合。5.2 进程与系统状态ps查看进程。常用ps -A或ps -ef查看所有进程。ps | grep package可以快速找到目标应用的进程IDPID。top动态查看进程资源占用CPU、内存。dumpsys这是一个超级强大的系统信息诊断工具。它可以输出数十种系统服务的状态。dumpsys meminfo package-name查看应用内存详情。dumpsys cpuinfo查看CPU信息。dumpsys battery查看电池状态。dumpsys activity activities详细输出当前的Activity栈信息比am stack list更详细。dumpsys package package-name输出包信息与pm dump类似但格式不同。logcat虽然通常在adb shell外直接使用adb logcat但在shell内也可以运行。使用logcat -c清空日志logcat -s TAG过滤特定标签的日志。5.3 实用脚本与输入模拟执行Shell脚本热词中提到了adb shell sh /storage/emulated/0/.../up.sh。这正是在设备上执行一个已上传的Shell脚本。你可以将复杂的命令序列写成脚本然后通过adb shell sh script_path一键运行实现自动化。输入模拟input tap x y模拟屏幕点击。input swipe x1 y1 x2 y2 [duration]模拟滑动。input text “string”模拟文本输入注意不支持中文。input keyevent keycode模拟按键如KEYCODE_HOME3、KEYCODE_BACK4。 这些命令常用于简单的自动化测试或演示。例如解锁屏幕假设滑动解锁input swipe 300 1000 300 500。6. 高阶组合与风险管控从命令到解决方案单独使用命令只是开始将它们组合起来并理解其风险边界才能真正解决问题。6.1 组合技案例静默安装并启动应用假设我们有一个自动化部署场景需要将APK推送到设备静默安装需root然后自动启动。#!/bin/bash # 假设已获得root权限adb root APK_PATH“/sdcard/Download/target.apk” PACKAGE_NAME“com.example.target” # 1. 推送APK到设备 adb push ./target.apk $APK_PATH # 2. 静默安装-l 为锁定安装-r为覆盖-d为允许降级-g为授予权限 adb shell pm install -l -r -d -g $APK_PATH # 3. 等待安装完成简单用sleep生产环境应检查pm list packages sleep 2 # 4. 强制停止应用确保从干净状态启动 adb shell am force-stop $PACKAGE_NAME # 5. 启动主Activity adb shell am start -n $PACKAGE_NAME/.MainActivity6.2 风险管控与注意事项Root风险许多高级pm操作如卸载系统应用和访问某些路径/data/data/需要root权限。获取root会破坏系统完整性保证可能失去OTA更新能力并带来安全风险。非必要不root。pm uninstall --user 0的陷阱如前所述这并非真正的卸载而是“从当前用户移除”。对于系统应用移除后如果想恢复可以尝试adb shell pm install-existing package-name但并非百分百成功。最稳妥的恢复方式是刷机或恢复出厂设置。am force-stop的副作用强制停止会终止应用的一切活动包括可能正在进行的后台同步、下载或通知服务。在用户正常使用中不要随意使用。Intent的兼容性使用am start发送的Intent其Action、Category等必须与目标Activity在AndroidManifest.xml中的声明完全匹配否则会报ActivityNotFoundException。在发送自定义Intent前最好先通过pm dump或反编译查看目标应用的Intent Filter。性能影响频繁在脚本中执行adb shell命令尤其是dumpsys这种重量级命令会对设备性能产生短暂影响。在性能测试或需要精确计时的自动化中需谨慎安排命令间隔。6.3 调试思维从现象到命令的排查链路当遇到“应用打不开”、“权限不生效”、“服务没启动”等问题时可以遵循以下排查思路确认应用状态pm list packages | grep package确认应用已安装。pm dump package查看其详细信息。检查进程ps | grep package看进程是否存在。如果不存在尝试用am start启动并观察logcat错误。分析Activity栈dumpsys activity activities | grep -A 10 -B 5 package查看目标Activity是否在栈顶状态如何。检查权限pm dump package | grep -i permission查看声明的权限pm list permissions -g -d查看危险权限列表思考是否已动态授予。查看日志adb logcat | grep -E “(package|AndroidRuntime)”过滤出应用崩溃或系统相关错误。掌握adb shell中的am和pm命令本质上是在掌握与Android系统内核服务对话的语言。它们不是冷冰冰的指令集而是你探索设备、调试应用、实现自动化的延伸之手。从解决“adb不是内部命令”开始到熟练运用pm dump分析应用用am broadcast模拟事件再到编写组合脚本解决复杂问题这条学习路径贯穿了一个Android从业者从入门到精通的实践历程。记住每个命令背后都是一个系统模块的接口理解其设计意图才能用得恰到好处避开深坑。

相关新闻

AI Agent如何自动化生成PPT:从技术原理到实践应用

AI Agent如何自动化生成PPT:从技术原理到实践应用

1. 从“PPT焦虑”到Agent的破局点每次看到“PPT”这个词,我猜很多朋友和我一样,心里会咯噔一下。无论是季度汇报、项目复盘、还是技术分享,制作一份逻辑清晰、视觉美观的PPT,往往意味着数小时甚至数天的煎熬:从梳理逻辑…

2026/8/1 3:57:15 阅读更多 →
国内GEO服务商TOP7评测与选型指南

国内GEO服务商TOP7评测与选型指南

1. 项目背景与行业现状国内GEO(地理空间信息)服务市场近年来呈现爆发式增长态势。根据最新行业报告显示,2023年国内地理信息产业规模已突破8000亿元,年复合增长率保持在15%以上。这种快速增长主要源于三大驱动力:新型基…

2026/8/1 3:57:15 阅读更多 →
Chemprop深度解析:基于消息传递神经网络的分子性质预测实战指南

Chemprop深度解析:基于消息传递神经网络的分子性质预测实战指南

Chemprop深度解析:基于消息传递神经网络的分子性质预测实战指南 【免费下载链接】chemprop Message Passing Neural Networks for Molecule Property Prediction 项目地址: https://gitcode.com/gh_mirrors/ch/chemprop 在药物发现和材料科学领域&#xff0c…

2026/8/1 3:56:15 阅读更多 →

最新新闻

VH6501总线干扰神器实战:从硬件原理到CAPL脚本的汽车ECU压力测试指南

VH6501总线干扰神器实战:从硬件原理到CAPL脚本的汽车ECU压力测试指南

1. 项目概述:从“干扰”到“测试”的认知升级提到“总线干扰神器”,很多刚接触汽车电子测试的朋友可能会眼睛一亮,觉得这玩意儿是不是能像电影里的黑客工具一样,随便一按就让别人的CAN网络瘫痪?我最初拿到VH6501时也闪…

2026/8/1 4:30:29 阅读更多 →
5分钟缓存策略具体是如何分层设计缓存结构的?+

5分钟缓存策略具体是如何分层设计缓存结构的?+

Not Quite RARBG(NQRBG)5 分钟缓存策略优化方案:提速 API 响应一、先搞懂场景现状Not Quite RARBG 是 RARBG 闭站后的镜像 / 聚合 API 服务,核心业务:对外接口:影视资源列表、检索搜索、剧集详情、种子信息…

2026/8/1 4:30:29 阅读更多 →
6款AI论文网站精选

6款AI论文网站精选

真正的学术 AI,从不替你代笔,而是做你的选题军师、文献管家、逻辑教练、润色专家。从中文毕业论文到英文期刊发表,从框架搭建到降重合规,这 6 款工具覆盖全场景,帮你用最低时间成本,写出高质量、高原创、高…

2026/8/1 4:30:29 阅读更多 →
Bebas Neue:为什么这款开源字体成为设计师的秘密武器?

Bebas Neue:为什么这款开源字体成为设计师的秘密武器?

Bebas Neue:为什么这款开源字体成为设计师的秘密武器? 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 你是否曾为寻找一款既专业又完全免费的字体而烦恼?在追求完美视觉体验的…

2026/8/1 4:30:29 阅读更多 →
【每日一题】LeetCode 55. 跳跃游戏 TypeScript

【每日一题】LeetCode 55. 跳跃游戏 TypeScript

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 1:输入&am…

2026/8/1 4:30:29 阅读更多 →
可灵动态构图失控?揭秘镜头抖动、焦点漂移与延迟卡顿的3大底层硬件协同漏洞(2024固件级修复手册)

可灵动态构图失控?揭秘镜头抖动、焦点漂移与延迟卡顿的3大底层硬件协同漏洞(2024固件级修复手册)

更多请点击: https://codechina.net 第一章:可灵动态构图失控现象的系统性归因 可灵(Kling)动态构图在高复杂度提示驱动下常出现主体偏移、比例失衡与运动轨迹断裂等失控现象,其根源并非单一模块缺陷,而是…

2026/8/1 4:29:29 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →