Flutter插件开发之APK自动安装

滞涩继承
• 阅读 150

Flutter插件开发之APK自动安装

本文适用于Android开发人员

什么是Flutter Plugin

Flutter Plugin是一种特殊的包,包含一个用Dart编写的API定义,结合Android和iOS的平台特定实现,从而达到二者兼容。1、应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)2、宿主监听的平台通道,并接收该消息。然后它会调用特定于该平台的API(使用原生编程语言) - 并将响应发送回客户端,即应用程序的Flutter部分
使用平台通道在客户端(Flutter UI)和宿主(平台)之间传递消息,如下图所示Flutter插件开发之APK自动安装

创建Flutter App

相关代码见运行第一个Flutter App

创建Flutter Plugin

右键工程->New->Module,如下图所示Flutter插件开发之APK自动安装

选择Flutter Plugin,点击Next,如下图所示Flutter插件开发之APK自动安装

输入工程名(Project name),点击Next,如下图所示Flutter插件开发之APK自动安装

输入包名(Package name),点击Finish,入下图所示Flutter插件开发之APK自动安装

到此Flutter plugin创建完成。

引入插件

在工程目录下找到pubspec.yaml文件,在dev_dependencies添加如下依赖,如下图所示!Flutter插件开发之APK自动安装

相关代码如下Flutter插件开发之APK自动安装

获取版本号demo

打开插件lib下的dart文件,会有平台自动生成的代码,具体是实现获取APP版本号,如下面代码所示Flutter插件开发之APK自动安装

java部分的代码如下面所示Flutter插件开发之APK自动安装

实现自动安装APK

实现自动安装APK,需要从Flutter应用层传入一个APK安装包的地址到host层,dart代码如下所示:Flutter插件开发之APK自动安装

java部分的代码如下所示Flutter插件开发之APK自动安装

到此,host层就能获取到APK安装包的路径了,后面只需实现Android安装APK的代码逻辑即可,在日志下面添加如下代码Flutter插件开发之APK自动安装

installApk代码实现如下所示Flutter插件开发之APK自动安装

除此之外,还需修改AndroidManifest.xml内的代码,如下面代码所示Flutter插件开发之APK自动安装

file_path.xml放在res->xml文件夹下面,如下面代码所示Flutter插件开发之APK自动安装

运行代码如下图所示

Flutter插件开发之APK自动安装

源代码

项目地址-OpenGit客户端:
https://github.com/Yuzopro/Op...

Android开发资料+面试架构资料 免费分享 点击链接 即可领取

《Android架构师必备学习资源免费领取(架构视频+面试专题文档+学习笔记)》

点赞
收藏
评论区
推荐文章
简
4年前
Flutter 移动应用开发指南
Flutter移动应用开发指南Flutter作为新一代的跨平台UI框架,已经在Android和iOS移动平台被广泛使用,未来还会进一步扩展到Web、桌面和嵌入式等平台。只要编写一次代码,就可处处运行,真正做到了全屏制霸。本文将通过从零开发一个类似抖音的短视频应用来展示Flutter应用的完整开发过程,以及它的强大性和易用性。
浩浩 浩浩
4年前
【Flutter 实战】安装Flutter
1.3搭建Flutter开发环境工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下FlutterSDK的安装,然后再介绍一下配IDE和模拟器的使用。1.3.1安装Flutter由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖AndroidSDK和iOSSDK,在安装Fl
刘望舒 刘望舒
4年前
Android包管理机制(三)PMS处理APK的安装
Android框架层Android包管理机制Android框架层本文首发于微信公众号「刘望舒」前言在上一篇文章中,我们学习了PackageInstaller是如何安装APK的,最后会将APK的信息交由PMS处理。那么PMS是如何处理的呢?这篇文章会给你答案。1.PackageHandler处理安装消息APK的信息交由PMS后,PMS通过向Packag
浩浩 浩浩
4年前
【Flutter实战】初识Flutter
1.2初识Flutter1.2.1Flutter简介Flutter是Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过Dart语言开发App,一套代码同时运行在iOS和Android平台。Flutter提供了丰富的组件、接口,开发者可以很快地为Flutter添加native扩展。同时Flu
刘望舒 刘望舒
4年前
Android包管理机制(五)APK是如何被解析的
Android框架层Android包管理机制Android框架层本文首发于微信公众号「刘望舒」前言在本系列的前面文章中,我介绍了PackageInstaller的初始化和安装APK过程、PMS处理APK的安装和PMS的创建过程,这些文章中经常会涉及到一个类,那就是PackageParser,它用来在APK的安装过程中解析APK,那么APK是如何被解析的
Stella981 Stella981
3年前
Flutter打包apk报错:Your app isn't using AndroidX.
今天在学习Flutter开发的过程中,写了一个基本的demo,想打个正式的安装包apk,安装在手机上体验一下效果。配置完了Android的签名文件后,运行Flutterbulidapp命令行,构建一个正式(release)包,在构建的过程中出现了如下的提示,但是可以构建成功。!Yourappisn'tusingAndroid
Stella981 Stella981
3年前
Flutter 介绍、运行环境
Flutter是谷歌公司开发的一款开源、免费的移动UI框架,可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。Flutter基于谷歌的dart语言,如果没有任何Dart语言的基础,不建议直接学习Flutter。建议先学习Dart语言的基本语法。然后再进入Flutter的学习
Stella981 Stella981
3年前
Flutter 1.0 正式版: Google 的便携 UI 工具包
Flutter1.0正式版:Google的便携UI工具包文/TimSneath,GoogleDart&Flutter产品组产品经理Flutter是Google打造的UI工具包,通过一套代码同时在iOS和Android上构建媲美原生体验的精美应用!如今,移动开发者们在同时兼容iOS和Android
少湖说 少湖说
7个月前
鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件
使用ArkTs开发Flutter鸿蒙平台插件本文讲述如何开发一个Flutter鸿蒙插件,如何实现Flutter与鸿蒙的混合开发,以及双端消息通信。Flutter侧,编写MethodChanneldartconstMethodChannelmethodCha
滞涩继承
滞涩继承
Lv1
去发光,不是被照亮。
文章
2
粉丝
0
获赞
0