
Flutter
文章平均质量分 91
Super-Bin
这个作者很懒,什么都没留下…
展开
-
Android-Firebase快速解决合规问题第3篇,解决FirebaseCrashlytics库违规网络请求、获取AndroidId问题
原因:FirebaseCrashlytics没有提供的对应的provider,FirebaseCrashlytics的初始化是依赖核心FirebaseApp初始化的时候去加载FirebaseCrashlytics,所以我们只能从问题1:可以知道在app启动的时候就会发生网络流量请求,是在FirebaseCrashlytics库中发生。问题2:从栈顶可以知道,最终是触发了getString方法获取android id,但是找不到从哪里调起来的,那就根据上一篇文章学到的方法,运行debug模式尝试定位问题。原创 2022-07-03 20:00:06 · 4368 阅读 · 0 评论 -
Android-Firebase快速解决合规问题第2篇,解决FirebasePerformance库获取软件安装列表的行为
安全合规检测,说App未经用户同意,存在获取软件安装列表信息的行为。原因是firebase_performance库中,在初始化的时候会去获取软件安装列表,判断当前是否是主进程。第一篇文章已经介绍了解决方案,这里主要介绍如何定位问题、再去看如何解决问题。解决方案支持原生、flutter库,RN库。先把解决方案放在最上面,不想看详细的过程就直接复制粘贴使用吧。在AndroidManifest.xml中接入以下代码,重点在tools:node=“remove”,将这个provider移除掉。开发环境de原创 2022-06-27 00:52:52 · 3122 阅读 · 6 评论 -
Android-Firebase快速解决合规问题第1篇,汇总篇,无脑复制解决问题
本篇文章只快速介绍解决方案,详细分析看其他文章。通过配置延迟Firebase初始化,Android延时和ReactNative也是同理。2020年7月工信部发布了《关于开展纵深推进APP侵害用户权益专项整治行动的通知》工信部信管函〔2020〕164号文。重点对专项行动中“APP、SDK违规处理用户个人信息”“设置障碍、频繁骚扰用户”“欺骗误导用户”“应用分发平台责任落实不到位”四方面10类问题进行集中排查。2022年开始国内各大应用商店加大对APP合规的检查,像华为商店审核不通过就不让上架,其他商店在合规原创 2022-06-25 19:50:06 · 3402 阅读 · 1 评论 -
android使用ContentProvider初始化sdk,初始化时机
最近因为国内上架应用,检测出firebase有违规收集android id行为,明明在代码中延迟初始化了,但firebase依然有操作数据的行为,跟踪发现firebase采用了ContentProvider来初始化sdk,怪不得通过代码延时初始化并没有效果,简单整理一下ContentProvider的初始化原理。作为android四大组件之一,主要作用是封装底层具体实现,对内或对外提供数据。底层数据源可以是数据库、文件,或者网络,只需要ContentProvider提供的操作就能快速实现增、删、改、查。通常原创 2022-06-09 15:25:40 · 2689 阅读 · 6 评论 -
关于flutter-geolocator库使用问题,解决android使用LocationManager定位问题
文章目录相关知识问题现象分析问题解决问题修改源码使用方式有需要直接定位到最下面。相关知识geolocator flutter一个比较好用的定位库android原生提供的LocationManager,常用的定位库谷歌定位服务Google Location Service,需要引入google服务已经具备定位权限,并用户同意授权。<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />原创 2021-11-26 11:49:52 · 9673 阅读 · 27 评论 -
Dart单线程模型和Flutter异常捕获
文章目录Dart单线程模型加入队列Future.delayed总结下关于 Future 这些有趣的结论:验证Question1Question2总结异常捕获Dart单线程模型官方文档event-loop翻译Flutter之Timer原理解析-异步原理先看经典的官方图跟javascript类似,通过消息循环来执行任务。有两个队列,一个是微任务队列microtask queue,另一个是事件队列event queue。基本流程就是,在执行完main()后,消息循环机制便启动了。微任务队列的优原创 2021-11-25 10:12:52 · 2489 阅读 · 0 评论 -
Flutter-Dart入门,常用细节
入门中文官方文档英文官方文档,比较全变量数据类型dart1.12加入空安全。在dart中的一切皆是对象,包括数字、布尔值、函数等,它们和Java一样都继承于Object,所以它们的默认值也就是null。在dart主要有: 布尔类型bool、数字类型num(数字类型又分为int,double,并且两者父类都是num)、字符串类型String、集合类型(List, Set, Map)。结构:【类型】【变量名】= 【赋值】/// 变量void variable(){ bool isBoo原创 2021-10-27 19:33:11 · 2681 阅读 · 0 评论 -
Android/Flutter WebView加载H5区分拍照和选择图片
这里写自定义目录标题前言结论问题分析H5端Android-WebView端参考测试html文件前言在使用flutter_inappwebview时,H5中需要进行交互拍照、选择图片。但in_appwebview中实现的方式目前无法区分拍照还是选择图片。现在分析原因,看解决办法。结论先上结论H5中使用以下方式调用,一定要加上capture,表明希望通过捕获的方式获取照片,也就是拍照。<input type="file" accept="image/*" capture>And原创 2021-10-21 16:29:39 · 5770 阅读 · 1 评论 -
webview_flutter官方插件选择文件、图片的问题
前言webview_flutter官方的webview插件,很多功能缺失,现在H5有上传图片的需求,但官方的插件并不支持。点击H5中的选择文件,没有任何响应,问题issues,官方库的issues上已经有提出相关问题。原因分析H5要想调用原生选择图片功能,需要webview重写WebChromeClient类中的onShowFileChooser方法。解决方案使用其他完善的webview替代flutter_inappwebview 这个库目前最完善flutter_webview_plug原创 2021-09-30 16:50:40 · 3655 阅读 · 3 评论 -
google play重签名问题修复,导致第三方登录失败问题
文章目录Google play重签名问题统一签名参考Google play重签名问题第一次上架google play应用,如果选择了google play提供的签名方式,会在你的应用上架到google play时候用它的签名帮应用重新签名,会造成从google play下载的应用包签名和其他平台下载的应用包签名不同。由于微信登录等第三方登录功能,需要上传唯一的包签名,也就是只有一个包可以使用微信登录。如果不把google play的重签名改成自有的签名文件,在google play下载的应用就无法使用原创 2021-05-14 17:18:12 · 3913 阅读 · 8 评论 -
Mac环境jenkins多渠道配置打包Flutter、Android应用
这里写目录标题Jenkins安装启动二级目录三级目录Jenkins安装两种安装方式:各平台官网安装Jenkins步骤mac官网安装jenkins步骤使用命令行安装稳定版brew install jenkins-lts下载pkg安装包官方下载安装包地址,官方不推荐使用这种方式使用brew安装会自动安装openjdk,也可以使用自己环境的jdk启动启动、停止、重启命令brew services start jenkinsbrew services stop jenkins原创 2021-03-24 20:10:13 · 1459 阅读 · 0 评论 -
Flutter各种虚线实战和虚线边框原理
文章目录简介Flutter-Dotted-Border基本使用DottedBorder虚线边框封装核心代码分析思考_DashPainter封装边框的类绘制虚线的核心库path_drawingdash_path.dart绘制虚线核心类CustomPaint的size属性研究有size或child没有size和child总结简介Flutter中如何使用虚线使用的是第三方库Flutter-Dotted-Border其中的封装了基本的图形样式,矩形、圆角矩形、圆形、椭圆形,以及自定义虚线框。内部其实是使用原创 2021-01-21 11:13:01 · 14257 阅读 · 0 评论 -
flutter框架结构图
文章目录架构图框架Framwork引擎Engine嵌入层Embedder参考架构图Flutter的架构主要分成三层:Framework,Engine和Embedder。框架Framwork这一层纯dart实现,使用了两种设计风格Material Design和Cupertino(针对iOS)风格。Widgets层:一套基础组件库。Rendering层:ui布局渲染。Animation、Painting、Gestures、Foundation是dart:ui库提供的对接底层动画,手势识别等功原创 2020-12-10 16:19:50 · 1343 阅读 · 2 评论 -
Flutter-Android闪屏页(启动页)实现,以及启动流程分析,看这篇文章就够了
文章目录环境启动页配置环境Flutter 1.22.4Framework • revision 1aafb3a8b9 (4 weeks ago) • 2020-11-13 09:59:28 -0800Engine • revision 2c956a31c0Dart 2.10.4启动页配置向 Android 应用中添加闪屏页和启动页原创 2020-12-10 15:50:25 · 1998 阅读 · 0 评论 -
Flutter-Android正式包采坑记录
问题描述:Flutter Android-Release包出错错误信息:执行打包命令flutter build apk --release错误提示Execution failed for task ':app:lintVitalRelease'. > Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'原创 2020-11-14 16:57:44 · 1283 阅读 · 0 评论 -
Flutter高仿支付宝打钩动画
文章目录简介效果预备知识自定义控件基本知识动画基本知识动画分析PathMetric类作用关键代码简介Flutter高仿支付宝打钩动画,利用动画和路径Path实现简易效果。熟悉Android的同学会发现有挺多共同点。Github代码链接效果预备知识自定义控件基本知识主要涉及几个类CustomPaint、CustomPainter、Paint、Path。CustomPaint、CustomPainter需要配合使用,CustomPaint可以理解为作画,CustomPainter字面意思画家,原创 2020-11-07 10:41:38 · 1231 阅读 · 0 评论 -
Android、ReactNative、Flutter集成Firebase推送注意事项
文章目录简介各开发语言官方文档汇总Android原生React-NativeFlutterFirebase版本查询Firebase中的每个功能包都有很多版本,以下可以查询可用的版本号引入关键Android原生ReactNativeRN0.60以下的版本RN0.60以上版本Flutter消息类型通知消息格式数据消息格式包含可选数据载荷的通知消息处理消息配置接收推送消息配置接收通知和数据类型测试推送消息 接收推送消息的关键 集成问题Flutter中集成出现获取到Token但无法收到推送消息简介涉及Andro原创 2020-10-03 00:22:05 · 3621 阅读 · 2 评论