Flutter Android 打包发布

一、创建keystore
可在Android Terminal命令行输入如下命令,输入一些信息后会生成.jks为后缀名的文件。

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

Flutter Android 打包发布_第1张图片
二、引用应用程序中的keystore
在android包下面创建key.properties文件,输入密码、路径等信息,如下:

storePassword=刚才创建keystore时输入的密码
keyPassword=刚才创建keystore时输入的密码
keyAlias=key
storeFile=/Users/xxx/Android_Project/Android_Demo/flutter_msb/android/my-release-key.jks

三、在gradle中配置签名
在android/app路径下的build.gradle文件下,android{}中配置

 //打包配置
 //key.properties为刚才创建的文件,里面存储keystort的信息,这里直接复制就可以
    def keystorePropertiesFile = rootProject.file("key.properties")
    def keystoreProperties = new Properties()
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
        // 这里默认为debug,要改成release
            signingConfig signingConfigs.release
        }
    }
}

四、命令行打包
在项目的根目录,执行如下命令,不报错差不多就打包成功了,之后再build/outputs/apk目录下面查看

flutter build apk

五、打包过程中遇到的问题
1.key.properties文件中storeFile一定要使用全路径名

2.debug版本正常,release版本不能访问网络
解决方案:在android/app/src/main 目录下的清单文件 增加网络请求的权限
Flutter Android 打包发布_第2张图片

你可能感兴趣的:(Flutter)