flutter打包签名问题

总结

build.gradle只配置了release签名,没有配置debug签名的前提下

flutter build apk --debug或者flutter run 使用的都是系统下的默认签名文件

flutter build apk --release或者AS Build->Flutter->Build APK使用的是release签名

build.gradle配置了release签名和debug签名

使用命令行 fluuter build apk --debug或者使用flutter run 使用的是debug签名文件

使用as打包,Build -> Flutter -> Build APK 或者使用flutter build apk --release使用的是release签名文件

生成签名文件

方式1:android studio

方式2:命令行

Mac/Linux keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key # Windows keytool -genkey -v -keystore c:\Users\USER_NAME\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key

打包

方式1:打开android项目使用as或者命令行

方式2:打开flutter项目使用as或者命令行

主要测试一下方式2

build.gradle只配置了release签名,没有配置debug签名前提下

使用as打包,Build -> Flutter -> Build APK 或者使用flutter build apk --release

生成文件如下

验证一下apk下和flutter-apk下apk的签名

验证keystore文件

keytool -list -v -keystore path/to/your-keystore.keystore -alias your_alias_name

你会看到 keystore 中的证书信息,包括证书指纹(MD5、SHA1、SHA256 等)

jarsigner验证apk签名

jarsigner -verify -verbose -certs path/to/your-app-release.apk

可见jarsigner这个方式不可用

apksigner验证apk签名,apksigner通常位于 build-tools 目录下

apksigner verify --print-certs path/to/your-app-release.apk

可见apksigner方式有效,对比SHA256和SHA1发现一致

使用命令行 flutter build apk --debug或者使用flutter run

可见这个时候使用的是系统默认的签名文件

build.gradle配置了release签名和debug签名前提下

使用as打包,Build -> Flutter -> Build APK 或者使用flutter build apk --release

使用的是release签名文件

使用命令行 fluuter build apk --debug或者使用flutter run

使用的是debug签名文件

相关推荐
tangweiguo0305198719 小时前
Flutter多品牌应用架构实战:从配置驱动到编译部署的完整解决方案
flutter
Bryce李小白20 小时前
FlutterBoost适配Flutter3.38.4版本生成补丁包
flutter
tangweiguo0305198721 小时前
Flutter Packages 设计与实践:构建可维护的模块化应用
flutter
小a杰.21 小时前
Flutter 的编译技术核心
flutter
hudawei9961 天前
flutter setState(() { … }) 作用
flutter
ujainu小1 天前
Flutter 结合 local_auth 3.0.0 实现跨平台本地生物识别认证
flutter·local_auth
ujainu小1 天前
Flutter 本地存储权威指南:sqflite 2.4.2 全平台集成与实战
flutter·sqflite
ujainu小1 天前
Flutter 生物认证权威指南:local_auth 3.0.0 全平台集成与实战
flutter·local_auth
hh.h.1 天前
灰度发布与A/B测试:Flutter+鸿蒙的分布式全量发布方案
分布式·flutter·harmonyos