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 官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM