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签名文件

相关推荐
sunly_4 小时前
Flutter:异步多线程结合
flutter
AiFlutter4 小时前
Flutter网络通信-封装Dio
flutter
B.-4 小时前
Flutter 应用在真机上调试的流程
android·flutter·ios·xcode·android-studio
有趣的杰克4 小时前
Flutter【04】高性能表单架构设计
android·flutter·dart
sunly_15 小时前
Flutter:父组件,向子组件传值,子组件向二级页面传值
flutter
爱学习的绿叶19 小时前
flutter TabBarView 动态添加删除页面
flutter
趴菜小玩家21 小时前
使用 Gradle 插件优化 Flutter Android 插件开发中的 Flutter 依赖缺失问题
android·flutter·gradle
jhonjson2 天前
Flutter开发之flutter_local_notifications
flutter·macos·cocoa
iFlyCai2 天前
23种设计模式的Flutter实现第一篇创建型模式(一)
flutter·设计模式·dart