Flutter Android 签名打包

文章目录

      • 查看APP包的签名
      • Flutter 配置Android 签名
        • 创建 keystore
        • 引用应用程序中的keystore
        • gradle中配置签名
        • 构建一个发布版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=
#密钥口令
keyPassword=
#别名
keyAlias=key
#keystore的路径
storeFile=/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位于/build/app/outputs/apk/app-release.apk

在设备上安装发行版APK

按照以下步骤在已连接的Android设备上安装上一步中构建的APK

使用命令行:

  1. 用USB您的Android设备连接到您的电脑

  2. cd .

  3. 运行 flutter install .

    详细参考:发布Android版APP

参考:

Flutter打包

Android如何用命令行生成keystore

包](https://www.jianshu.com/p/888ac3b7df01)

Android如何用命令行生成keystore

你可能感兴趣的:(Flutter)