Android 11+ APK安装失败:resources.arsc未压缩要求详解与解决方案
1. 项目概述当APK安装报错“Targeting R (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed”如果你是一名Android开发者尤其是在处理应用上架或设备安装测试时最近很可能被一个看似晦涩的报错信息卡住过。这个错误信息通常长这样INSTALL_PARSE_FAILED_RESOURCES_ARSC_COMPRESSED: Targeting R (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed.或者在控制台日志中你可能会看到更简短的提示比如-124: failed parse during installPackageLI: targeting r (version 30 and above) requires...。这个错误的核心直指Android 11API级别30即R引入的一项关键安全与性能优化策略。简单来说从Android 11开始系统要求APK包内的resources.arsc资源索引表文件必须以“未压缩”的状态存储。如果你的APK在构建或签名后处理过程中这个文件被压缩了那么在安装到Android 11及以上版本的设备时系统就会拒绝安装并抛出上述错误。对于开发者、测试人员和发布工程师而言这不仅仅是一个编译警告而是一个硬性的运行时安装壁垒。它直接关系到应用能否成功部署到现代Android设备上。本文将深入拆解这个问题的来龙去脉从协议规范、构建工具链的影响到具体的排查步骤和解决方案并结合实际踩坑经验提供一套从诊断到修复的完整实操指南。2. 核心原理与规范解读为什么resources.arsc必须未压缩要彻底解决这个问题不能停留在“执行某个命令”的层面必须理解其背后的设计意图和技术规范。这涉及到APK的文件格式、Android系统的资源加载机制以及Google对平台安全性和性能的持续改进。2.1 APK文件结构与resources.arsc的角色一个APK文件本质上是一个ZIP格式的压缩包。里面包含了应用的代码classes.dex、编译后的资源文件如图片、XML布局、原生库.so文件以及一个至关重要的文件——resources.arsc。resources.arscAndroid资源编译后生成的二进制文件是Android资源系统的“总索引”和“字典”。它包含了所有资源的映射关系例如资源ID到资源路径的映射当你在代码中调用R.layout.activity_main时系统通过这个ID在resources.arsc中查找对应的activity_main.xml文件在APK中的位置和配置。多语言字符串、尺寸、颜色等值的查找表。资源类型和配置限定符信息如屏幕密度、语言、横竖屏。在应用运行过程中尤其是启动时和加载新界面时系统需要频繁、快速地读取resources.arsc文件来定位资源。如果这个文件被压缩在ZIP包内每次读取都需要先进行解压操作这会带来两个显著问题性能开销额外的解压CPU计算和I/O延迟直接影响应用启动速度和资源加载流畅度。内存压力解压操作需要在内存中展开数据增加了不必要的内存占用。2.2 Android R (API 30) 的强制要求在Android 11之前resources.arsc是否压缩更多是开发者的一个可选优化项。你可以通过构建工具如aapt2的参数来控制。但从Android 11Target SDK 30开始Google通过PackageManager在安装时强制执行了这一规则。其根本原因在于内存映射文件 (mmap)技术的优化应用。系统希望将resources.arsc这个只读的、结构规整的二进制文件直接通过mmap映射到应用进程的虚拟内存空间中。这样做的好处是零拷贝访问应用访问资源索引时就像访问内存数组一样快无需经过“解压-读取-复制”的繁琐流程。共享内存同一个APK的resources.arsc可以被设备上运行的多个进程如应用主进程、WebView沙盒进程共享同一份物理内存极大节省系统资源。安全性清晰的文件结构和访问模式更易于进行安全验证。而mmap要求文件在存储介质上是连续、未压缩的块。如果resources.arsc被压缩在ZIP中就无法实现高效、安全的直接内存映射。因此Android R 将其作为一项强制安装校验规则。注意这里容易产生一个误解。要求“未压缩”是指该文件在APK的ZIP包结构中其“压缩方法”字段必须标记为STORED即不压缩而不是指文件本身是未压缩的二进制格式。resources.arsc本身已经是编译后的二进制格式我们讨论的是它在ZIP容器内的存储方式。2.3 构建与签名工具链的影响点问题通常不是出现在代码编写阶段而是出现在APK的构建、优化和签名流程中。以下几个环节是“罪魁祸首”的高发区构建工具 (android gradle plugin,aapt2)默认情况下现代AGP和aapt2在针对Android 11及以上版本编译时应该会自动将resources.arsc设置为未压缩。但如果存在旧的构建配置或自定义构建脚本可能会覆盖这一行为。优化与对齐工具 (zipalign)这是一个关键工具用于优化APK以提升运行时性能。其核心工作之一就是确保所有未压缩的文件如.so库以及现在的resources.arsc在APK文件中按4字节边界对齐以便系统能够直接mmap。如果zipalign步骤被跳过、顺序错误或参数不当可能导致问题。签名工具 (apksigner,jarsigner)签名操作会修改APK的ZIP结构。重要的是必须在zipalign操作之后再进行签名。因为签名会在APK的ZIP目录末尾添加签名块如果在签名之后再进行zipalign就会破坏签名导致APK无法安装。但如果在zipalign之前签名又可能破坏文件的对齐状态。正确的流水线是构建 -zipalign- 签名。二次处理与打包一些特殊场景如动态功能模块、App Bundle生成APK、或者使用某些第三方加固、混淆、渠道打包工具可能会在标准Gradle构建流程之外对APK进行二次处理。这些处理如果不遵守Android R的规范就极有可能错误地压缩了resources.arsc。3. 诊断与排查定位压缩问题的根源当遇到安装失败报错时盲目尝试各种解决方案效率低下。首先应该准确诊断你的APK中resources.arsc的压缩状态。以下是系统化的排查流程。3.1 使用命令行工具检查APK最直接的方法是使用检查ZIP文件的工具。在终端或命令提示符中进入APK所在目录执行以下命令在 macOS/Linux 上unzip -lv your_app.apk | grep resources.arsc在 Windows 上使用 PowerShell[System.IO.Compression.ZipFile]::OpenRead(your_app.apk).Entries | Where-Object {$_.Name -eq resources.arsc} | Select-Object Name, CompressedLength, Length或者使用第三方工具如7-Zip右键APK文件 - “7-Zip” - “打开压缩包”查看resources.arsc的“压缩”一栏。解读输出结果关键看Method字段在unzip -lv的输出中或比较CompressedLength和Length。Method显示为Stored恭喜文件未压缩问题可能出在其他地方如签名损坏、设备兼容性。Method显示为Deflated这就是问题的根源文件被压缩了。CompressedLength小于Length同样表明文件被压缩了压缩后大小 原始大小。3.2 分析构建日志Gradle在Android Studio中构建APK时查看Build输出窗口。搜索关键词resources.arsc或zipalign。正常的日志应该包含类似以下内容 Task :app:zipalignRelease [zipalign] Verifying alignment of /path/to/app-release-unsigned.apk (4)... [zipalign] Verification succesful或者在packageRelease任务中能看到aapt2处理资源的日志。如果zipalign任务被跳过或失败这里会有明确提示。3.3 确认构建配置 (build.gradle)检查你的app/build.gradle文件特别是android闭包内的配置android { buildTypes { release { // 确保没有禁用压缩优化或者没有错误配置 crunchPngs true // 这是压缩PNG不影响arsc // 注意下面这个配置在现代AGP中已废弃或不建议使用可能引发问题 // zipAlignEnabled true // 通常默认开启无需显式设置 } } }重点检查是否有自定义的packagingOptions排除了resources.arsc通常没有。但如果有确保它没有导致异常行为。android { packagingOptions { // 通常不需要为 resources.arsc 添加排除规则 // exclude **/resources.arsc // 错误这会导致文件丢失。 } }3.4 审视构建流程中的自定义步骤这是最常见的问题来源。问自己几个问题是否在Gradle构建结束后手动执行了某些脚本对APK进行处理例如Python脚本调用旧版aapt工具是否集成了第三方SDK或打包工具如某些广告联盟的渠道打包工具、安全加固工具是否使用了flutter build apk而非flutter build appbundleFlutter的构建流程需要确保与AGP的规范对齐。对于App Bundle你从Play Console下载的APK是Google优化签名的通常没问题。但如果你本地通过bundletool手动构建APK参数是否正确4. 解决方案与修复步骤根据诊断出的不同原因采取对应的修复措施。4.1 修复方案一确保使用正确的构建与签名流程标准Gradle对于大多数标准Android项目确保构建流程规范即可。1. 使用最新的Android Gradle插件 (AGP)在项目根目录的build.gradle文件中确保使用了较新版本的AGP例如7.0。新版本插件会自动处理Android R的兼容性要求。// 项目根目录 build.gradle dependencies { classpath com.android.tools.build:gradle:7.4.2 // 使用较新版本 }2. 验证构建变体在Android Studio的Build Variants窗口确认你正在构建正确的变体例如release。有时在debug模式下可能使用了不同的、更宽松的打包选项。3. 执行Clean和Rebuild清除旧的构建产物进行一次全新的构建这能排除缓存导致的诡异问题。./gradlew clean ./gradlew assembleRelease4. 显式声明android:extractNativeLibs”false”如适用如果你的应用在AndroidManifest.xml的application标签中设置了android:extractNativeLibs”false”这意味着.so库也不从APK中解压直接内存映射那么AGP会自动强制resources.arsc也为未压缩状态。这可以作为一个“双重保险”。但请注意这主要适用于以未压缩方式存储原生库的场景。4.2 修复方案二手动干预与检查适用于自定义流程如果你的流程中包含自定义脚本或工具需要手动确保resources.arsc未压缩。1. 使用zipalign工具进行校正zipalign是Android SDK Build Tools的一部分。确保你使用的是较新版本如30.0.3。# 格式zipalign -p -f -v 4 [输入APK] [输出APK] $ANDROID_HOME/build-tools/34.0.0/zipalign -p -f -v 4 input.apk output-aligned.apk-p确保未压缩的文件在4字节边界上对齐。-f覆盖现有输出文件。-v输出详细日志。4对齐字节数必须为4这是Android系统要求的。关键步骤执行zipalign必须在签名之前。对齐完成后使用apksigner对output-aligned.apk进行签名。2. 使用apksigner进行签名而非jarsignerGoogle推荐使用apksigner为APK签名它专为APK格式设计能更好地处理V2/V3签名块。# 格式apksigner sign --ks [密钥库] --ks-key-alias [别名] [APK文件] $ANDROID_HOME/build-tools/34.0.0/apksigner sign --ks my-release-key.jks --ks-key-alias my-key-alias output-aligned.apk签名后可以验证签名$ANDROID_HOME/build-tools/34.0.0/apksigner verify -v output-aligned.apk3. 修复错误的构建脚本如果你有自定义脚本检查其中是否包含类似以下可能压缩resources.arsc的命令使用zip或jar命令重新打包时没有指定-0仅存储不压缩选项。使用了过时的aapt命令进行打包而不是aapt2。正确的做法是在自定义脚本中如果需要对APK进行重组应确保resources.arsc的压缩方法为STORED。4.3 修复方案三处理第三方工具与特殊框架Flutter 项目确保Flutter通道稳定并更新所有依赖。使用以下命令构建Release APKflutter clean flutter build apk --release检查flutter build apk生成的APK。如果问题依旧可以尝试在android/app/build.gradle中显式设置AGP版本并确保遵循上述Android原生项目的检查点。Unity 项目在Unity的Player Settings (Android) 中确保“Minimum API Level”设置为至少30如果你以R为目标。在“Publishing Settings”部分检查“Custom Keystore”和“Alias”配置正确。Unity的构建后处理脚本可能会影响APK。查看Unity编辑器日志看是否有警告。有时需要等待Unity版本更新以完全兼容最新的Android规范。第三方加固/渠道打包工具联系工具提供商确认其最新版本是否支持并遵守Android R关于resources.arsc未压缩的规范。在工具配置中寻找关于“压缩”、“对齐”或“V2/V3签名”的选项并按照其文档进行正确配置。5. 常见问题排查与实战心得在实际操作中除了标准流程还会遇到一些边界情况和“坑”。这里记录几个典型案例和解决思路。5.1 问题zipalign验证通过但安装依然失败现象使用zipalign -c -v 4 app.apk检查显示验证成功但APK安装到Android 11设备时仍报原错误。排查与解决检查签名顺序这是最可能的原因。zipalign -c检查的是当前APK的对齐状态。如果你先签名后对齐那么对齐操作修改了APK文件破坏了签名。此时对齐检查是通过的但签名是无效的。务必记住铁律先对齐 (zipalign)后签名 (apksigner)。检查APK来源你检查的APK和安装的APK是同一个文件吗是否在传输过程中如通过邮件、网盘、即时通讯工具被重新压缩或修改了有些工具会自动压缩附件。可以对比文件的MD5或SHA256校验和。检查设备系统极少数情况下设备厂商定制的ROM可能存在解析Bug。尝试在另一台Android 11设备或官方模拟器上安装以排除设备特定问题。5.2 问题使用App Bundle从Play商店下载安装正常但本地测试安装失败现象通过Google Play发布应用一切正常但使用bundletool从.aab文件构建出用于本地测试的APK时安装失败。排查与解决bundletool版本过旧确保你使用的是最新版本的bundletool。旧版本可能未正确处理R的压缩要求。java -jar bundletool-all-1.15.0.jar build-apks --bundlemyapp.aab --outputmyapp.apks --ksmykeystore.jks --ks-key-aliasmyalias --ks-passpass:mykeystorepass构建APKS时的设备规格bundletool build-apks默认会生成针对多种设备配置的APK。确保你安装的APK是针对正确设备规格如ABI屏幕密度生成的。可以使用--device-spec参数指定一个JSON文件来模拟目标设备生成特定的APK集。提取特定APK进行安装.apks文件本身是一个ZIP包里面包含多个分割的APK。你需要使用bundletool install-apks命令来安装或者用bundletool extract-apks提取出适合你测试设备的APK组合后再安装。直接安装.apks文件或错误的APK文件会导致失败。5.3 问题多模块项目中动态功能模块(DFM)的APK安装失败现象基础APK安装成功但当下载或安装动态功能模块时失败错误信息类似。排查与解决检查DFM的构建配置每个动态功能模块都有自己的build.gradle需要确保其targetSdkVersion也设置为30或以上并且应用了正确的插件 (com.android.dynamic-feature)。Play Core库版本确保应用内集成了最新版本的Play Core库用于处理动态模块的下载和安装。旧版本库可能无法正确解析符合新规范的模块APK。使用bundletool测试使用bundletool构建并安装包含动态功能的APK集模拟Play商店的交付流程这比直接安装模块APK更可靠。5.4 实操心得将检查步骤集成到CI/CD流水线为了避免此问题再次发生最好的办法是将检查自动化集成到持续集成/持续部署CI/CD流程中。可以在构建APK后、发布之前添加一个自动化检查步骤简单的Shell脚本示例#!/bin/bash APK_PATH$1 # 检查 resources.arsc 压缩方法 COMPRESSION_METHOD$(unzip -lv $APK_PATH | grep resources.arsc | awk {print $7}) if [ $COMPRESSION_METHOD ! Stored ]; then echo ❌ 错误resources.arsc 的压缩方法为 $COMPRESSION_METHOD应为 Stored。 echo 请检查构建流程确保 zipalign 在 apksigner 之前执行且未使用会压缩此文件的第三方工具。 exit 1 else echo ✅ 检查通过resources.arsc 未压缩。 fi # 可选检查zipalign对齐 $ANDROID_HOME/build-tools/*/zipalign -c -v 4 $APK_PATH if [ $? -ne 0 ]; then echo ❌ 错误APK未正确对齐。 exit 1 else echo ✅ 检查通过APK已正确对齐。 fi在GitLab CI、GitHub Actions或Jenkins等CI工具中在assembleRelease任务之后调用此脚本对产出的APK进行检查失败则中断流水线并通知开发者。这能将问题拦截在开发阶段避免流入测试或生产环境。6. 总结与最佳实践建议“Targeting R requires resources.arsc uncompressed”这个错误本质上是Android平台演进过程中对应用性能和安全性提出更高要求的一个体现。解决它并不复杂但要求开发者对APK的构建、对齐、签名这一套“出厂前包装”流程有清晰的认识。回顾整个过程可以梳理出以下最佳实践清单从根本上避免此类问题保持工具链更新定期更新Android Studio、Android Gradle Plugin (AGP)、SDK Build Tools。新版本工具通常包含了最新的合规性适配。遵循官方构建顺序牢记“编译 - 对齐 (zipalign) - 签名 (apksigner)”这个不可颠倒的金字塔顺序。任何自定义脚本都不能破坏这个顺序。慎用第三方后处理工具在引入任何APK加固、渠道打包、资源混淆工具前务必确认其兼容最新的Android API要求。在测试阶段务必包含对产出APK的安装验证尤其是在Android 11真机上。将检查自动化如前所述在CI/CD流水线中加入自动化检查步骤用工具而非人眼来保证每一次构建产物的合规性。理解错误信息Android系统的错误码如-124和描述通常包含了足够的信息。养成仔细阅读并搜索官方文档或社区讨论的习惯能快速定位问题根源。从我处理过的多个类似案例来看绝大部分问题都源于构建流程的不规范特别是那些经历了多年迭代、包含大量自定义构建脚本的老项目。一次彻底的构建流程审计和标准化不仅能解决眼前这个resources.arsc压缩问题往往还能顺带发现并解决其他潜在的包体、性能或兼容性问题可谓一举多得。

相关新闻

高通NV与EFS底层解析:从原理到实战的基带数据管理指南

高通NV与EFS底层解析:从原理到实战的基带数据管理指南

1. 项目概述:深入高通NV与EFS的底层世界如果你曾经因为手机信号突然消失、VoLTE功能无法开启,或者IMEI莫名其妙丢失而焦头烂额,那么你很可能已经触及了手机系统中最神秘、最核心的领域之一——高通的NV(Non-Volatile,非…

2026/8/18 23:18:07 阅读更多 →
LSTM-Adaboost-ABKDE集成框架在时间序列预测中的应用

LSTM-Adaboost-ABKDE集成框架在时间序列预测中的应用

1. 项目背景与核心价值 在时间序列预测领域,传统单一模型往往难以同时捕捉数据的长期依赖关系和不确定性分布。我们提出的LSTM-Adaboost-ABKDE集成框架,通过结合三种技术的优势,实现了预测精度和可靠性的大幅提升。这个方案特别适合金融风控、…

2026/8/18 23:18:07 阅读更多 →
C语言数组与指针内存本质解析:从概念到实战避坑指南

C语言数组与指针内存本质解析:从概念到实战避坑指南

1. 项目概述:从“存储”到“访问”的思维跃迁在C语言的世界里,数组和指针是两座绕不开的山峰,也是无数初学者从“会写代码”到“理解内存”的关键分水岭。很多人学了很久,依然觉得数组就是数组,指针就是指针&#xff0…

2026/8/18 23:18:07 阅读更多 →

最新新闻

基于STM32与W6100的IPv4/IPv6双栈回环服务器实现

基于STM32与W6100的IPv4/IPv6双栈回环服务器实现

1. 项目概述:当STM32遇上W6100,一个双栈回环服务器的诞生最近在捣鼓一个挺有意思的小项目,用STM32F103VC这颗经典的MCU,搭配WIZnet的W6100以太网芯片,实现了一个同时支持IPv4和IPv6的TCP/UDP回环服务器。说白了&#x…

2026/8/19 1:58:28 阅读更多 →
Transformer统治时代,我为什么还要回头补深度学习基础?

Transformer统治时代,我为什么还要回头补深度学习基础?

Transformer统治时代,我为什么还要回头补深度学习基础? 从大模型调参到基础崩塌:一个工程师的认知重构之路 去年用BERT做文本分类项目的经历,彻底改变了我对AI工程师能力模型的认知。当时我对着Hugging Face文档调参整整两周,测试集准确率始终卡在78%的瓶颈无法突破。这个数字…

2026/8/19 1:58:28 阅读更多 →
基于Edge Impulse与Sixfab CORE的边缘机器学习单元实战部署指南

基于Edge Impulse与Sixfab CORE的边缘机器学习单元实战部署指南

1. 项目缘起:当边缘设备需要一颗“会思考的大脑”最近在折腾一个环境监测的项目,核心需求是在一个部署在野外的设备上,实时识别特定的声音模式,比如特定鸟类的叫声或者设备异常的机械噪音。最直接的方案当然是把所有原始音频数据通…

2026/8/19 1:58:28 阅读更多 →
基于Arduino与WS2812B的火山熔岩夜灯DIY全攻略:从电路设计到光效编程

基于Arduino与WS2812B的火山熔岩夜灯DIY全攻略:从电路设计到光效编程

1. 项目概述:从“火山夜灯”看氛围感营造的底层逻辑最近在整理工作室的旧物时,翻出了一个几年前自己动手做的“火山夜灯”,插上电的瞬间,那种温暖、静谧又带点神秘感的氛围一下子又回来了。这让我想起,无论是居家装饰、…

2026/8/19 1:58:28 阅读更多 →
无风扇嵌入式AI系统构建:Jetson NANO被动散热与YOLO部署实战

无风扇嵌入式AI系统构建:Jetson NANO被动散热与YOLO部署实战

1. 为什么选择无风扇嵌入式系统?在边缘计算和嵌入式AI领域,NVIDIA Jetson NANO以其出色的能效比和强大的AI推理能力,成为了众多开发者和创客的首选平台。然而,当我们谈论“嵌入式系统”时,一个核心的诉求就是可靠性和环…

2026/8/19 1:58:28 阅读更多 →
STM32按键控制LED:从硬件原理到状态机消抖的嵌入式实战

STM32按键控制LED:从硬件原理到状态机消抖的嵌入式实战

1. 项目缘起:从“点亮”到“控制”的思维跃迁很多嵌入式新手,包括当年的我,都是从“点亮一个LED”这个“Hello World”开始的。在TrueStudio(现在已演进为STM32CubeIDE)里,我们通常会用几行代码&#xff0c…

2026/8/19 1:57:28 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/17 18:55:16 阅读更多 →
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/17 18:55:55 阅读更多 →