【Flutter 专题】38 图解 Android 打包 APK 文件

举报
阿策小和尚 发表于 2021/12/18 09:09:22 2021/12/18
【摘要】 0 基础学习 Flutter,第三十八步:尝试打包 Android 应用!

      小菜是搞 Android 的,曾经尝试过打包 APK 文件失败,由于种种原因暂停研究,今天重新学习一下如何打包 APK官网讲解的清楚明了,小菜在此基础上整理一下打包过程中遇到的问题。

打包步骤:

  1. 检查 Android 环境,一般新建的应用若不做特殊调整基本没有问题;若需要网络请求,需要在 AndroidManifest 文件中添加网络权限;若需要更改应用名称和图标可以参考 Flutter 05: 图解修改应用名称及图标
<uses-permission android:name="android.permission.INTERNET"/>

  1. 创建签名文件 key.jks,与直接 Android 打包时 key 文件生成略有不同;需要在【终端】中运行如下命令;并按照指示填写密码和用户基本信息;注意:密码需要牢记,且 key 文件可以通用;
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

  1. Android 环境中配置 key.jks 文件信息;

      3.1 创建一个 key.properties 文件,名称并非绝对,并在文件中填写如下 key 基本信息;

storePassword=123456
keyPassword=123456
keyAlias=key
storeFile=/Users/.../key.jks

      3.2 在 gradle 文件中添加如下消息,名称要对应;

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

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

  1. 【终端】进入需要打包应用 pubspec.lock 目录下,运行如下命令,等待即可,最终生成 APK 文件目录以【终端】显示为准;
flutter build apk

  1. 将打包好的应用运行在终端设备上即可;

问题一:key.jks 文件存在却忘记密码;

      小菜以前尝试时生成过 key.jks 文件,但是实在是想不起密码,打包一直失败,无奈重新生成一个 key02.jks 文件,使用新的签名,但是在真正的项目中建议使用一套签名文件,否则在升级或其他情况会出问题,所以密码和签名文件要牢记;

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

      Tips: alias 和签名文件要与 key.properties 中对应。

问题二:command not found: flutter

      小菜以前发布插件时配置了一个墙外环境和墙内环境两套,所以有些混乱,这个问题主要是 Flutter 环境未找到,需要找到个人配置的环境即可,若有问题可参考小菜很久以前分别为 WindowsMac 环境下配置环境的小博客。


      Flutter 的打包并非难题,主要是细节方面要多注意,尤其是签名文件要牢记;如果有错误的地方烦请多多指导~

来源:阿策小和尚

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。