flutter -- 签名、打包 (Android)

6,866 阅读2分钟

flutter安卓打包,获取签名(一键登录的时候需要签名)

Android

设置桌面图标

打包一般带着图标,当然也阔以不用,我们先修改启动图

先导出对应的尺寸,记得导出png格式,然后按ic_launcher里面多少尺寸就多少尺寸替换。

尺寸分别是

72*72
48*48
96*96
144*144
192*192

路径是

\android\app\src\main\res\

获取签名

终端运行

flutter doctor -v

找到Java binary at:这一行

然后cd到bin这个文件

执行

keytool -genkey -v -keystore E:\my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

alias 后面的key可以修改 上面 .jks写入的文件我写入E盘是因为C盘木有操作权限QAQ

执行后会有一个交互,然后按操作设置就好了

拿到签名后我们就需要设置签名了

设置签名

  • 把my-release-key.jks.jks移动到Android目录下(不移动也可以)

  • 在Android目录下新增key.properties文件

  • 写入如下内容

storePassword=刚刚输入的密码
keyPassword=刚刚输入的key
keyAlias=key
storeFile=my-release-key.jks.jks

storeFile可以是绝对路径

  • 找到app下的build.gradle,如图设置如下信息

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']
    }
}
--------
signingConfig signingConfigs.release

设置应用名称

  • 打开app/src/main/AndroidManifest.xml

新增的是联网权限

效果

这里有一个小插曲是,提示找不到jks,原因是上面的路径写错了,我是放在安卓根目录下,然后在app下面引入,所以加个../就好了。

通过最后一行看到路径 build\app\outputs\apk\release,安装app看下

完美

关于应用签名

签名是根据具体的需要申请的,比如极光认证(一键登录)

下载他们提供的app,然后签名的

(IOS暂时木有申请账号,六百八十八大洋QAQ)

获取SHA1的值

keytool -list -keystore E:\my-release-key.jks

其他

下一篇出flutter一键登录

--END--