文章目录

  • 查看APP包的签名
  • Flutter 配置Android 签名
    • 创建 keystore
    • 引用应用程序中的keystore
    • gradle中配置签名
    • 构建一个发布版apk(打包)
    • 在设备上安装发行版APK

查看APP包的签名

为了检查flutter打包的签名信息,

  1. 找到应用的apk文件,修改后缀改成zip包;

  2. 在压缩文件中找到META-INF目录下找到 CERT.RSA文件;

  3. shift+鼠标右键打开cmd命令行;

  4. 输入命令:keytool -printcert -file CERT.RSA

    参考:如何查看App安装包的签名

Flutter 配置Android 签名

创建 keystore

如果您有现有keystore,请跳至下一步

Terminal运行以下命令来创建一个:

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

-validity 10000代表有效期天数

如果上述命令报错“系统找不到指定的路径”,请指明路径
例如:
keytool -genkey -v -keystore D:/mykey.jks -keyalg RSA -keysize 2048 -validity 1
0000

D:/mykey.jks为生成的keystore路径文件
执行该命令,如图:

引用应用程序中的keystore

在Flutter中的andoid项目中,

创建一个路径为android下的key.properties的文件,其中包含对密钥库的引用:

#密钥库口令
storePassword=<password from previous step>
#密钥口令
keyPassword=<password from previous step>
#别名
keyAlias=key
#keystore的路径
storeFile=<location of the key store file, e.g. /Users/<user name>/key.jks>

note: <>符号去掉,keyAlias直接写你设置的别名,比如上面创建的keystore的alias 为key

gradle中配置签名

在/app/build.gradle中

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))android {....signingConfigs{release {keyAlias keystoreProperties['keyAlias']keyPassword keystoreProperties['keyPassword']storeFile file(keystoreProperties['storeFile'])storePassword keystoreProperties['storePassword']}}buildTypes {release {// Signing with the debug keys for now, so `flutter run --release`works.
//          signingConfig signingConfigs.debugsigningConfig signingConfigs.release//混淆minifyEnabled trueuseProguard true//Zipalign优化zipAlignEnabled true// 移除无用的resource文件shrinkResources trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'ndk {//设置只支持armeabi-v7a 平台,与签名无关,可以自己配置abiFilters "armeabi-v7a"}}}}

构建一个发布版apk(打包)

上述步骤完成以后

Terminal中运行:

flutter build apk

(flutter build 默认会包含 --release选项)

打包好的发布APK位于<app dir>/build/app/outputs/apk/app-release.apk

在设备上安装发行版APK

按照以下步骤在已连接的Android设备上安装上一步中构建的APK

使用命令行:

  1. 用USB您的Android设备连接到您的电脑

  2. cd<app dir> .

  3. 运行 flutter install .

    详细参考:发布Android版APP

参考:

Flutter打包

Android如何用命令行生成keystore

包](https://www.jianshu.com/p/888ac3b7df01)

Android如何用命令行生成keystore

Flutter Android 签名打包相关推荐

  1. android签名打包发布到应用市场

    android签名打包发布到应用市场 一 主题 本篇文章详细介绍android从签名打包到发布到应用市场的流程,以及遇到的问题, 二,版本1.0.0 首先说一下你的apk第一个版本的发布, 1,创建签 ...

  2. Android签名打包报错:Conversion to Dalvik fromat failed with error 1

    今天测试Quick-Cocos2dx-Community 最新版本,ndk对应版本是ndk-r10e.从编译到ADT中debug调试都没有问题,但是在最终签名打包时报了一个错:Conversion t ...

  3. 获取Android签名打包keystore或者.jks文件的MD5

    Android开发,经常会调用第三方,例如在申请第三方的时候,经常会用到MD5等信息,下面是从一个签名打包的key文件里面去获取这些信息. 打开cmd或终端,找到对应的key签名文件,然后输入keyt ...

  4. Android签名打包很慢,Android APK快速签名—优化打包时间

    一.Android签名机制 Android签名机制可划分为ROM签名机制与第三方APK签名机制,在这里只讨论APK签名机制. Android系统在安装APK的时候,首先会检验APK的签名,如果发现签名 ...

  5. Android签名打包详解

    一.      Android签名有什么作用? 应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名.这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序.如果你采用 ...

  6. Android签名打包、密钥库、密钥全面解析

    前言 Android要求所有的应用必须进行数字签名才可以发布,也就是我们平时所说的使用证书打包然后上传市场.这个签署的过程又包括创建和存储证书,使用不同证书签署不同的构建配置,及自动签署过程. 重要的 ...

  7. cordova 发布 android release 签名打包

    2019独角兽企业重金招聘Python工程师标准>>> ## 20161227 android 签名打包制作一个 build.json 文件,放在项目一级目录修改 build.jso ...

  8. 菜鸟教程android数据库,Flutter - Android 菜鸟教程打包

    icon.jpg 准备工作 1 App签名 创建keystore 如果已经有keystore请调至下一步 keytool -genkey -v -keystore ~/key.jks -keyalg ...

  9. Flutter 学习之打包 - 纯Flutter项目生成Android包

    ###前言 前面介绍了Flutter中一些基本Widget的使用方法,下面我们来先下实战中是如何构建生成Android包的,本文我们主要介绍纯Flutter项目生成Android包的方法,以及遇到的问 ...

最新文章

  1. python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程
  2. android 显示 PDF 文件
  3. JavaScript内存优化
  4. POJ 2049 Finding Nemo BFS
  5. [数据库基础]——索引详解
  6. STM32 基础系列教程 47 - MD5
  7. DCMTK:OFStandard中“转换为标记”代码的测试程序
  8. oracle数据库中substring的使用方法
  9. Aliyun Serverless VSCode Extension 上架并开源
  10. PHP Calendar 函数,wordpress函数get_calendar()用法示例
  11. ElasticSearch常用的分词器
  12. 一、SecureCRT 8.0 客户端连接服务器
  13. 10万人参加过的公开课(大数据、AI、云计算、5G、物联网),你都学了吗?
  14. 使用docker方式安装etcd集群,带TLS证书
  15. netcat,nmap常用例子
  16. php微信公众号登录
  17. 拼接图像亮度均匀调整_华邦瀛微色差液晶拼接屏系统解决方案
  18. rpm包的下载安装与使用---手把手教学
  19. 学大数据一定要会Java开发吗?
  20. 七彩虹 iGame G-ONE Plus 27寸游戏一体机 评测

热门文章

  1. 编码的奥秘: ASCII码和字符映射
  2. 运维人生攻城狮的第一次搬家
  3. 【安全练兵场】| BurpSuite靶场系列之SQL注入
  4. 240320俄罗斯方块java_俄罗斯方块 Java源代码 Eclipse能运行的。要求如下图,谢谢...
  5. 蓝桥杯基础试题 字母图形 C语言实现
  6. STM32 使用 Keil5 JTAG 方式下载失败解决办法
  7. 机器学习数据科学库2——pandas1
  8. 重磅!VS Code网页版来了!无需任何安装,如丝般顺滑!
  9. 【PyQt5】教你一招,分分钟撸一个网易云音乐的UI界面
  10. 7月30日所学Python基础