前言
记录一次自己uni-app插件开发离线打包的辛酸过程,官方文档看起来很美妙,一套流程走下来发现:妈耶,这么多error,头皮发麻~~
入坑准备
- 下载uni官方离线sdk
如果你是第一次接触uni-app插件开发,为了避免陷入从入门到放弃的魔咒,建议下载官方demo,哎~对,就是它uni官方离线sdk, 没有百度会员的建议用和彩云,速度差的不是一星半点。 - 准备uni的appid
首先你需要注册一个uni的开发者账号,用Hbuilderx开发者工具,创建一个uni-app的工程,创建 完成后打开工程目录下的manifest.json文件,点击重新获取【如果已经有这个appid了,以上都可以不做】,记住这个APPID,很重要。 - 生成自己的appkey
解压第一步下载的demo,用Androidstudio打开项目,修改成自己的项目名,包名,记得app项目下的AndroidManifest.xml里的包名不会随着工具自动修改,手动改一下。
完事儿后,生成自己的keystore证书(这个没有Android开发基础的可以百度学习一下),然后通过Androidstudio的File-projectStructrue-moudle,设置下SigningConfigs的debug和release的证书路径。
然后在文件路径下找到生成的xxxx.jks,利用命令:
keytool -list -v -keystore sigin xxx.jks
将获取到的SHA1填写到Android证书签名SHA1中:
完善其他信息,然后点击保存就生成了appkey。
以上准备工作就算完成了。
动手开始
编写完成插件插件代码,调试的差不多,准备和uni-app项目联调的时候,在uni-app项目中引入插件,然后在uni代码中调用你编写好的插件,插件联调不能断点调试,建议使用uni的模态框弹出要插入断点的地方,这样可以节省不少调试的时间。
将uni项目发行-原生App-本地打包-生成本地打包APP资源
打包成功后将打包后的目录整个拷贝到Android项目的app-src-main-assets目录下,拷贝之前将该目录下的demo包删除掉。
检查下app-src-main-assets-data目录下的dcloud_control.xml 中的appid是不是你准备工作第二步生成的appid,不是的话更换。
检查下app-src-main-assets目录下的dcloud_uniplugins.json的plugins节点下有没有配置你的插件,type类型,还有class名一定要和你提供的插件类名保持一致。
按照官方教程,加上本文提到的几个容易忽略点应该能顺利开始一个插件的开发,祝您生活愉快!