android0基础 flutter打出Android flutter 签名包 debug包 签名apk

注意⚠️

首先,这篇文章主要针对打包,前部分主要针对不是Android开发的同学,没有Androidstudio打包Android基础,在学习flutter需要打出签名包,所以比较详细。是android同学可以直接跳至看方法三,对flutter打包扩充了解。

话不多,直接上重点????

方法一:注意,这个是debug Apk哪

flutter build apk

上图:apk打包的位置下方
android0基础 flutter打出Android flutter 签名包 debug包 签名apk

方法二:Android studio直接打包签名apk

1.切换Android频道,进入Android版本
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
2.选择签名apk
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
3.选择apk
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
4.第一次选择【create new…】创建签名文件,之后迭代选择【choose existing…】使用之前创建的签名文件,或者创建新的。
android0基础 flutter打出Android flutter 签名包 debug包 签名apk

5.create new … 填充资料,选择ok
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
6.进入next
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
7.选择release包,
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
8.右下角看到这个,就是成功啦~点击locate就能快速找到你的打包文件啦~
android0基础 flutter打出Android flutter 签名包 debug包 签名apk

方法三:不切换Android频道,打包

官网链接????:https://flutter.dev/docs/deployment/android详细

1.先创建keystore

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

⚠️直接用上面链接创建key, 如果遇到该错误1
android0基础 flutter打出Android flutter 签名包 debug包 签名apk

原因:是没有找到这个keytool.exe…怎么办呢?

flutter doctor -v

楼主现在是mac,上不了图,大致意思
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
查看java binary at:后面部分…截止到java前
例如:D:\Program Files(x86)\Androidstudio\jre\bin\java这种
拷贝:D:\Program Files(x86)\Androidstudio\jre\bin
修改: D:\‘Program Files(x86)’\Androidstudio\jre\bin\

D:\‘Program Files(x86)’\Androidstudio\jre\bin\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

如果遇到这个错误❌:fileNotFoundException:~\key.jks
android0基础 flutter打出Android flutter 签名包 debug包 签名apk
修改上面命令:

android0基础 flutter打出Android flutter 签名包 debug包 签名apk
改一个你本地有的盘:例如C盘

D:\‘Program Files(x86)’\Androidstudio\jre\bin\keytool -genkey -v -keystore C:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

android0基础 flutter打出Android flutter 签名包 debug包 签名apk
????啦,C盘就能找到

mac上面编就很省事了~

android0基础 flutter打出Android flutter 签名包 debug包 签名apk

????ok,现在到自己盘就能看到这个文件了。这个文件自己保存本地,上线到不要分享出去。

⚠️楼主遇到该错误:因为忘**了,删了,重新来

keytool 错误: java.io.IOException: keystore password was incorrect
java.io.IOException: keystore password was incorrect

android0基础 flutter打出Android flutter 签名包 debug包 签名apk

2.创建文件对应**

 <app dir>/android/key.properties

android0基础 flutter打出Android flutter 签名包 debug包 签名apk

3.key有了之后,app下面gradle需要配置一下

android0基础 flutter打出Android flutter 签名包 debug包 签名apk
添加内容:

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

修改内容:

signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

好啦,终于完成了,最后!!!!!

又是最上面看到的

flutter build apk

android0基础 flutter打出Android flutter 签名包 debug包 签名apk

android0基础 flutter打出Android flutter 签名包 debug包 签名apk