flutter更新后[VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(35)] Using the Impeller rendering backend,

在升级到Flutter3.10.0后,由于iOS默认启用Impeller,用户可能遇到编译提示。Impeller是为替代Skia而引入的新渲染引擎,因Skia的维护挑战而开发。要消除该提示,只需在Info.plist中将FLTEnableImpeller设置为false。

 在更新Flutter 3.10.0 后编译项目出现上线这样的提示,原因是在Flutter 3.10.0后iOS 默认使用开始使用 Impeller 。在 3.7 版本中 Impeller 就被引入用于未来替换 Skia ,Flutter 团队面对 Skia 上越来越多的问题无法有效快速推进,所以走上了自研 Impeller 的道路。关闭这个提示,只需把 plist 里的 FLTEnableImpeller 设置为 false。如下面这样就ok了。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	...//省略代码
	<key>FLTEnableImpeller</key>
    <false/>
	...//省略代码
</dict>
</plist>

以下是对 `flutter build apk --release --obfuscate --verbose --split-debug-info=./build_info --split-per-abi` 指令各部分含义和作用的分析: #### `flutter build apk` 该指令用于构建 Android APK 文件,是 Flutter 中专门针对 Android 平台的打包命令。 #### `--release` 此参数表示构建一个发布版本的 APK。发布版本会进行一系列优化,如代码压缩、资源优化等,以减小 APK 包的体积并提高应用的性能和安全性,适用于将应用发布到应用商店供用户下载使用[^2]。 #### `--obfuscate` 开启 Dart 代码混淆功能。代码混淆会对 Dart 代码进行处理,将代码中的类名、方法名、变量名等替换为无意义的短名称,使得代码难以被逆向工程分析,提高代码的安全性,同时也能在一定程度上减小 APK 的体积[^2]。 #### `--verbose` 启用详细输出模式。在打包过程中,会输出更多详细的构建信息,包括各个步骤的执行情况、依赖项的下载和处理等。这有助于开发者在打包出现问题时进行调试和排查错误。 #### `--split-debug-info=./build_info` 结合 `--obfuscate` 使用,该参数指定将 Dart 代码混淆后的符号表导出到指定的目录(这里是 `./build_info`)。符号表在应用出现崩溃时非常有用,通过符号表可以将混淆后的堆栈跟踪信息还原为原始的代码位置,方便开发者进行错误定位和调试[^2]。 #### `--split-per-abi` 启用根据 ABI(Application Binary Interface,应用二进制接口)拆分 APK 功能。默认情况下,Flutter 会构建一个包含所有支持的 ABI(如 `android-arm`、`android-arm64`、`android-x86`、`android-x64` 等)的通用 APK。使用该参数后,会为每个支持的 ABI 分别构建一个 APK 包,这样可以减小每个 APK 的体积,用户在下载应用时,应用商店会根据用户设备的 ABI 选择合适的 APK 进行下载,从而减少不必要的资源下载[^2]。 ### 示例代码 以下是一个简单的 Flutter 项目中使用该打包指令的示例(假设在项目根目录下执行): ```bash flutter build apk --release --obfuscate --verbose --split-debug-info=./build_info --split-per-abi ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值