Flutter打包和个性化修改

  1. 生成keyStore
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

注意:命令可能会找不到,那就要去java文件夹里去找,路径一般在 【C:\Program Files\Java\jdk1.8.0_201\bin】

然后执行 .\keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000,就可以生成,生成的文件也会保存在这个目录下

-keystore 参数后的值: my-release-key.keystore, 表示一会儿要生成的那个 签名文件 的名称;请先保存好这个名称,因为后面发布项目期间会用到它。

-alias 参数后面的值:my-key-alias,后续发布项目期间也会用到,因此也需要保存好这个参数值;注意:这个参数的值可以根据自己的需要进行自定制。

当运行这个命令的时候,需要输入一系列的参数,和相关的口令的密码,一定要保存好相关的密码,后期会用到。

当生成了签名之后,这个签名,默认保存到了自己的用户目录下 C:\Users\用户名目录\my-release-key.keystore

将自己的签名证书 copy 到 android/app 目录下。

注意:保持 keystore 文件的私密性; 不要将它加入到公共源代码控制中(最好的方式,是将 keystore 文件添加到 .gitignore 忽略文件)。

  1. 将生成的文件粘贴到项目中的【\android\app】之下就可以

  2. 找到/android目录,新建【key.properties】文件,

  3. 将以下代码写入该文件

storePassword=w1065427735(密码)
keyPassword=w1065427735(密码)
keyAlias=my-key-alias(-alias的值)
storeFile=my-release-key.keystore(命令生成的文件名)
  1. 在gradle中配置签名
    在【\android\app\build.gradle】中的【apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"】之下添加代码:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
  1. 在该文件中代码
buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig signingConfigs.debug
    }
}

替换为:

signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
            }
    }
    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }
  1. 修改app名称和图标
    8.1 修改APP名称
    在【\android\app\src\main】找到AndroidManifest文件, android:label=【项目名称】
    8.2 修改图标
    生成图标地址:https://icon.wuruihong.com/
    替换:找到【\android\app\src\main\res】,替换下面的图片文件即可

  2. 在项目根目录下运行flutter run apk