Flutter安卓打包发布全流程:签名配置与AAB/APK选择指南
Flutter项目写到最后真正决定能不能上线的往往不是代码质量而是打包发布这条链路顺不顺。我见过不少开发者功能都写好了卡在生成安卓安装包这一两步签名怎么配、AAB和APK到底该选哪个、为什么本地跑得好好的包装到别人手机上却装不上。这篇文章就把 Android Studio 打包发布 Flutter 安卓应用的完整流程拆开讲从签名配置到产物输出再到常见报错按我实际操作的顺序写适合独立开发者、小团队以及刚准备把第一个 Flutter 应用送给用户的人。打包这件事本身不复杂但坑都藏在细节里。版本号写在哪里、图标有没有换、签名文件放在哪个目录、用 GUI 还是命令行构建、真机测试和上架发布是否要出不同产物这些选择每一步都影响后面的发布体验。下面直接进入正题。1. 打包之前的准备版本、图标、权限1.1 版本号和版本名的约定Flutter 项目的版本号默认写在pubspec.yaml里格式是x.y.zb比如1.0.23。其中1.0.2是给用户看的版本名3是给系统识别的版本代码Android 系统只认整数应用商店也要求版本代码必须单调递增。很多人习惯只在 Android Studio 的build.gradle里改版本结果每次构建都被 Flutter 的默认配置覆盖回去发布出去的包版本号始终是旧的。我的做法是出包前先打开项目根目录的pubspec.yaml确认version字段。每次要发新版时先想清楚这次是加功能、修 bug 还是破坏性变更对应提升版本名的小版本号同时把后面的数字直接加一。这个数字一旦上传到应用商店就不能回退了所以测试阶段的构建也不要随意占用正式版本的号段免得后面正式版只能跳号。如果你习惯用命令行打包也可以在命令里直接覆盖版本号比如flutter build appbundle --release --build-name1.0.2 --build-number201这样不会动pubspec.yaml里的内容适合自动化出包时临时指定版本。但我不建议两边同时维护最好让pubspec.yaml成为唯一真相命令参数只在特殊场景下用。1.2 图标、启动图与应用名称Android 8.0 之后系统强制要求应用图标使用自适应图标Flutter 默认模板生成的项目虽然能直接跑但图标就是默认的 Flutter 标志。如果不换应用上架后桌面图标看起来会非常业余有些应用商店在审核时也会给出提醒。图标文件放在android/app/src/main/res/mipmap-*系列目录下你需要在mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi里分别放置对应尺寸的图标。我一般准备一张 1024x1024 的源图然后通过在线工具或批处理脚本一次性缩放到各个目录。换完图标后如果发现构建出来还是旧图标可以先执行Build Clean Project再重新打包很多时候是资源缓存没刷新。应用名称在android/app/src/main/AndroidManifest.xml里的android:label属性中配置。很多新手从来没注意过这个字段结果桌面显示的是包名用户看到就是漏洞百出的第一印象。启动图建议也不要直接用默认白底否则应用冷启动时会出现一段明显的白屏。Flutter 的启动页本质上只是一个原生 splash你可以在launch_background.xml里把颜色改成品牌色加载完成后 Flutter 首帧再接管画面。1.3 权限声明与 targetSdk 检查权限声明是上架审核很容易翻车的点。打开android/app/src/main/AndroidManifest.xml看看自己手动添加的uses-permission有没有多余的。更隐蔽的是第三方 SDK 带来的权限比如某些推送 SDK 会自动引入存储权限、定位权限这些不会直接写在你主 Manifest 里而是通过依赖合并进来的。Android Studio 里可以打开 Manifest 文件下方的Merged Manifest标签查看最终合并后的权限列表。我每次发版前都会扫一遍这个视图确认没有不必要的敏感权限。如果某个权限是某个依赖强加的但你的业务根本用不到可以考虑用tools:noderemove在主 Manifest 里显式剔除。滥用权限或声明了与业务无关的权限应用商店的审核会重点关注。targetSdkVersion同样属于发版前必须核对的项。如果项目是从老版本升级上来的targetSdkVersion还停留在比较低的级别应用商店可能直接拒绝上架或要求适配。升级 targetSdk 后需要重点测试后台运行、通知弹窗、文件读写这些行为变化不能只把数字改上去就完事。2. 签名配置整个发布流程里最不能出错的一环2.1 为什么 Android 必须签名以及 debug 签名的区别Android 系统强制要求所有安装包都带签名签名本质上是一种数字身份用来确认应用来自同一个开发者并防止安装包被篡改。签名的另一个重要作用是应用升级的连续性用户装了你签名的 v1 版本以后升级的 v2、v3 都必须用同一个证书签名系统才会允许覆盖安装。Flutter 开发过程中项目默认使用 debug 签名文件它位于你的用户目录下由 Android SDK 自动生成。这个签名只适合调试安装绝对不能拿来发布。一方面证书里的信息固定是调试身份应用商店不会接受另一方面一旦别人拿到你的 debug 签名文件理论上可以伪造你的应用。所以正式上架前必须生成一个独立的 release 签名文件。2.2 用 keytool 生成正式签名文件打开终端进入 Android Studio 自带的 Terminal执行下面的命令生成签名文件。我通常把文件放在android/keystore/目录下这样与项目代码保持一致方便团队协作时统一处理。keytool -genkeypair -v \ -keystore release-key.jks \ -keyalg RSA \ -keysize 2048 \ -validity 10950 \ -alias release参数分别是什么意思-keystore指定生成的密钥库文件名-keyalg RSA是加密算法RSA 当前兼容性和安全性都足够-keysize 2048是密钥长度2048 位已经能满足要求追求更安全可以用 4096但构建会稍慢-validity 10950是证书有效期10950 天约等于 30 年-alias release给这个密钥起个别名后面配置签名时会用到。命令执行后系统会要求你填写组织信息、所在地区、姓名等。这里没有严格限制可以填你的团队名称或者个人昵称但要记住最终生成的密钥库密码和密钥密码必须单独保存。这一步很多人会忽略一个致命问题密钥库文件只有一份丢了就找不回来了。应用一旦用这个签名发布过后续所有升级都必须用同一个证书否则用户无法覆盖安装。我不能说这是绝对劝退但确实需要把release-key.jks和密码一起备份到多个安全位置比如加密网盘和本地移动硬盘各放一份。2.3 用 key.properties 保存密码避免密钥写进仓库最糟糕的做法是把密码直接写在android/app/build.gradle里然后整个项目推到代码仓库。这样做一旦仓库泄露你的签名信息就完全暴露别人可以拿着你的密钥去签名恶意应用。正确做法是单独建一个android/key.properties文件并且把这个文件加入.gitignore。文件内容如下storePassword你的存储密码 keyPassword你的密钥密码 keyAliasrelease storeFilerelease-key.jksstoreFile的路径我建议写绝对路径或者把release-key.jks和key.properties放在同一个目录下然后用相对路径。相对路径看起来简洁但换电脑或换 CI 机器后很容易找不到文件排查起来很烦。绝对路径虽然不够优雅但在团队内部最不容易出问题。如果你有多台电脑编译可以考虑用环境变量注入路径这里不展开。然后在android/app/build.gradle顶部加上def keystoreProperties new Properties() def keystorePropertiesFile rootProject.file(key.properties) if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) }接着在android块里配置签名和构建类型android { signingConfigs { release { keyAlias keystoreProperties[keyAlias] keyPassword keystoreProperties[keyPassword] storeFile keystoreProperties[storeFile] ? file(keystoreProperties[storeFile]) : null storePassword keystoreProperties[storePassword] } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } } }这里关键的是signingConfigs.release里的几个属性要跟key.properties一一对应。minifyEnabled和shrinkResources控制 Java/Kotlin 层的混淆和资源压缩默认 Flutter 模板里是注释掉的我建议刚发布的小项目先不要开混淆等稳定后再开原因后面会详细说。2.4 注意 release 签名与 debug 签名的切换细节配置好之后flutter run --release在本地真机调试时会不会要求输入密钥这取决于你本地是否已经存在同名密钥以及 Gradle 是否真的执行了validateSigningRelease任务。如果机器上找不到密钥文件构建会直接失败如果密钥能正常读取也会正常安装。需要说明的是本地调试用 release 构建并不是常规操作我一般只在验证性能问题时才这么做。另外如果你同时维护 debug 和 release 两套签名会发现覆盖安装的时候经常提示签名冲突。测试设备上之前装的是 debug 签名包现在安装 release 签名包系统会认为这不是同一个应用。解决方式很简单卸载旧的测试包再安装。这点放到后面的报错排查里再细说。3. 用 Android Studio 打出正式包3.1 先确定要 AAB 还是 APK正式发布到应用商店基本选择 AAB也就是 Android App Bundle。AAB 是一个发布格式不是直接安装到手机的文件。商店拿到 AAB 后会根据用户的手机 ABI、屏幕密度和语言环境动态生成最适合该设备的 APK 再下发这使得用户下载体积比传统通用 APK 小很多。而且商店要求新版应用使用 AAB 进行发布所以在正式渠道上这就是标准答案。那 APK 还有没有用当然有。你想给同事发一个文件让他直接安装或者自己在不同手机上做内部测试APK 更简单。AAB 不能直接安装你把它发给客户对方只会说装不上。所以至少会生成 APK 工序的地方应该知道别把两种产物搞混了。对比项AABAPK产物作用上传到应用商店由商店分发安装包直接安装到设备的安装包能否直接安装不能能包体大小小按设备环境拆分大默认包含全部 ABI 和资源适用场景正式发布内部测试、侧载、交付给指定用户3.2 菜单操作与参数填写在 Android Studio 中打开 Flutter 项目点击顶部菜单Build选择Generate Signed Bundle or APK。此时会弹出一个引导窗口问你生成 Android App Bundle 还是 APK。接下来会让你选择密钥库如果你已经提前在build.gradle里配置好签名信息这里仍然可以手动选择已有的release-key.jks并填写密钥库密码、密钥密码和别名。如果你没配置也可以在向导里现场生成但我非常不建议依赖这个向导生成密钥。原因很简单它会让你再次输入密码密码可能被 IDE 的配置缓存记住时间长了你自己也想不起来。选择完签名信息后构建变体选release。还有一个签名版本的选项包括 v1 和 v2。简单理解v1 是传统 JAR 签名Android 7.0 以下设备需要v2 是完整的 APK 签名字段Android 7.0 以上有效且更安全。我习惯两个都勾选这样兼容范围最广。如果你明确只看 7.0 以上市场只勾 v2 也够用但没必要为了这一点体积腰斩覆盖范围。点击完成之后Gradle 开始执行。第一次做 release 构建可能要几分钟因为要编译原生代码、做资源压缩和签名。构建完成后Android Studio 会在右下角 Event Log 弹出一条通知点击通知可以直接跳转到产物所在目录。3.3 构建模式与 Flutter 的裁剪机制Flutter 有三种构建模式Debug、Profile、Release。Debug 包巨大启动慢连的是调试服务只适合开发Profile 用来做性能分析Release 模式下 Flutter 会执行 AOT 编译把 Dart 代码编译成机器码同时做 tree shaking把没有用到的 Dart 代码和资产从包里剔除。平时调试时看不到这些区别真正发版时包体大小和启动速度差距就出来了。命令行打包是 GUI 之外必须掌握的能力后续接自动发版脚本特别有用。命令如下# 构建 AAB flutter build appbundle --release # 构建普通 APK flutter build apk --release # 拆分 ABI 的 APK flutter build apk --release --split-per-abi--split-per-abi会生成arm64-v8a、armeabi-v7a、x86_64三个安装包分别对应不同手机 CPU 架构。真机测试时用其中一个包就行。如果走应用商店直接用flutter build appbundle --release商店会自动做类似拆分的逻辑不需要自己维护三个 APK。产物输出位置也需要记清楚AABbuild/app/outputs/bundle/release/app-release.aab普通 APKbuild/app/outputs/flutter-apk/app-release.apk按 ABI 拆分的 APKbuild/app/outputs/flutter-apk/app-arm64-v8a-release.apk等3.4 关于混淆和 Dart 代码保护前面提到过minifyEnabled和shrinkResources负责 Java/Kotlin 层的精简但这和 Dart 代码无关。Dart 编译后的代码要想混淆需要在命令行里单独加参数flutter build appbundle --release \ --obfuscate \ --split-debug-infobuild/symbols--obfuscate会把 Dart 符号表里的类名和方法名替换成难以阅读的形式增加逆向难度--split-debug-info指定符号文件的输出目录这些符号文件要保存好不然线上出 bug 之后你连堆栈都解不开。我不建议所有项目都开 Dart 混淆。如果应用没有特别的防逆向需求混淆带来的排查困难远大于保护价值。真要开务必把符号文件纳入版本管理或者至少备份到固定目录不要随手扔在 build 目录里被 clean 掉。4. 发布前的自检和细节优化4.1 检查产物的包名、版本和文件结构打好包之后第一件事不是急着上传而是检查产物。用 Android Studio 的Build Analyze APK...打开生成的 APK可以直观看到包体构成Dex 文件、资源文件夹、assets 里的 Flutter 资产、lib 下的 so 文件。我一般会重点看 assets 目录有没有把不需要的东西打进去比如测试图片、日志文件夹、过期配置文件。如果只打出 AAB可以先用flutter build apk --release生成一个对应的 APK在本地安装验证同时再分析包内容。AAB 本身无法用 APK Analyzer 直接分析这是我在实际中踩过的一个不方便点。检查完包名、版本号和资源再上传到应用商店测试轨道做内测。4.2 包体大小控制无拆分的 APK 默认包含三种 CPU 架构的 so 文件体积会显得很大。如果你发给用户的都是指定型号的机器可以考虑只保留对应 ABI。但最省心的还是交给 AAB商店会自动分配合适的 so 文件。如果确实要手动发 APK再考虑--split-per-abi。图片资源是 Flutter 项目体积的大头之一。很多设计师习惯直接丢一张 2K 尺寸的 banner 到 assets几 MB 就没了。我建议在pubspec.yaml里只手动配置必要资源目录尽量避免把整个大目录塞进去。发布前扫描一下 assets把所有测试用的大图、音效文件清掉。图片能压成 WebP 就转 WebP大部分场景下体积能省一半以上。4.3 环境区分与测试自检正式包最怕带着测试环境的地址。Flutter 里可以用kReleaseMode在代码里判断当前是不是 release 模式但测试环境的 URL 如果写死还是会打进包里。更好一点的办法是用--dart-define在构建时注入环境变量flutter build appbundle --release --dart-defineAPI_BASE_URLhttps://api.example.com在 Dart 代码里通过String.fromEnvironment(API_BASE_URL)读取。这样不同环境的地址不会写死在代码里也方便后续接入自动构建时切换参数。发版之前除了代码层面的自检一定要在真机上装一遍 release 包至少覆盖几项冷启动是否正常、首页接口能不能通、推送能不能收到、从桌面图标点击和从后台恢复是否正常。这些场景 debug 模式下往往没问题release 模式下就有可能出现日志服务、网络权限、混淆规则引起的差异。5. 常见报错与排查实录5.1 签名密钥相关报错构建时报Keystore file not found for signing config release原因通常是key.properties里的storeFile路径有问题。相对路径在不同目录下很容易失效我建议直接改成绝对路径或者把密钥文件放到项目固定目录下保证 Gradle 能找到。如果报Invalid Keystore format说明这个文件不是有效的密钥库可能是误把证书文件当成 jks 使用了或者文件损坏。排查时先file release-key.jks看一眼文件类型再确认密码是否一致。密码错误是最容易出问题的点。key.properties里的特殊字符需要特别注意尤其是:、#、这类符号它们在 properties 文件里都有特殊含义。如果密码里必须带特殊字符要么用转义要么换一个更朴素的密码。我见过不止一次因为密码里带冒号导致构建时明明输入正确却一直报错的情况最后就是把密码简化掉才解决。5.2 版本号冲突与安装失败应用商店提示版本代码已被使用这是永久性占用的。你上传过一个 versionCode 之后哪怕删除再重建系统也认为这个号码已经被使用过只能继续递增版本号。所以我一直强调测试包不要占用正式版号段可以约定测试包从某个大数值开始比如 10000 以上与正式版本号空间错开。真机安装时报INSTALL_FAILED_UPDATE_INCOMPATIBLE大概率是签名不一致。比如手机上之前装的是 debug 签名包现在往同一部手机上装 release 签名包系统认为这是两个应用。先把旧应用卸载再重新安装。这个方法也适用于从旧版本升级到新版本时短期内想验证新包但又被签名规则限制的情况。5.3 Release 包闪退的排查顺序Debug 正常、Release 秒退这类问题在入门阶段非常常见。我给的排查顺序是先打开 logcat 看崩溃堆栈接着关掉minifyEnabled重新打包排除 Java 层混淆问题。如果关掉混淆后正常说明确实有反射代码被移除了可能来自第三方 SDK。这时到proguard-rules.pro里添加对应类的 keep 规则。如果关掉混淆仍然崩溃再看是不是权限问题。有些权限在 release 模式下因为代码分支不同而没申请到。还有一种可能是--obfuscate导致的堆栈无法定位这时要拿出保存的符号文件做还原。这个操作很依赖你发版时有没有留好符号文件所以再次强调开启混淆或 Dart 混淆的项目符号文件一定要和版本号一一对应归档。5.4 AAB 与 APK 的混淆场景有人会问我上传 AAB 后在应用商店的测试轨道里下载安装需要怎么测试AAB 不能在本地直接安装商店后台通常会在你上传 AAB 后提供测试渠道系统会帮你生成最终的安装包下发给测试手机。如果你拿了 AAB 自己解包转 APK不仅麻烦还可能因为签名不完整而装不上。测试正式发布链路时直接走商店的测试轨道才是正确姿势。还要注意签名规则层面有一个容易误解的点你上传到应用商店的 AAB 会使用你自己的 release 密钥签名商店在分发时会对 APK 进行二次签名。这意味着你手上那份release-key.jks是上传密钥但用户最终拿到的安装包签名里还带有商店的签名信息。应用升级是否成功关键看上传的 AAB 是否使用了同一个上传密钥。如果哪一天上传密钥丢了需要联系商店支持重置流程过程很麻烦所以密钥备份的重要性我再强调一次都不为过。最后再说几句打包发布这件事桌面上的几个按钮点起来挺轻松但每一步背后都有逻辑。密钥保管好、版本号规范、打包前检查 targetSdk 和权限、不要给用户发一个 debug 包这些都是我从多次发布中踩出来的硬经验。第一次发布时建议先把签名文件、密码、备份位置、版本号策略写进一个简单的发布检查表里之后每次出包照着走能省掉一半的临场慌乱。后续能力允许的话也可以把打包命令写进自动化脚本让机器替你做这些重复劳动但前提还是签名和产物目录这两个核心不能乱。

