首页 > 其他分享 >Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作

时间:2023-12-14 22:32:42浏览次数:28  
标签:keystore 文件 之安卓 keystoreProperties apk cer release 公钥值 Flutter

我们Flutter开发中,难免有些小朋友因需求要获取打包签名的一些相关信息,下面我们来讲一下怎么获取

一 生成签名文件

我们打包安卓APK包需要先生成签名文件,需运行以下指令,生成签名文件

keytool -genkey -v -keystore GMT\_keystore.keystore -alias GMT\_keystore -keyalg RSA -keysize 2048 -validity 10000

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_flutter

二 创建 key.properties 文件

在根目下 androd 目录下创建一个key.properties文件,里面填入一下内容:

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_flutter_02

三 在 gradle 中配置签名

通过根目录 android >> app 目录下的 build.gradle 文件, (1) 在 android {......} 前面添加以下内容:

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

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_flutter_03

(2) 在 android {......} 里面添加以下内容,注意,要放在 buildTypes{……} 的前面哦,不然又会有小朋友踩坑

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

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_签名文件_04

(3) 在 buildTypes{……} 中修改 release 内容

buildTypes {  
    release {  
        signingConfig signingConfigs.release  
    }  
}

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_flutter_05

四 打包APK包

在根目录下打开终端,运行 “flutter build apk” , 生成的apk文件的位置为 build/app/outputs/flutter-apk/app-release.apk

五 下面讲一下获取这个签名相关信息

(1) 打开终端,来到和之前讲的 xxx.keystore 文件的目录,这里我们是 “jswsmart.keystore” 文件,执行以下命令 keytool -list -v -keystore jswsmart.keystore

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_签名文件_06

(2) 我们再来生成证书文件(证书文件名:certificate.cer),运行下以命令,会在同级目录下,生成一个 certificate.cer 的证书文件


keytool -export -keystore jswsmart.keystore -alias jswsmart -file certificate.cer

(3) 再执行提取公钥命令


openssl x509 -inform der -in certificate.cer -pubkey -noout

Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作_签名文件_07


标签:keystore,文件,之安卓,keystoreProperties,apk,cer,release,公钥值,Flutter
From: https://blog.51cto.com/u_16175630/8824129

相关文章

  • Flutter技术基础
    技术基础语法主要是用dart,dart就是js和java的组合体,变量的声明,类,继承,构造函数,setget方法,以_开头的变量通常表示为私有变量。这意味着这个变量或者方法只能在当前Dart文件中访问,而不能被其他文件访问。一些集合包如map、list、set等等会用到的数据结构2.包管理:配置文件pubs......
  • Android开发人员该如何高效学习Flutter
    前言随着移动应用的普及,跨平台开发已经成为开发人员的重要需求。Flutter作为一款流行的跨平台框架。受到了越来越多的关注。对于Android开发人员来说,学习Flutter不仅可以提高开发效率,还可以拓展自己的技能领域。那么,我们该如何高效的学习Flutter呢?一、技术特点Flutter是由Google......
  • Flutter attach调试
    简介一旦将flutter模块集成到原生项目中,由其是iOS的原生项目,我们是否能够保留flutter的快速开发调试的优势呢?即是否还可以通过Hotreload或者HotRestart来快速开发呢?那么对应flutter模块,我们如何使用hotreload加速我们的调试速度呢?答案就是:flutterattach调试(开发工具:Xcode......
  • Mac 安装 Flutter
    1、进入终端下载fluttercd~/Applications/gitclone-bmasterhttps://github.com/flutter/flutter.git2、配置Flutter的环境变量 编辑.zshrc文件添加环境变量exportPATH=$PATH:/Applications/flutter/bin3、查看flutter信息 flutter--version提示如下代表安......
  • flutter iOS 使用BasicMessageChannel 通信
    flutter代码//main.dartimport'package:flutter/material.dart';import'package:flutter/services.dart';voidmain(){runApp(constMyApp());}classMyAppextendsStatelessWidget{constMyApp({Key?key}):super(key:key);@o......
  • 【flutter对抗】blutter使用+ACTF习题
    最新的能很好反编译flutter程序的项目‍1、安装gitclonehttps://github.com/worawit/blutter--depth=1​然后我直接将对应的两个压缩包下载下来(通过浏览器手动下载)不再通过python的代码来下载,之前一直卡在这个地方。如果读者可以正常运行init_env_win.py,手动这一步可以省......
  • 真机调试 Flutter 报错:Lookup failed: title in @getters in MyHomePage in package:f
    发生缘由学习Flutter更改lib目录下面的main.dart文件之后真机调试运行flutterrun报错:1#小组件库异常2══╡EXCEPTIONCAUGHTBYWIDGETSLIBRARY╞═══════════════════════════════════════════════════......
  • 在 macOS 上搭建 Flutter 开发环境
    目录下载FlutterSDK配置Flutter环境变量及镜像检查开发环境参考下载FlutterSDKflutter官网下载:https://flutter.io/sdk-archive/#macos若上述链接无法访问,可通过GitHub下载https://github.com/flutter/flutter/releases将下载的fluttersdk解压到一个地方(这里解压......
  • flutter 打包web应用指定上下文
    使用flutterbuildweb命令打包的应用不包含上下文,只能部署在根目录。如何指定上下文,部署在子目录下呢?有两种办法:1.修改web/index.html文件修改<basehref="$FLUTTER_BASE_HREF">标签中href的值,改成你想要的上下文然后再打包。2.在命令行中指定上下文。比如我想要的上......
  • flutter帮我们做了什么?(鸿蒙是flutter吗)
    Flutter和鸿蒙(HarmonyOS)是两个不同的移动应用开发框架,它们有各自的特点和用途。Flutter:UI框架:Flutter是由Google开发的UI工具包,用于在移动、Web和桌面平台上构建美观、高性能的应用。跨平台:Flutter允许开发者使用相同的代码库构建iOS、Android、Web和桌面应用程序,实现......