栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

uniapp android studio开发原生插件

Java 更新时间:发布时间: 百科书网 趣学号
一、准备工作

1.Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区

2.HBuilderX

3.App离线SDK下载:最新android平台SDK下载

4.JAVA环境 jdk Java Downloads | Oracle 打开官网下载jdk  

 下载后可自行修改安装路径,但要记住路径方便后期配置环境。

5.配置jdk环境变量,右击电脑属性找到高级系统设置,在系统变量中添加JAVA_HOME=安装jdk的安装目录(例:D:Program FilesJavajdk-18.0.1.1),在path变量中添加 .;%JAVA_HOME%bin,新建classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar。配置完成后win+r打开cmd输入java -version 出现版本号说明环境变量配置成功。

二、配置项目

1.通过Dcloud官方文档下载离线SDK,然后找到项目中的plugin示例项目UniPlugin-Hello-AS,项目中已有示例module,方便依赖引用等。

2.项目打开后点击file-》new-》new module进入新建module界面

3.选择library输入module名和module包名,语言选择java,插件不支持Kotlin 

4.在module中的build.gradle添加如下依赖

    //必须添加的依赖
    compileOnly 'com.android.support:recyclerview-v7:28.0.0'
    compileOnly 'com.android.support:support-v4:28.0.0'
    compileOnly 'com.android.support:appcompat-v7:28.0.0'
    compileOnly 'com.alibaba:fastjson:1.1.46.android'

    compileOnly fileTree(include: ['uniapp-v8-release.aar'], dir: '../app/libs')

 5.在app的build.gradle中引用插件

 6.给项目配置appkey,如没有appkey请参考uniapp-android离线打包_qiuzh01的博客-CSDN博客android studio,uniapp,android本地打包,android离线打包,本地打包,离线打包,Hbuildhttps://blog.csdn.net/weixin_43858377/article/details/125006108如已有appkey请在app下的AndroidManifest.xml文件中配置appkey

 三、插件开发

1.new一个java class文件

2.将避免混淆代码写入到module中的consumer-rules.pro文件中

-keep public class * extends io.dcloud.feature.uniapp.common.UniModule{*;}

 3.给新建的插件文件写上逻辑

// 加法运算
@UniJSMethod(uiThread = false)
public void mathAdd(int a,int b, UniJSCallback callback) {
    callback.invoke(a + b);
}

// 原生toast提示
@UniJSMethod(uiThread = false)
public void showToast(String msg, UniJSCallback callback) {
    Toast.makeText(mWXSDKInstance.getContext(),msg,Toast.LENGTH_SHORT).show();
    callback.invoke(msg);
}

注: 扩展方法必须加上@UniJSMethod (uiThread = false or true) 注解。UniApp 会根据注解来判断当前方法是否要运行在 UI 线程,和当前方法是否是扩展方法。

UniApp是根据反射来进行调用 Module 扩展方法,所以Module中的扩展方法必须是 public 类型。

4.确认在app中dcloud_uniplugins.json文件注册插件

 这里的包名指的是插件的包名,可以在自己上边创建的java文件中找package。

5.打插件包。新版android studio默认是关闭Gradle Task任务自动化打包的 ,解决方案点击file->setting->Experimental面板中Do not build Gradle task list during Gradle sync选项勾选去掉就行了

 然后右上角点击gradle,打开任务列表面板,在任务other中双击assembleRelease就开始打包插件了。

打包的插件包路径在插件下build->outputs->arr->xxx.arr

三、在uniapp中使用插件

1.首先找到nativeplugins目录,没有则新建。在目录中创建我们的本地插件目录,命名规范可参考官方原生开发者支持

2.在插件目录下新建package.json来配置插件信息

3.在package同级创建一个android目录和ios目录来存放打包好的插件包,具体结构如下

 

 因为没有没有mac所以没有测试ios插件打包

4.将上边打的插件包放入android目录中,然后在页面中使用插件。

5.在某一个页面文件中引入插件uni.requireNativePlugin('插件id'),给引用赋值,现在我们就可以开始写入逻辑了。






6.配置好插件包后在manifest.json中使用插件 

 四、运行app

1.运行时如果真机安装失败(一般vivo、oppo手机出现)在gradle.properties文件中添加

android.injected.testOnly=false

2.真机运行前需要自定义app基座,不然我们运行是没有插件的。

 3.运行时一定要选择app基座

 4.运行到Android App基座,接下来就等待打包完成,就可以真机运行了

注:作者为小白一名,此文是本人在测试原生打包时实际过程,以及参考其他大佬文章。

另:此文章非商业用途,如有侵权请联系作者

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/957233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号