文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Uniapp——使用安卓原生插件

2023-10-07 07:14

关注

Uniapp——使用安卓原生插件

1. 开发环境

2. 解压SDK压缩包

在这里插入图片描述

3. 导入UniPlugin-Hello-AS项目、并切换为project显示

在这里插入图片描述

4. 可删除提供的demo文件

在这里插入图片描述

删除build.gradle插件

在这里插入图片描述

删除settings.gradle 设置

在这里插入图片描述

刷新一下项目

在这里插入图片描述

加载一下依赖

在这里插入图片描述

5. 新建module、并在build.gradle文件添加组件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6. 修改test-module项目文件

test-module – build.gradle

apply plugin: 'com.android.library'android {    compileSdkVersion 29    defaultConfig {        minSdkVersion 16        targetSdkVersion 28        versionCode 1        versionName "1.0"        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }}repositories {    flatDir {        dirs 'libs'    }}dependencies {    compileOnly fileTree(dir: 'libs', include: ['*.jar'])    compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar'])    compileOnly 'androidx.recyclerview:recyclerview:1.0.0'    compileOnly 'androidx.legacy:legacy-support-v4:1.0.0'    compileOnly 'androidx.appcompat:appcompat:1.0.0'    implementation 'com.alibaba:fastjson:1.1.46.android'    implementation 'com.facebook.fresco:fresco:1.13.0'    }

test-module – AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.test_module" />

修改完后再重写加载一下依赖

7. 新建UniTestModule.java

在这里插入图片描述

public class UniTestModule extends UniModule {        @UniJSMethod(uiThread = false)    public void testAsyncFunc(JSONObject options, UniJSCallback callback) {        if(callback != null) {            JSONObject data = new JSONObject();            data.put("code", "success");            callback.invoke(data);        }    }}

8. 编译项目、生成arr包

在这里插入图片描述
在这里插入图片描述

8. 新建uniapp项目、并在目录中增加新建插件目录

在这里插入图片描述

9. 把编译后的arr文件放进android文件夹中、并配置package.json文件

在这里插入图片描述

package.json 文件

{"name": "test-module","id": "test-module","version": "1.0.0","description": "内置插件","_dp_type": "nativeplugin","_dp_nativeplugin": {"android": {"plugins": [{"type": "module", //module 或 component类型"name": "test-module", //注册名称 和后续uniapp项目模块导入名字一致"class": "com.example.test_module.UniTestModule" //原生项目实体类完整名称}],"integrateType": "aar","abis": []}}}

10. 页面引入test-module模块并使用

<template><view><button @click="handleTest">测试按钮</button><view>返回信息:{{result}}</view></view></template><script>const testModule = uni.requireNativePlugin('test-module')export default {data() {return {result:""}},onLoad() {},methods: {handleTest(){const param = {name:"张三"}testModule.testAsyncFunc(param,(res)=>{this.result = JSON.stringify(res)})}}}</script>

11. 使用安卓原生调试项目

(1) 生成本地打包APP资源

在这里插入图片描述

(2)生成后点击文件目录、复制__UNI__*****文件夹

在这里插入图片描述
在这里插入图片描述

(3)复制__UNI__*****文件夹后,放入安卓APP项目apps目录中

在这里插入图片描述

(4)登录DCloud开发者中心、在我的应用找到新建的项目、或创建一个应用

DCloud开发者中心:https://dev.dcloud.net.cn/

在这里插入图片描述

(5)配置离线打包Key管理

android 包名 与 ios 一致为:com.android.UniPlugin

在这里插入图片描述

(6)Android证书签名SHA1生成并填入

生成步骤教程:https://blog.csdn.net/qq812457115/article/details/126011332

在这里插入图片描述

(7)把生成的文件放入安卓项目中,并配置build.gradle–signingConfigs–config

在这里插入图片描述

(8)保存后复制安卓App Key 替换 项目AndroidManifest.xml中dcloud_appkey

在这里插入图片描述
在这里插入图片描述

(9)修改dcloud_control.xml文件中的appid

在这里插入图片描述
在这里插入图片描述

(10)修改dcloud_uniplugins.json

在这里插入图片描述

{  "nativePlugins": [    {      "plugins": [        {          "type": "module",          "name": "test-module",          "class": "com.example.test_module.UniTestModule"        }      ]    }  ]}

(11)build.gradle文件中添加test-module组件

在这里插入图片描述
重新加载一下依赖

(12)运行项目

在这里插入图片描述
在这里插入图片描述

12. Uniapp真机调试

(1)配置本地插件,点击:manifest.json文件 – App原生插件配置 – 选择本地插件

在这里插入图片描述

(2)勾选插件,确定

在这里插入图片描述

(3)打自定义调试基座,点击:发行 – 原生APP-云打包

在这里插入图片描述

(4)填写证书信息、勾选打自定义调试基座、打包

在这里插入图片描述
在这里插入图片描述

(5)打包成功后、连接安卓手机、点击:运行 – 运行到手机或模拟器 – 运行到Android App 基座

在这里插入图片描述

(6)勾选运行自定义基座 – 运行

在这里插入图片描述

来源地址:https://blog.csdn.net/qq812457115/article/details/127808751

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