Flutter Android 签名打包

Flutter安卓APK打包实战:从签名配置到网络权限优化 本文详细解析了Flutter安卓APK打包的核心流程与常见问题。重点讲解了如何正确配置应用签名密钥,并解决发布版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.debug
            signingConfig signingConfigs.release
            //混淆
            minifyEnabled true
            useProguard true
            //Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true

            proguardFiles 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

Android Studio APK打包(签名),flutter教程dart 本着实践的态度,新建一个GenerateAPK项目 创建完成后,你可以运行一下,运行在趁机或者虚拟机都可以 二、生成Debug和Release包 当你看到这个页面的时候,这个APK就已经安装在这个模拟器上面了,而这个APK就是debug版本的,但是它是运行时生成的,不是打包生成的 怎么查看这个APK呢 把当前项目切换成Project,然后找到build文件夹。只要你的项目运行了,就会生成这个文件夹,然后你可以通过下图 此时你可以将这个app-debug.apk复制,然后通过QQ发送到你自己的手机上. 阅读详情

相关推荐

手把手讲解RTX5操作系统在GD32F407上的移植

然后将GD32F4xx_Demo_Suites_V2.6.4\GD32407V_START_Demo_Suites\Projects\01_GPIO_Running_LED下面的main函数复制到我们的项目文件夹中;打开对应GD32407V_START_Demo_Suites的文件夹下面的Utilities,复制gd32f407v_start.c和gd32f407v_start.h文件到一开始项目保存的文件夹下面;为了验证我们的操作系统是否被正确添加,是否能够正确运行,我们需要添加示例文件;

Praguejing的博客 1863

查看已经打包好的APK文件的签名与给打包好的APK文件签名

说明:此操作是在MAC系统上进行的,对于windows系统是否适用没用试验过。 1.查看APK签名     将.apk文件更改为后缀名为.zip文件,然后解压文件,里面有一个META-INF文件,其中包含了CERT.RSA文件。 在命令行模式下输入命令:keytool -printcert -file  /Users/xiaoxue/Downloads/test/META-INF/CERT

luck_136的博客 1万+

CANoe实战:LIN Slave一致性测试全流程解析

本文详细解析了使用CANoe进行LIN Slave一致性测试的全流程,包括测试概述、环境搭建、模块集成、测试用例详解及报告分析。通过实际案例分享,帮助工程师掌握LIN 2.0/2.1/2.2、SAE J2602和ISO 17987等标准的自动化测试方法,提升汽车电子从节点的可靠性和兼容性验证效率。

weixin_42665725的博客 533

Flutter签名

配置android\app\build.gradle 在buildTypes上面添加。回车之后,输入两次要设置的密码,和一些相关的信息。输入查看签名详情 包括SHA1等信息。

油焖茄子 的博客 320

r语言svr模型_R语言初探强化学习中的马尔可夫模型

强化学习大家这几年应该不陌生,从AlphaGo到AlphaZero让大家见识到了强化学习的力量。我们今天给大家介绍一个在强化学习中核心思维马尔可夫决策过程(MDP)。马尔科夫决策过程是基于马尔科夫论的随机动态系统的最优决策过程。它是马尔科夫过程与确定性的动态规划相结合的产物,故又称马尔科夫型随机动态规划,属于运筹学中数学规划的一个分支。今天我们给大家介绍下马尔可夫决策过程中用到一些算法以...

weixin_28994357的博客 1112

COCO数据集缺失文件补全方法

本文代码是以目标检测(object detection)和实例分割(instance segmentation)任务的标签文件为例,即文件。其他任务的标签文件内容略有不同,但是图片来源表示字段完全相同,因此代码可通用。另外如果是非2017版本COCO应该也通用。msgspec是一个高性能的序列化和验证库,支持 JSON、MessagePack、YAML 和 TOML 等多种格式。高性能:在常见协议的编码/解码中表现出色,通常比其他库快10-80倍。零成本的模式验证。

qq_46396470的博客 1995

flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改

flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改最近使用flutter开发项目,需要将打包应用时候apk进行签名,我这边开发使用的是Android studio,发现在Android studio的build没有generate signed bundle/apk。这里记录一下问题修改,以及生产签名文件及gradle配置。

一名开发者 4043

C#程序突然崩溃怎么办?5分钟学会分析Dump文件(Visual Studio 2022实战)

本文详细介绍了在C#程序崩溃或无响应时,如何捕获并分析Dump文件以快速定位问题。通过Visual Studio 2022实战演示,重点讲解了配置符号服务器、解读调用堆栈与内存状态,以及针对CPU飙高、内存泄漏等典型场景的分析方法,帮助开发者高效进行故障诊断。

docker8compose的博客 474

Flutter打包安卓apk没有签名

Flutter打包安卓apk没有签名一、起因二、使用`apksigner`给apk加签 一、起因 本文记录的是用flutter build apk打包是遇到的bug,其根本原因目前还没有找到,如有朋友知道原因,烦请评论区告知,不胜感谢!其实之前打包都没有遇到问题,最近突然发现生成的包都没有签名。先自查,项目中的jks和build.gradle中的签名配置都是正常的(之前打包一直没问题,再确认一遍)。进入android目录用AS打开,使用Generate Signed Bundle or APK打包签名也正常

leo_luck的博客 1573

车载 ECU 中的 Safety Linux 详解

车载 ECU 中的 Safety Linux 详解

天赐好车的博客 314

YOLOv8_obb训练流程-原理解析[旋转目标检测理论篇]

本文主要介绍了YOLOv8旋转目标检测的流程,介绍了标签的解码、预测结果的解码,以及如何理解旋转角度等内容,还介绍旋转目标检测框的正样本选取及Loss计算。

