Android原生插件开发-开发篇

原创文档:Android原生插件开发-开发篇 · 语雀

官方文档:原生开发者支持

创建module

  1. 点击File=>New=>New Module
  2. 选择Android Library,输入module 名称与包名 ;假设:uniplugin_test

Android原生插件开发-开发篇_第1张图片

3.初始化完成,就代表uniplugin_test 创建好了

Android原生插件开发-开发篇_第2张图片

创建类

开发目录主要在这个项目下:

Android原生插件开发-开发篇_第3张图片

  1. 右击com.wql.uniplugin_test目录=>New=>Java Class

Android原生插件开发-开发篇_第4张图片

Android原生插件开发-开发篇_第5张图片

2.配置module工程依赖:build.gradle

//导入aar需要的配置
repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    //必须添加的依赖
    compileOnly 'androidx.recyclerview:recyclerview:1.0.0'
    compileOnly 'androidx.legacy:legacy-support-v4:1.0.0'
    compileOnly 'androidx.appcompat:appcompat:1.0.0'
    compileOnly 'com.alibaba:fastjson:1.1.46.android'

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

3.配置App build.gradle,引入插件

Android原生插件开发-开发篇_第6张图片

4.写一个testAsyncFunc 方法

package com.wql.uniplugin_test;

import android.util.Log;

import com.alibaba.fastjson.JSONObject;

import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;

public class TestModule extends UniModule {
    //run ui thread
    @UniJSMethod(uiThread = true)
    public void testAsyncFunc(JSONObject options, UniJSCallback callback) {
        //前端请求testAsyncFunc方法,将返回 code:success
        if(callback != null) {
            JSONObject data = new JSONObject();
            data.put("code", "success");
            callback.invoke(data);
        }
    }
}

配置插件

Android原生插件开发-开发篇_第7张图片

Android原生插件开发-开发篇_第8张图片

Build

Android原生插件开发-开发篇_第9张图片

Android原生插件开发-开发篇_第10张图片

Android原生插件开发-开发篇_第11张图片

Android原生插件开发-开发篇_第12张图片

到此,插件包文件已经成功

注意】所有涉及到版本号的必须统一,否则build 会失败

Android原生插件开发-开发篇_第13张图片

插件调试

以本地注册插件为例

添加注册的Module

在 “app” Module根目录assets/dcloud_uniplugins.json文件。 在moudles节点下 添加你要注册的Module 或 Component

Android原生插件开发-开发篇_第14张图片

uni-app 项目中配置插件

新建nativePlugins

Android原生插件开发-开发篇_第15张图片

新建插件目录

Android原生插件开发-开发篇_第16张图片

引入插件arr文件

Android原生插件开发-开发篇_第17张图片

复制打包好的文件,到 uni-app 插件 android 目录

Android原生插件开发-开发篇_第18张图片

配置json文件

Android原生插件开发-开发篇_第19张图片

具体语法:原生开发者支持

App原生插件配置

Android原生插件开发-开发篇_第20张图片

Android原生插件开发-开发篇_第21张图片

Android原生插件开发-开发篇_第22张图片

然后重新生成android 自定义基座

Android原生插件开发-开发篇_第23张图片

发现打包报错,是由于版本问题,重新配置一下minSdkVersion

Android原生插件开发-开发篇_第24张图片

使用原生插件






Android原生插件开发-开发篇_第25张图片

我们现在android 项目中调试,先把原生插件测试好,在到uni-app项目中调试

复制此目录到

Android原生插件开发-开发篇_第26张图片

运行项目(使用模拟器)

Android原生插件开发-开发篇_第27张图片

Android原生插件开发-开发篇_第28张图片

Android原生插件开发-开发篇_第29张图片

说明插件已经ok啦

插件成功,就可以直接在uni-app 项目引入进行测试就好了,将不再赘述。

【注意】如果遇到缺少依赖等其他情况,可以Clean Project or Rebuild Project

查看日志

Android原生插件开发-开发篇_第30张图片

断点调试

Android原生插件开发-开发篇_第31张图片

源码地址

https://github.com/wuqiaoli/uni-app-test.git

你可能感兴趣的:(uni-app,android,java,开发语言)