我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Uniapp——使用安卓原生插件

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

uniapp 原生安卓开发插件(module),以及android环境本地调试(一)

uniapp 原生安卓开发插件(module),以及android环境本地调试 1、开发前景 由于uniapp 框架的局限先,有很多功能不能如原生android开发使用顺畅,因此,需要使用插件进行辅助,再由uniapp引入插件,使得功能完善
2023-08-18

VsCode插件自动生成注释插件koroFileHeader使用教程

这篇文章主要介绍了VsCode插件自动生成注释插件koroFileHeader使用教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-01-17

IDEA插件之Mybatis log插件安装及使用

一 前言分析 我们在idea控制台看见的sql日志通常是这样的,实际开发调试中我们想把完的sql复制出来,到数据库中执行分析数据情况。但是如果我们的sql有动态传参控制台输出的sq入参会用“?”代替入参,不能直接使用。 SqlSession
2023-08-16

Vuesnippets插件原理与使用介绍

这篇文章主要介绍了Vuesnippets插件原理与使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

MyBatis分页插件PageHelper的使用与原理

提到插件相信大家都知道,插件的存在主要是用来改变或者增强原有的功能,MyBatis中也一样,下面这篇文章主要给大家介绍了关于Mybatis第三方PageHelper分页插件的使用与原理,需要的朋友可以参考下
2023-02-24

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录