相关新闻

广州二手房价预测:Python回归模型实战与避坑指南

广州二手房价预测:Python回归模型实战与避坑指南

简介:一份广州市二手房价预测的数据与Python代码包,整体定位为典型的数据分析入门项目,适合正在学习回归建模、特征工程或希望了解房价影响因素的读者。资源为RAR压缩包,共19个文件,大小仅1.05MB,其中含17张…

2026/10/12 12:44:56 阅读更多 →
Smali入门:Android底层调试与逆向分析的核心技能

Smali入门:Android底层调试与逆向分析的核心技能

1. 为什么今天还要学Smali?——一个被低估的底层能力“Smali入门手册”这六个字,乍看像一本尘封在安卓开发角落里的老教材。但如果你最近调试过某个第三方SDK的行为异常,或者想搞清楚某款App在后台到底调用了哪些敏感API,又或者在…

2026/10/12 12:44:56 阅读更多 →
基于Android+OpenCV的微液滴粒径分析:从图像分割到移动端落地

基于Android+OpenCV的微液滴粒径分析:从图像分割到移动端落地

说实话,刚接到这个需求的时候我愣了一下。微液滴粒径分析?听上去像是要在实验室里用显微镜、高速相机加工作站跑半天才能出结果的事,而需求方的要求很直接:拿一台普通的Android手机或者工业平板,拍一张照片&#xff0c…

