Uniapp——使用安卓原生插件

Uniapp——使用安卓原生插件

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
  1. 可删除提供的demo文件

Uniapp——使用安卓原生插件

删除build.gradle插件

Uniapp——使用安卓原生插件

删除settings.gradle 设置

Uniapp——使用安卓原生插件

刷新一下项目

Uniapp——使用安卓原生插件

加载一下依赖

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件
  1. 修改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" />

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

  1. 新建UniTestModule.java

Uniapp——使用安卓原生插件
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);
        }
    }
}
  1. 编译项目、生成arr包

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
  1. 把编译后的arr文件放进android文件夹中、并配置package.json文件

Uniapp——使用安卓原生插件

package.json 文件

{
    "name": "test-module",
    "id": "test-module",
    "version": "1.0.0",
    "description": "内置插件",
    "_dp_type": "nativeplugin",
    "_dp_nativeplugin": {
        "android": {
            "plugins": [{
                "type": "module",
                "name": "test-module",
                "class": "com.example.test_module.UniTestModule"
            }],
            "integrateType": "aar",
            "abis": []
        }
    }
}

  1. 页面引入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>

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

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

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

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

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

Uniapp——使用安卓原生插件

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

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

Uniapp——使用安卓原生插件

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

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

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件

(10)修改dcloud_uniplugins.json

Uniapp——使用安卓原生插件
{
  "nativePlugins": [
    {
      "plugins": [
        {
          "type": "module",
          "name": "test-module",
          "class": "com.example.test_module.UniTestModule"
        }
      ]
    }
  ]
}

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

Uniapp——使用安卓原生插件
重新加载一下依赖

; (12)运行项目

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件
  1. Uniapp真机调试

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

Uniapp——使用安卓原生插件

; (2)勾选插件,确定

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件
Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

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

Uniapp——使用安卓原生插件

Original: https://blog.csdn.net/qq812457115/article/details/127808751
Author: 一只漫步前行的羊
Title: Uniapp——使用安卓原生插件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/655834/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球