使用Hbuilder创建的uniapp项目的打包步骤:

  1. 打开manifest.json文件,重新获取APPID标识

  1. 点击发行=》原生APP云打包

  1. 会弹出一个APP打包的页面设置,以下以安卓打包为例:

一、使用公共测试证书:

填入包名、选择正式使用公共测试证书、选择打包正式、选择原生混肴、选择安心打包;最后【打包】;

会弹出【继续打包】;控制台显示:打包成功;安装包位置unpachage/release/apk/******.apk;生成APK文件

apk文件就是打包成功后 文件;把文件发布到各平台,供用户下载;或者直接发给用户,下载安装。

二、自有证书打包

如果项目内使用了自有证书的话,打包的时候需要选择【使用自有证书】。例如:使用高德地图

uni.getLocation()获取到的坐标和高德地图实际坐标有差距?

为什么在地图显示的位置有偏差?

地球上同一个地理位置的经纬度,在不同的坐标系中,会有少许偏移,国内目前常见的坐标系主要分为三种:

  1. 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。

  1. 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。

  1. 百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。

使用自有证书打包,才可支持 gcj02。

使用自有证书打包,必须有证书文件证书私钥密码

这两个的获取实在 JRE环境下:

高德地图生成key值的密钥获取方法:

HBuilder=》发行=》原生APP-云打包的具体步骤:

1、生成keystore文件

这个文件就是APP打包时,使用自有证书,使用的证书文件,是以【.keystore】为结尾的文件,名字随意取

参考:https://ask.dcloud.net.cn/article/35777

操作:在JRE环境:

进入jre文件夹下,cmd命令输入:

keytool -genkey -alias com.sunnyintec.netms -keyalg RSA -keysize 2048 -validity 36500 -keystore F:\test.keystore

  • com.sunnyintec.netms :是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字

  • test.keystore:要生成的证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径

  • 36500:是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

回车后会提示:输入密码,这个密码要记住,就是证书私钥密码(这时候密码是新设置的,随便输入,需要记住)

输入证书文件密码,也就是输入密钥库口令,证书私钥密码 ,是自己设置的,需要记住。HBuilder打包的时候,需要输入的证书私钥密码

下面的数据都是按规范填的(随便填),需要注意的是国家代号输入【CN】。回车

以上命令运行完成后就会生成证书,路径为“ F:\test.keystore”。

2、获取 SHA1 值

这个值是高德地图获取【key】值使用的。

参考:https://lbs.amap.com/faq/android/map-sdk/create-project/43112

下面介绍的是使用 keytool(jdk自带工具)获取SHA1

操作:在JRE环境:

  • 在桌面进入cmd控制台

  • 在弹出的控制台窗口中输入 cd .android 定位到 .android 文件夹

  • 继续在控制台输入命令:

调试版本使用 debug.keystore,命令为:keytool -list -v -keystore debug.keystore

发布版本使用 apk 对应的 keystore,命令为:keytool -list -v -keystore apk的keystore

keytool -list -v -keystore F:\test1.keystore 其中【F:\test1.keystore】:是1生成的证书文件名

  • 提示输入密钥库密码,调试版本默认密码是 android,发布版本的密码是为 apk 的 keystore 设置的密码。

这个密码就是生成证书文件输入的证书私钥密码

回车后就可以查看证书生成的密码及证书信息:

SHA1:这个值就是高德地图生成key值的密钥

别名:别名是HBuilder打包的时候使用的证书别名

3、高德地图生成key值

  • 登录高德的控制台后,在我的应用添加【key】

key名称:根据规范填写

服务平台:选择对应的平台

发布版安全码SHA1:就是2中获取到的SHA1值

PackageName:就是HBuilder打包时的包名,这里需要保持一直,可以修改,修改后打包的包名也要改变

以上信息提交后,会生成一条key名称命名的key数据,后面对应的【key】就是项目中使用高德地图的key值。

4、key的使用

在manifest.json文件里,可以直接改变源码试图里面的APP相关【sdkConfigs】配置的【maps】里面的【appkey_android】的值。

里面的 android 和 ios 是分别填写的,在高德生成的时候生成两条 key,这里是不一样的。

5、打包

最后在打包项目的时候,选择【自有证书】

最后会生成一个以【.adk】结尾的文件

复制这个文件,发送给手机,手机端直接点击下载就是最后的项目。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