flutter apk启动闪退问题
今发布一个flutter apk 安装后启动时老是闪退,经过一遍又一遍查找,发现是指定了so的问题
看多次点击启动
一、比对打包后的apk
在出现该问题后也搜索了不少资料,参考过
https://blog.csdn.net/m0_37714581/article/details/90172002
https://www.uedbox.com/post/65078/
https://blog.csdn.net/qq_31262175/article/details/97644256
这些朋友的博客,很不幸我并未处理掉问题,接下来只好自己一点点排查了
发现打包后的apk体积相当小
于是我尝试着去掉了so架构的指定
删除掉如上红箭头处的配置,最后配置如:
再次打包
却大了这么多,再比对一下apk文件
1.8MB的apk
9.2MB的apk
从上可见9.2MB的包里包含有arm64-v8a ,x86和x86_64 的so,而1.8MB的却没有,安装后启动自然无法成功了(自我推断)
然而在安装后测试证明我的推测是对的去掉对so架构的打包指定,果然可以成功启动
二、压缩apk
如上看apk体积的确有点大,soy得优化哈,这里使用压缩来减小包体积
在build.gradle(Module:app)的buildTypes节点下添加如下代码即可
为了安全性启动下混淆 ,主要是将proguard-rules.pro拷贝到android>app中,再配置不被混淆的第三方库,如下
添加完成再次打包
包体积减小了0.4MB(虽然不多但还是有的)
还有初步发现 根据打包时flutter的提示我使用了flutter build apk --target-platform android-arm,android-arm64 --split-per-abi
只打包v8a的so的确要小得多(只有7.8MB),看:
刚翻到一个朋友对so的解释才发现单独打包个v7a好像并没有什么必要,如:
具体可以查看https://www.cnblogs.com/dongweiq/p/6824727.html
关于flutter 打包发布的详细操作可以参考flutter 官网
flutter apk启动闪退问题的更多相关文章
- eclipse 启动 闪退
eclipse启动闪退 打开eclipse安装文件夹中的eclipse.ini文件. 把Xmx1024m修改为Xmx512m,可以解决闪退问题.
- Tomcat - 启动闪退
版本:Tomcat 9 问题:启动闪退.在控制台中输入"java -version"可以正常输出java的版本信息,但是使用start.bat启动时候闪退. 解决方法:配置系统环境 ...
- Zookeeper——启动闪退
Zookeeper好久不启动了,昨天项目要用Zookeeper了,我昨天突然启动它,调皮的zk居然害羞不让我看见它,启动不了,一启动就闪退,为啥呢?其实是因为报错了,有错zk启动时就会报错,所以昨 ...
- iReport 5.6.0 启动闪退的问题 解决方案
问题描述 本人使用的Windows版本的 iReport 5.6.0,安装成功后,双击桌面上的iReport-5.6.0图标,出现了闪退,无法正常启动的现象.现象如下: 问题原因 iReport 5. ...
- Jmeter4.0启动闪退问题解决方案
jmeter:4.0 jdk版本:1.8 在Jmeter.bat的最后添加pause可以让Jmeter启动停止: 添加了pause进行强制停止在启动命令页面,查看到Jmeter报错信息如下: 第一次解 ...
- JavaWeb之问题集(1) —— Tomcat启动闪退
1. 问题描述 环境: System:Windows 10 Professional JDK:1.8.0.212 Tomcat:9.0.22 原本可以正常的启动和关闭,后来突然的就无法使用了,无法启动 ...
- Jmeter启动闪退
背景:使用Jmeter进行性能测试脚本开发,实现Jmeter接口开发Java请求 问题再现: 1.在官网上下载Jmeter3.2版本,打开jmeter.bat,启动成功 2.在IDEA中创建测试项目和 ...
- MongoDB启动闪退问题完美解决
如果你看到这篇文章,说明你也遇到了启动MongoDB闪退的情况.由于只是学习MongoDB,所以很多人不想使用MongoDB的安装版,而使用免安装版.但是在启动mongod.exe 的时候,就会出现闪 ...
- windos 安装 redis 启动闪退
本来想在linux上安装redis的,后来觉得也没必要,主要是了解使用方法,和原理,在什么平台上安装都是大同小异的 接下来简单描述下碰到的小问题:闪退和启动失败 究其原因就是端口被占用了,但是自己并没 ...
- tomcat7启动闪退
今天电脑重装了系统,下载解压tomcat发现startup.bat打开就闪退.不知道咋回事,打开windows命令输入cmd->cd 进入到tomcat的bin目录,输入startup.exe回 ...
随机推荐
- javaEE Web(Tomcat)深度理解 和 Servlet的本质
javaEE Web(Tomcat)深度理解 和 Servlet的本质 每博一文案 我所有的进步,只为更接近你. 上天没有给予人们公平的人生,有人拥有出奇的才能,便有人只能不辞辛苦的攀登阶梯,我默默地 ...
- 【Visual Leak Detector】QT 中 VLD 输出解析(一)
说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记. 目录 说明 1. 使用方式 2. 无内存泄漏时的输出报告 1. 使用方式 在 QT 中使用 VLD 的方法可以查看另外几篇博客: [Vi ...
- Vim基本使用方法来啦
一.Vim是什么 Vim是一个高度可配置的文本编辑器,用于创建和更改任何类型的文本非常高效.与大多数UNIX系统和Apple OS X一起,它被包含为"vi".Vim是稳定的,并且 ...
- Flutter 异步编程指南
作者:京东物流 王志明 1 Dart 中的事件循环模型 在 App 开发中,经常会遇到处理异步任务的场景,如网络请求.读写文件等.Android.iOS 使用的是多线程,而在 Flutter 中为单线 ...
- lua快速入门~在js基础上,知道Lua 和 Js 的不同即可
lua 和 javaScript 差不多的,就是一些语法的细节不同,学过js,再注意一下下面的细节,就能上手了~ 快速入门,可以直接看一下菜鸟教程的lua:https://www.runoob.com ...
- 系统评价——主成分分析PCA的R语言实现(六)
主成分分析(Principal Component Analysis,PCA),是将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法,起到数据约减和集成的作用.在许多领域的研究与应用中 ...
- 卸载wamp忘记备份MySql,如何恢复MySql数据
大家把wamp卸载了,但是数据库忘记备份了.怎么办?不要急,不要慌!打开wamp所在目录(前提是你没有删),你会发现wamp特别良心的帮你把MySql的data文件夹留下来了,这个时候你只要把这个文件 ...
- TiDB在X86和ARM混合平台下的离线部署和升级
[是否原创]是 [首发渠道]TiDB 社区 背景 在之前我们团队发布了TiDB基于X86和ARM混合部署架构的文章:TiDB 5.0 异步事务特性体验--基于X86和ARM混合部署架构,最近有朋友问到 ...
- RTSP Server(LIVE555)源码分析(五)-PLAY信令
主要分析RTSPServer::RTSPClientSession针对客户端PLAY事件处理 一. PLAY信令,handleCmd_withinSession源码解析 1)步骤1.03,当RTSP客 ...
- 绝对强大的三大linux指令:ar, nm, objdump
前言 如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar.当然,本文不可能非常详 ...