2026/10/12 12:44:56 阅读更多 →

最新新闻

website-rebuild-skill 源码化阶段:如何把逐字移植的机器产物重构成人能读的工程

website-rebuild-skill 源码化阶段:如何把逐字移植的机器产物重构成人能读的工程

【免费下载链接】website-rebuild-skill 复刻网站的 Agent Skill:抓只读镜像、从压缩代码逐行还原、自动比对验收。An agent skill that mirrors a website, rebuilds it from the minified code, and verifies the result with automated diffs. 项目地址&#xff…

2026/10/12 13:41:54 阅读更多 →
基于SpringBoot的大健康养老公寓管理系统:从毕设选题到答辩全攻略

基于SpringBoot的大健康养老公寓管理系统:从毕设选题到答辩全攻略

1. 为什么选“大健康养老公寓管理”这个题目每年到这个时间点,总有同学来找我聊毕业设计的事,问得最多的就是:有没有合适的题目推荐?要求还五花八门——好过审、工作量够、技术栈主流、最好还能润色到简历里。我通常会反问一句&am…

2026/10/12 13:41:54 阅读更多 →
CAD二次开发中点在多边形内的高精度实时判断方案

CAD二次开发中点在多边形内的高精度实时判断方案

1. 这不是数学题,是CAD里每天都在发生的“位置判断”实战在CAD二次开发的实际项目中,“点是否在多边形内”绝不是教科书里一个画个示意图就能打发的几何问题——它是某高校土木系BIM协同平台里构件自动归类的触发条件,是某工业设计公司电缆布…

