目录
什么是自定义基座
自定义基座的使用
配置自定义基座
安卓自定义基座的配置
IOS自定义基座的配置
之前分享过的uniapp开发app微信登录时有说到“自定义基座”,今天来说下配置“自定义基座”。
使用HBuilder/HBuilderX开发应用时,可在手机/模拟器上查看运行效果,点击菜单栏“运行”->“运行到手机或模拟器”使用。
为了解决manifest配置相关调试的便利性问题,里面使用的是自定义的manifest配置。
1、在HBuilder/HBuilderX中点击菜单栏“运行”->“运行到手机或模拟器”->“制作自定义基座”生成自定义基座安装包。
2、打调试包的时候,点击菜单栏“运行”->“运行到手机或模拟器”->"运行基座选择"->"自定义调试基座"。
3、会在控制台看到打包信息,提示打包成功后就可以进行调试了。
打开制作自定义基座页面,可以看到我们需要对安卓和ios分别进行配置,我们先来配置安卓。
从下图我们可以知道主要需要以下内容:
1、Android包名
2、证书别名
3、证书私钥密码
4、证书文件
Android包名的获取:
Android应用包名,推荐使用反向域名风格的字符串,如“com.domainname.appname”。
发行时自己输入的,如果是已有应用可以在微信开放平台上查看。
生成Android平台签名证书(.keystore)
1、安装JRE环境
a>从Oracle官方下载:下载地址
b>将JRE安装路径添加到系统环境变量(以安装目录为“C:\Program Files\Java\jre1.8.0_201”为例):
打开cmd命令行,执行以下命令
//切换到工作目录D:路径
cd d:
//将jre命令添加到临时环境变量中
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
2、生成签名证书(在cmd命令行,使用keytool -genkey命令)
keytool -genkey -alias mytest -keyalg RSA -keysize 2048 -validity 36500 -keystore mytest.keystore
//-alias mytest 表示证书的别名是mytest(别名建议使用英文字母和数字);
//-keyalg RSA 表示采用的RSA算法;
//-validity 36500 表示证书的有效期是36500 天
//-keystore mytest.keystore 表示生成的证书,可以加上路径(默认在用户主目录下)
回车后会提示输入相关信息,可以选择选入,也可以直接回车。界面如下:
注意:生成证书的时候可能会提示下图信息,我们把提示的命令复制过来,在cmd里执行即可。
到这里证书文件mytest.keystore就生成了,我们可以通过cmd命令行,输入以下命令来查看证书:
keytool -list -v -keystore test.keystore
3、制作自定义基座
App包名:Android应用包名,推荐使用反向域名风格的字符串,如“com.domainname.appname”;
证书别名:生成证书时使用-alias参数设置的证书别名;
私钥密码:生成证书时使用的keystore密码;就是回车后输入的密钥库口令。
证书文件:生成证书时使用-keystore参数设置的证书保存路径。
注意以下问题:
使用自定义基座打包后,使用微信登录可能会提示“微信签名失败”
解决方案及原因:
a>微信的客户端会存储你的app在微信开放平台上配置的包名跟应用签名,确认自己所有的配置和代码都没有问题的话可以删除手机上的微信。
b>微信开放平台上对应的移动引用,在开发信息栏里,应用签名与包名不匹配。可根据包名重新生成应用签名。
应用签名的获取方式:签名获取工具
从下图我们可以知道主要需要一下内容:
1、Bundle ID(AppID)
2、证书私钥密码
3、证书profile文件
4、私钥证书
证书生成可查看官方文档 iOS证书(.p12)和描述文件(.mobileprovision)申请
生成证书时,需要注意以下问题:
1、打包提示错误“IOS开发者证书信息有误,请重新填写相关信息 IOS profile文件与私钥证书文件不匹配”。
2、打包时提示“iOS平台HBuilder基座证书过期无法真机运行的说明(return code=-402620395)”
解决方案:
a>官方回答 iOS平台HBuilder基座证书过期无法真机运行的说明(return code=-402620395)
b>调试的手机是第一次用,需要在苹果开发者平台找到设备一栏,添加设备,然后重新生成一个证书再重新打自定义基座。
添加设备需要填写设备的UDID,可以通过该工具获取 快速获取 iOS 设备的 UDID
3、在苹果开发者平台添加设备时提示“Reset your device list before adding any new devices”
解决方案:根据提示重置开发者设备。
到这里,我们就成功的只做了自定义基座啦,可以很好的在真机上打包调试啦。不断更新中~~~~~~
要努力学习上进的芋头呀!!