科普:Flutter应用打包、修改图标、修改启动页和app名字、加固后重新V1V2签名

目录

  • 1 创建秘钥
  • 2 引入密钥
  • 3 配置秘钥进Gradle
    • 3.1 在android块之前添加代码
    • 3.2 在buildTypes块之前添加代码
  • 4 配置是否R8缩小代码(默认缩小)
  • 5 修改增加需要的应用权限
  • 6 修改app图标和app名字
    • 6.1 Android
    • 6.2 IOS
  • 7 修改app启动图
    • 7.1 Android
    • 7.2 IOS
  • 8 修改打包配置
  • 9 开始打包
    • 9.1 打包成app bundle
    • 9.2 打包成APK
  • 10 在设备上安装APK
  • 11 腾讯加固后的app如何重新签名
    • 11.1 V1版签名
      • 11.1.1 先下载加固好的app
      • 11.1.2 管理员权限cmd进入app目录
      • 11.1.3 输入签名命令
      • 11.1.4 输入你证书私钥密码并回车
      • 11.1.5 最后提示 jar 已签名即为签名成功
    • 11.2 V2版签名(包含V1版)
      • 11.2.1 先下载加固好的app
      • 11.2.2 管理员权限cmd进入app目录
      • 11.2.3 对app进行对齐
      • 11.2.4 进行V2签名(兼容V1签名)

1 创建秘钥

如果您已有密钥,请跳到下一步。 如果没有,请在命令行中运行以下命令来创建一个:

在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

此命令将key.jks文件存储在主目录中。 如果要将其存储在其他位置,请更改传递给-keystore参数的参数。 但是,请将密钥文件保持私有状态; 不要将其推送到公共源代码控制中!

注意:

  • keytool命令可能不在您的路径中,它是Java的一部分,而Java是作为Android Studio的一部分安装的。 对于具体路径,请运行flutter doctor -v并找到在’Java binary at:'之后打印的路径。 然后使用该标准路径将Java(最后)替换为keytool。 如果您的路径包含以空格分隔的名称(例如“Program Files”),请使用平台专用的名称表示法。 例如,在Mac / Linux上,使用Program \ Files,在Windows上,使用“ Program Files”。
  • 只有Java 9或更高版本才需要-storetype JKS标记。 从Java 9版本开始,密钥库类型默认为PKS12。

2 引入密钥

创建一个名为/android/key.properties的文件,其中包含对密钥的引用:

storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=key
storeFile=<location of the key store file, such as /Users/<user name>/key.jks>

3 配置秘钥进Gradle

通过编辑/android/app/build.gradle文件为您的应用配置签名。

3.1 在android块之前添加代码

   android {
   
      ...
   }

使用属性文件中的密钥库信息,将key.properties文件加载到keystoreProperties对象中。(加完效果如下):

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('key.properties')
   if (keystorePropertiesFile.exists()) {
   
       keystore

你可能感兴趣的:(flutter,flutter,打包app)