uni-app离线打包—在android studio创建的.jks签名文件获取不到MD5问题
第一次用开发中遇到的问题之一(开发uni-app遇到的问题)
项目说明:
项目是一个比较老的项目,然后又是第一次做uni-app,因为官网给出云打包和离线打包方式,当时走的云打包,发现要排队,大概要10几分钟,最后提示我打包成功了,但是我没找到对应apk文件,让我一度怀疑人生,后面我重新建了一个新项目,然后云打包成功,我很是怀疑项目太老了,最后没办法我只能离线打包
;
问题描述
离线打包的证书:
当我通过Hbuilder生成本地打包离线资源后,然后就是一系列操作下载官方的离线sdk,然后就是替换对应的appid对应的文件夹,其实按照官方的公共证书配置,在android studio没啥问题,但是公用毕竟是公用哈,后续网上了解到其实是可以到android studio上自己建证书的,
步骤如下截图:
然后就到了这个界面
点击下一步next
我这里已经有了,你可以点击新建一个
这个就很熟悉了,第一行就是选择签名生成的jks文件所在路径,点击最后边文件夹后,会要你填写jks的文件名,后面就是大家需要填的一些密码,记住这里的两个密码(可以一样的)、别名(我这里是demo)、文件名(我这里是demo.jks)一定要记住
,后续要用到
做完这一切,在我们的刚刚创建的jks就出来了,
接下来就是需要这个jks里的数据了!
怎么查看证书,这里直接去安装java的环境,后面也要用到,我用的是jdk1.8,
下面是官方推荐:这是地址,
安装java环境成功后,我们可以找到这个jre下的的这个bin文件夹下,直接地址栏里输入cmd,弹出命令提示符,
但是我建议直接添加到系统环境变量,作为全局环境,这样就可以在终端敲keytool命令了
好了,接下来进入正题查看jks的三个我们需要的签名sha1、sha256以及MD5,
keytool -list -v -keystore test.keystore Enter keystore password: //输入密码,回车
敲完后,没有md5
,如图
难受的一麻皮,因为是第一次弄关于app相关的,网上也找到个一个可以在线生成的MD5的网址,但是要打赏,哎,咱不惯着,就是白嫖,后续就是漫长的百度过程,中间找安卓的同事问了一下,他直接给我一顿操作说MD5不是可以直接生成嘛,我看他操作一番后,是有MD5(后面发现是不对的),他这里边是有sha1签名算法的,当然后续也找到了我以为的在线MD5生成网址像这种https://md5file.com,但是我发现生成的MD5不是我要的格式,咱咱们给你看看
下面是uni-app云端证书,也就是说咱们的证书要生成离线appkey,为什么要这个,因为后续要用到(没这个或者配置的不对,打包后的apk打开后会告诉你appkey配置错误
),必须知道这三个签名
可以看到这三个签名是有冒号的::::::::::
,(ÒωÓױ)!
后续更离谱的是我还想着通过网站还有其他方式得到的MD5在转化一下,我又开始了百度,突然我好像是看到某篇文章说是MD5是根据其他签名sha1生成的,然后再加密解密啥的,具体我也不是很清楚,有大佬知道的话,麻烦和我说一下,我摆好板凳听
总之这些个网站啊,还有一些其他网上推荐的一些脚本命令啥的,都不对,最后找了一圈,一个个试了所有方法后就只有下面这个一用起来,我就知道没问题了,
让我们把记忆溯回到我生成demo.jks地方
解决:
把生成的jks文件放到项目包文件夹下,如图
直接在Android studio打开终端
如图
输入我图里的命令,
如果报错了,说明你没安装java环境或者安装有问题
查看java环境
java -version
输入下面命令获取3个签名
./gradlew signingReport
然后等他生成,就这样了
出现这个的时候,我就知道我又又又行了
接下来就是把这三个签名丢到uni-app应用开发中心的时候,去生成签名的appkey呢!
除了这些,包名问题,这个地方需要注意的是这个地方的包名必须和项目在Android studio里头的包名一致
。
如下两张图要改的话都要改:
做完这些,去生成appkey,在后续修改配置要用到
接下来就是改android studio的打包和配置文件了
主要是这三个文件
第一个:
第二个:
第三个最为重要哦:
不记得就回去瞧瞧,好了最终打包成apk的话就没啥问题了!
记录一下第一次我开发uni-app历程,说不定哪天又来弄一下app看一下,
最后,如果说有哪里不对的,欢迎大佬们教正,
最后大佬们后续开发uni-app时大佬们有没有碰到什么坑,让我少走几年弯路,乏了
来源地址:https://blog.csdn.net/Ysmooth_Alone/article/details/130176427