IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 亲测flutter打包apk后大小,比较满意 -> 正文阅读

[移动开发]亲测flutter打包apk后大小,比较满意

flutter我虽然知道的早,但是还没有使用过,今天就第一次打包Android APK试试大小,因为选择flutter我必须考虑他的包大小,如果它打包apk比react native还要大我肯定不考虑。

在打包之前我猜apk应该会很大,起码30m左右,但是当我把release包build出来后,我大吃一惊,很满意!

首次安装 flutter SDK是3.0.2,是当前最新版。

安装配置好环境变量PATH后,重新命令行界面,就可以通过 flutter doctor命令确认已经安装成功。

flutter doctor

然后使用flutter create learn_flutter

flutter create learn_flutter

项目几秒就创建成功,这点比react-native体验好多了。

然后我开始flutter run运行,竟然不成功!大概错误内容是:

License for package Android SDK Build-Tools 30.0.3 not accepted.

?我以为是我的工具安装不对,但是我怎么搜都找不到30.0.3的工具呀!网上回答都是sdk tool中安装,可我找不到30.0.3的版本。

后来发现是flutter 的android sdk配置路径问题。应该一下这样的命令来配置flutter应用的android sdk

flutter config --android-sdk /path/to/android/sdk
flutter config --android-studio-dir /path/to/android/studio

重要提醒:千万不要在 android项目的根文件?local.properties中配置。我折腾了一个小时就是因为在这里像安卓项目和react native那样配置android sdk路径。每一次运行 flutter run命令,这个配置又恢复到不正确的路径了。

正确配置好 android adk路径后,就可以在模拟器里运行了,我尝试改了改代码,能够正确在模拟器里看到效果!确定这步没问题了。

我准备开始 build release版本的?apk,但是我碰到新问题了,结果大概是需要java11来打包apk。!不管了,我安装java11.

安装好java11后(环境变量替换了java8)需要在Android工程的gradle.properties文件中添加如下jdk的路径

org.gradle.java.home=path/Java/jdk-11.0.15.1

并修改Android工程app\build.gradle文件。

?

?

好了,终于可以build apk了。build release apk需要以下命令。

flutter build apk --target-platform android-arm,android-arm64
flutter build apk --target-platform android-arm,android-arm64 --split-per-abi

命令说明以下:

?先 flutter build apk 表?当前构建 release 包
后? android-arm,android-arm64,android-x64则是指定?成对应架构的release包
最后的 --split-per-abi则表?告知需要按照我们指定的类型分别打包,如果移除则直接构建包含所有 CPU 架构的 Apk 包。

--obfuscate:开启混淆操作
--split-debug-info=:将因混淆?成的 map 符号表缓存到此位置
?

第一串命令打包出来的 armv8a和armv7a的单指令集apk大约是5.8M,我很惊讶!这算小的了。

?

第二串命令打包出来的armv8a和armv7a指令集合并在一个apk的大小是 10.6M,我一样很惊讶!很满意!

最终得出一个结论,flutter 3.0 release apk 和 react native 0.68 release apk 大小是差不多的。

关注我站,www.zchawang.cn,一个小工具站。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:12:58  更:2022-06-29 19:13:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 6:22:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码