ice 4732

Flutter 项目实战 网络请求MD5+时间戳+验证签名 十一

密钥可以是任意字符串 , 为了增加破解难度 ,客户端和服务端协商的密钥字符串长度尽量要长。密钥分别在客户端和服务端保存了一份。客户端获取时间戳、签名和其他必备参数添加到Map集合中 , 然后对Map集合按Key的首字母顺序排列 , 最好遍历Map集合分别获取key和value循环拼接到赋值给一个字符串变量。通过遍历集合拼接好的字符串末尾拼接协商的密钥 , 将这个拼接好的字符串通过Md5算法加密。

我很好 1万+

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

Flutter为Android添加签名并打包

Flutter为Android添加签名并打包

AiFlutter的博客 1715

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

flutter安卓打包签名

为 APK手动签名并添加时间戳,使用这个就不要配置步骤2了还有记得删除。2.在 Flutter 项目中配置签名。4.验证签名和时间戳。

m0_53480384的博客 937

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Flutter:从零到APK,手把手教你完成Android应用签名与打包

本文详细介绍了如何使用Flutter从零开始完成Android应用的签名与打包流程,包括环境准备、密钥库生成、Gradle配置及APK构建等关键步骤。通过keytool工具创建签名密钥,并配置Flutter项目实现安全打包,帮助开发者高效发布应用。

weixin_29005499的博客 365

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

flutter打包安卓项目

生成签名文件 jdk生成签名文件详细参考、 jdk安装配置详细参考 配置项目 引入签名文件 在<projectdir>android/目录下新建key.properties,内容如下 storePassword=密码 keyPassword=密码 keyAlias=签名文件名称 storeFile=签名文件完整路径 如图: 2. 配置 build.gradle 需要修改<project dir>android/app/build.gradle文件 添加(在android {前

甘榆 419

【flutter电子木鱼】flutter 打包 android apk,记录配置签名的过程/调试的过程及flutter build apk放到手机上用。

目标通过这篇blog记录一下flutter打包android apk的过程,项目是参考以下链接的git仓库,然后自己重新创建了一个project。安卓应用市场的木鱼充斥着广告和付费体验极差,自己做一个还可以根据喜好做适应性调整,不用担心被偷后台也不用烦广告和一些奇怪的布局,干净清爽,还可以自己更新喜欢的木鱼皮肤

daddykei的博客 2420

Flutter android 自定义签名打包release

这会生成 my-release-key.keystore 和 my-key-alias。这样 Flutter 打包出的 APK 将使用我们自定义的签名和证书了。自定义签名可以避免 DEBUG 证书的限制,并可用于发布到应用商店。每次打包都需要提供相同的签名,否则会提示签名不匹配。填入 keystore 的密码。

u010390748的博客 1638

Flutter项目打包生成APK

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

wz_1992的博客 1万+

Flutter安卓快捷创建证书并打包发布

使用AndroidStudio快速创建证书并且打包,相比于使用命令创建证书更方便更简洁更直观。

不日繁华终远去,愿她长久 3606

Flutter安卓APK打包全流程:从签名到网络权限配置(2023最新版)

本文详细介绍了2023年最新版Flutter安卓APK打包全流程,包括签名配置与网络权限优化等关键步骤。从开发环境检查到最终APK生成,提供实战指南帮助开发者高效完成打包工作,特别适合需要处理Flutter应用发布的开发团队参考。

weixin_30566063的博客 405

Flutter项目打包android apk发布

本文介绍了Flutter项目打包Android APK的完整流程。主要内容包括:1) 使用keytool生成有效期100年的应用签名;2) 创建签名配置文件key.properties并配置密码和路径;3) 修改build.gradle.kts文件添加签名配置;4) 执行flutter build apk命令生成发布包。适用于Flutter 3.35.4、Android Studio 2025.2.1和Java 17环境,提供了从签名生成到最终打包的详细步骤说明。

New小码的博客 555

【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程

这将创建一个名为upload-keystore.jks的密钥库文件,并设置有效期为10000天,执行后会提示输入相关信息,包括密码之类,完整后这里一定要对应自身的路径,这步签名不对打包的apk是会闪退的。上面三条内容是自行填写,分别是密码,密码,组织密码,但是最后这个store文件 是需要生成的,而且这个storeFile=路径要对应,运行调试,我们可以看见 已经出现一个模拟器安卓机了,这样我们基本就可以实现真机调试了,机型选择方面也是很简单的,

一颗优雅草科技-央千澈的优快云博客~只想无穷无尽的学习~作息早8-晚8 1458

android 0基础 flutter打出Android flutter 签名包 debug包 签名apk

注意⚠️ 首先,这篇文章主要针对打包,前部分主要针对不是Android开发的同学,没有Androidstudio打包Android基础,在学习flutter需要打出签名包,所以比较详细。是android同学可以直接跳至看方法三,对flutter打包扩充了解。 话不多,直接上重点

DeckeDeng的博客 2707

Android Studio打包发布Flutter安卓应用

打包发布安卓应用主要有5步, 1、修改 AndroidManifest.xml 文件 打开 android/app/src/main/AndroidManifest.xml 首先通过安卓模式打开项目 然后等待项目加载完成,出现下面情况为加载完成: 如果出现异常可以参考这篇文章:启动 flutter项目时报Could not find com.android.tools.build:gradle:3.2.1. 然后修改APP对应的名字,也就是在手机桌面显示的应用名 图标自定义我们可以修改mipmap下面

weixin_40340982的博客 522
上一篇: CmakeLists文件说明
下一篇: Android 静默安装
K_Hello
博客等级 码龄12年 33粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值