2026/10/12 13:41:54 阅读更多 →
动态规划空间压缩实战:前缀和与后缀最大值求解两段不重叠子数组最大和

动态规划空间压缩实战:前缀和与后缀最大值求解两段不重叠子数组最大和

1. 从一道“数学考试”题看动态规划的空间压缩技巧“数学考试”这个标题乍一看像是讲备考策略,实际上它是一道经典的算法题,出现在某在线编程平台的每日一题栏目中。题目的核心是:给定一个长度为 n 的整数序列,要求选出两个不重叠…

2026/10/12 13:41:54 阅读更多 →
NGS-GNN:面向临床响应预测的图神经网络实战

NGS-GNN:面向临床响应预测的图神经网络实战

简介:本资源是一个面向生物信息学初学者与机器学习实践者的轻量级教学项目,聚焦于下一代测序(NGS)数据分析与Python建模的交叉实践。项目以Jupyter Notebook为核心载体,提供可复现的端到端分析流程,涵盖环境…

2026/10/12 13:41:54 阅读更多 →
C语言播放《下山》:从Beep到WAV的音频编程全解析

C语言播放《下山》:从Beep到WAV的音频编程全解析

前段时间在编程群里看到有人甩了个标题:「疯狂的往左」用 C 语言播放《下山》。一看名字就知道,这是典型的整活向练手题——不用图形界面,不用现成的音乐库,纯粹拿 C 语言的朴素能力让电脑把这首国风歌“唱”出来。我第一次见这种…

2026/10/12 13:40:52 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →