返回文章列表文章索引阅读全文
STARBLOG / 阅读手记
Flutter

初见Flutter!框架简单介绍以及构建可发布的签名Apk包

哈喽!好久不见,算起来我已经一个多月没更新博客了,近期刚刚完成了一个项目,正好抽出时间整理一下学到的东西并且写写博客。 关于flutter 开始使用flutter还是春节后的事情,其实之前很早就想学一下flutter了,毕竟谷歌出的技术总是不会太差的,无奈一直没有时间和做app的需求,这次接触了flutter之后仿佛发现了新大陆,原来开发app还能这么方便,真的颠覆了我原来的认知啊,热更新也太好用

曦远 (DealiAxy)约 7 分钟
目录4 个章节

哈喽!好久不见,算起来我已经一个多月没更新博客了,近期刚刚完成了一个项目,正好抽出时间整理一下学到的东西并且写写博客。

关于flutter

开始使用flutter还是春节后的事情,其实之前很早就想学一下flutter了,毕竟谷歌出的技术总是不会太差的,无奈一直没有时间和做app的需求,这次接触了flutter之后仿佛发现了新大陆,原来开发app还能这么方便,真的颠覆了我原来的认知啊,热更新也太好用了吧,修改后立刻显示出新的效果,根本不需要像开发原生Android那样重新编译再安装,如果一开始就是这个的话,那得节约多少生命啊~ 不过刚刚接触的时候,有一点点点不习惯,因为flutter用的是响应式编程,不像我们平时用的超级熟练的MVC,所以一开始会有点疑惑,不过只要跟着官网的教程走,自己写完几个小demo就基本能入门了,这响应式编程很像react(反正我没用过,做前端的大佬说很像)。 然后dart语言的话,怎么说嘞,感觉是一种Java/JavaScript的混合体,据说本来是想开发出来替代js地位的....很多写法真的和js很像,例如单线程+async/await操作这些,然后它又是一个强类型语言......总之语言特性的话,还不是很熟悉,写起来感觉还可以,但是也没什么特别亮眼的地方~

进入正题

前面说了一下关于flutter的,现在进入本文的正题,如何构建签名的apk包。 使用AndroidStudio开发的话,里面内置的发布apk功能是有点问题的,好像没办法通过IDE生成,所以我们用官网的方法,使用flutter命令来做。

修改AndroidManifest信息 首先要编译Android的APP嘛,AndroidManifest.xml是肯定要修改的,涉及到什么权限,应用名称,应用图标,这些就先自己修改哈,本文不再赘述。

配置签名文件 这个签名文件,大家做Android开发的都有的啦,没有的话,使用keytool生成一个。

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

参数说明:

-genkey      在用户主目录中创建一个key.jks文件
-v           显示密钥库中的证书详细信息
-alias       产生别名
-keyalg      指定密钥的算法  
-keystore    指定密钥库的名称(产生的各类信息将不在.jks文件中
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度

配置key.properties 在<app dir>/android/目录下,创建一个key.properties文件 <app dir>代表工程的根目录,下同。

内容如下:

storePassword=keystore密码
keyPassword=key密码
keyAlias=密钥别名
storeFile=密钥路径

配置Gradle 编译Android项目,Gradle是必不可少的啦! gradle文件路径<app dir>/android/app/build.gradle

找到android {,在这一行上面配置key.properties信息:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

继续向下,找到buildTypes {,在上面配置signingConfigs

signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

修改buildTypes

buildTypes {
        release {
           signingConfig signingConfigs.release
        }
    }

上面的操作都正确完成了的话,就可以开始构建签名的apk包了,在APP项目目录中打开终端,输入flutter的构建命令:

flutter build apk

构建完会提示apk包的路径,可以选择使用adb来安装,也可以直接使用flutter install来安装~

About


Learn more on my WeChat Official Account:DealiAxy Every post was in my blog:blog.deali.cn

欢迎交流

交流问题请在微信公众号后台留言,每一条信息我都会回复哈~

_EOF_

初见Flutter!框架简单介绍以及构建可发布的签名Apk包

本文作者:
程序设计实验室
版权声明:
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

相关文章

有模有样解决Flutter里Webview无法访问HTTP页面的问题

探索过程 Android9(好像是吧)开始谷歌就默认不让开发者访问不安全HTTP内容了,如果非要用HTTP,那必须在networkSecurityConfig里配置cleartextTrafficPermitted才行。谷歌这个设计的出发点本是好的,HTTPS固然更安全咱都懂,但有时候这个后端接口你选择不了要HTTP还是HTTPS,比如要使用没有提供HTTPS的第三方服务,或者是本文的这种情况:在

2021-12-18 · Flutter · 约 1 分钟

Flutter移动应用快速构建实践——状态管理、国际化、数据持久化、性能优化(二)

继续上一篇:极简诗词开发背后:Flutter移动应用快速构建实践——状态管理、国际化、数据持久化、性能优化(一) 前文中说到了项目结构、状态管理和国际化的方案,本文继续聊聊数据持久化和粗略的性能优化。 数据持久化 目前的话,flutter用的比较多比较成熟的数据持久化就是shared_preferences和SQFLite,一个是ini配置文件,一个是SQLite数据库,小应用我比较倾向只用前者,

2021-12-18 · Flutter · 约 1 分钟

使用Flutter设计一个好看的_我_页面

近期遇到一些很烦的琐事,状态比较down,很多原本计划好的事情都耽搁了,实在是难顶…… 看到后台一直有朋友问怎么博客和公众号没有更新,所以我忙完得闲就来更了! 前言 起因是最近重拾以前的旧项目(业余做的,打算有机会自己运营起来)继续完善,然后发现有些界面设计太粗糙了,实在不满意~~(虽然是因为本来功能就不多)~~,然后就着手开始优化~ 应该会写成一系列文章,今天就从App的"我"页面开始吧~ 效果

2021-12-18 · Flutter · 约 1 分钟

讨论

共 0 条

良言一句三冬暖,恶语伤人六月寒。

加载评论中…