uniapp 调用安卓原生插件 安卓原生又调用了第三方sdk(第三方原生开发的aar怎么转成uni可以使用的aar)

最近在做一个关于uniapp的项目,遇到一个需求。有一个原生开发的aar的原生插件,不是插件市场的,开发说明原生开发的插件不可以直接提供给uniapp使用,需要按照uniapp原生插件开发文档重新制作成uniapp可以使用的aar。研究两天才捣鼓出来。整理一下步骤。
这边是将一个第三方的aar怎么变的在uniapp可以使用,所以不需要有很好的Android功底。

1.需要一个Android studio 我用的4.1.1版本
2.下载官方的SDK(注意hbuliderx的版本要和SDK版本匹配)
官方链接
在这里插入图片描述
3.下载完成后解压文件夹,用Android studio 打开Hello-AS
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.新建一个Module(Android Library)
在这里插入图片描述
在这里插入图片描述
然后配置好Module名称,包名,安卓SDK版本等,如下(注意红框MiniMum SDK最好不要大于19,不然uniapp打包的时候可能出现错误):
在这里插入图片描述

5.将app目录下libs文件下的文件拷贝到新建的module的libs文件夹下(humesdk-1.0.0)是我需要用的第三方aar
在这里插入图片描述6.build.gradle文件,添加如下所示代码
在这里插入图片描述
class 是新建module的路径
在这里插入图片描述
在这里插入图片描述
7.编写自己的插件(必须继承UniModule,方法必须添加 @UniJSMethod(uiThread = true)其他的是我调用第三方插件的方法 callback.invoke,是在向js的回调函数,返回值,详情见官方文档)
在这里插入图片描述
8.生成uniapp可使用的aar(原生插件逻辑写完点击开发工具右侧的gradle,找到对应Module,双击如下所示跑完之后则可生成aar包待用。)
在这里插入图片描述
9.找到生成的aar(拷贝aar文件到uniapp你的项目下)
**加粗样式**在这里插入图片描述
10(导入到uniapp项目,红色模块名称保持一致,黄色部分注意,如果你引用了第三方sdk一定要也要导入进来,不然可能执行的第三模块的方法不生效,class是新建module的路径,class最后的 UpdateModule是业务逻辑文件).
在这里插入图片描述
11.最后选择本地插件,然后自定义基座云打包调试
在这里插入图片描述
在这里插入图片描述

  • 13
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
uni-app 中集成 Android 原生插件需要进行如下步骤: 1. 在项目根目录下创建 `nativeplugins` 目录,用于存放 Android 原生插件。 2. 在 `nativeplugins` 目录中创建插件Android Studio 项目,例如插件名为 `myplugin`,则创建路径为 `nativeplugins/myplugin/android/`。 3. 在 `myplugin` 的 Android 项目中,将插件打包成 `.aar` 格式的库文件。 4. 将 `.aar` 格式的库文件放到 `myplugin` 的 `libs` 目录下。 5. 在 `myplugin` 的 `build.gradle` 文件中添加如下配置: ```gradle repositories { flatDir { dirs 'libs' } } android { ... defaultConfig { ... ndk { abiFilters "armeabi-v7a", "x86" } } ... buildTypes { release { ... proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation(name:'myplugin', ext:'aar') ... } ``` 在上述配置中,`repositories` 中的 `flatDir` 配置用于让 Gradle 知道 `.aar` 文件的位置,`implementation` 配置用于将插件库文件添加到项目中。 6. 在 uni-app 项目的 `manifest.json` 文件中,将插件添加到 `app-plus -> android -> plugins` 中。例如: ```json { "app-plus": { "android": { "plugins": { "myplugin": { "version": "1.0.0", "provider": "com.example.myplugin.MyPluginProvider" } } } } } ``` 在上述配置中,`version` 用于指定插件版本号,`provider` 用于指定插件的提供者类路径。 7. 在 uni-app 项目的 `pages.json` 文件中,将插件的页面添加到 `pages` 中。例如: ```json { "pages": [ { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" } }, { "path": "pages/myplugin/myplugin", "style": { "navigationBarTitleText": "插件页面" } } ] } ``` 在上述配置中,`path` 用于指定插件页面的路径。 8. 在 uni-app 项目中,通过 `uni.requireNativePlugin('myplugin')` 来使用插件功能。 以上是集成 Android 原生插件uni-app 的步骤和注意事项,希望对你有帮助。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值