开发uniapp原生插件aar踩坑

939 阅读2分钟

本文主要讲一下aar文件依赖其他aar包的坑

基本流程参照大佬的博客原生插件开发 开发

问题简介

  1. 当我们uniapp使用一个原生插件的时候,这个插件就是一个aar包,这个aar包就是我们自定义的模块所打包出来的;但是如果我们自己的模块依赖与其他的三方aar包时就出问题了。
  2. 因为在android studio里面打包aar的时候是不会包含其他依赖的aar的,导致你打包出来后丢失依赖文件
  3. 这个问题在你的模块开发环境真机调试的话你是看不出来问题的,只有你将模块打包后才会发现无法运行

问题解决

  1. 在我遇到这个问题的时候查遍网上很多教程,但是都没用
  2. 换个思路就好解决了,我们不把三方的aar文件打包进我们的模块,而是将依赖的aar文件放进uniapp根目录->nativeplugins->你的插件文件夹->android 下面,也就是与你的原生插件同级别
  3. 再次提交打包基座 就没问题了

本地调试技巧

注意:我这里是一个全新的android studio项目调试,不是你开发aar的android studio项目 这里不包含你开发插件的所有依赖

  1. 遇到自己的aar插件出现问题如何去查看报错呢?基座打包次数是有限的 提交云打包肯定很麻烦
  2. 这里我们使用android studio来调试,具体步骤如下
  • 先按照这个步骤,将你的证书配置啥的都弄好原生插件开发
  • 然后将你自己的原生插件拿进来,
  • 并且把你aar所依赖的aar也放进来,这一步就如同上面 uniapp的aar依赖放进同级目录操作原理一样

image.png

  • 注册你的插件,这里的信息与uniapp原生插件的package.json配置一致

image.png

  • 然后你就可以直接运行了
  • 调试信息看这个小猫咪选项就行,如果aar里面报错,可以直接看到

image.png