Flutter Android 签名打包

查看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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值