Uniapp使用大疆SDK打包离线原生插件二

上一篇讲了如何下载及配置原生插件,今天深入的了解下如何将java代码的SDK引入Uniapp

一、配置libs:

在Android开发中,libs目录通常用于存放项目所需的第三方库文件。

将sdk中的包lib.5plus.base-release.aar、android-gif-drawable-release@1.2.23.aar、uniapp-v8-release.aar和oaid_sdk_1.0.25.aar拷贝到创建的空项目中的libs目录下;

注意:如果需要集成的第三方sdk存在so库文件,只需添加armeabi-v7a、arm64-v8a、x86三个文件夹即可,否则会导致在部分手机上无法运行。

二、配置build.gradle

build.gradle文件是Android项目的构建配置文件,用于定义项目的构建规则和依赖项。以下是详细的配置说明:

复制代码
apply plugin: 'com.android.application'



android {

  compileSdkVersion 29

  defaultConfig {

      applicationId "com.example.myapplication"

      minSdkVersion 21

      targetSdkVersion 28

      versionCode 1

      versionName "1.0"

      multiDexEnabled true

      ndk {

          abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'

      }

  }

  buildTypes {

      release {

          minifyEnabled false

          proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

      }

  }

}



dependencies {

  implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])

  implementation 'androidx.appcompat:appcompat:1.0.0'

  implementation 'androidx.legacy:legacy-support-v4:1.0.0'

  implementation 'com.alibaba:fastjson:1.1.46.android'

}

三、申请appkey

appkey是应用在DCloud平台上的唯一标识符,用于验证应用的合法性。以下是申请appkey的步骤:

  1. 访问官方链接:打开DCloud官方文档
  2. 按照指南申请:根据文档中的步骤,填写相关信息并提交申请。
  3. 获取appkey:申请成功后,系统会生成一个唯一的appkey,请妥善保存。
    *申请appkey 参考官方链接申请 | uni小程序SDK

四、配置Androidmanifest.xml中的appkey:

AndroidManifest.xml是Android应用的配置文件,用于声明应用的基本信息和组件。
application节点下的meta-data节点属性

android:name="dcloud_appkey"不改

android:value="替换为自己申请的Appkey" 修改为自己申请的appkey

<application

...>

<meta-data

android:name="dcloud_appkey"

android:value="替换为自己申请的Appkey" />

五、注册插件

在UniApp中,插件需要通过实现UniAppHookProxy接口来注册。

创建一个实体类并实现UniAppHookProxy接口,在onCreate函数中添加组件注册相关参数 或 填写插件需要在启动时初始化的逻辑。

public class RichAlert_AppProxy implements UniAppHookProxy {

@Override

public void onCreate(Application application) {

//当前uni应用进程回调 仅触发一次 多进程不会触发

//可通过UniSDKEngine注册UniModule或者UniComponent

}

@Override

public void onSubProcessCreate(Application application) {

//其他子进程初始化回调 可用于初始化需要子进程初始化需要的逻辑

}

}

在hooksClass节点添加你创建实现UniAppHookProxy接口的实体类完整名称填入其中即可

六、调试原生插件:

使用hx(hbuiderx)创建uniapp项目

创建vue页面或者nvue,在js中第一行获取插件对象var testModule = uni.requireNativePlugin("TestModule")

然后使用插件对象就可以调用到插件中的方法

在hx上的菜单上:发行-原生app-本地打包-生成本地app打包资源;

打包完成会在控制台上输出打包信息,我们关注的是打包路径;

打包资源放入创建的android空项目对应的目录中:

android空项目的资源路径:app/src/main/assets/apps/appid/www,如果没有某个目录自己手动建立即可;

appid获取方式:

在uniapp项目中打开文件manifest.json中就可以查看到。

拷贝sdk中提供的data文件夹:

路径位于Android-SDK@3.2.3.81011_20210826\SDK\assets

修改拷贝的data文件夹下的dcloud_control.xml:

appid替换为自己的appid

相关推荐
游戏开发爱好者839 分钟前
Charles 抓不到包怎么办?从 HTTPS 代理排错到底层数据流补抓的完整解决方案
网络协议·http·ios·小程序·https·uni-app·iphone
骨子里的偏爱7 小时前
uniapp实现数据存储到本地文件,除非卸载app,否则数据一直存在
javascript·chrome·uni-app
_Jyann_10 小时前
uniapp两种方式实现自定义tabbar
前端·javascript·uni-app
郑州光合科技余经理10 小时前
PHP技术栈:上门系统海外版开发与源码解析
java·开发语言·javascript·git·uni-app·php·uniapp
2501_9159214310 小时前
Fiddler抓包工具详解,HTTPHTTPS调试、代理配置与接口分析实战教程
服务器·ios·小程序·fiddler·uni-app·php·webview
undsky10 小时前
【RuoYi-SpringBoot3-UniApp】:一套代码,多端运行的移动端开发方案
前端·uni-app
diygwcom11 小时前
UniApp 鸿蒙NEXT蓝牙连接及数据写入
华为·uni-app·harmonyos
00后程序员张11 小时前
数据流抓包实战指南,TCPUDP 流量分析、HTTPS 解密与多工具协同方案
网络协议·http·ios·小程序·https·uni-app·iphone
2501_9159214311 小时前
iOS 性能分析工具全景解析,构建从底层诊断到真机监控的多层级性能分析体系
android·ios·小程序·https·uni-app·iphone·webview
2501_9159090612 小时前
如何防止 IPA 被反编译,从攻防视角构建一套真正有效的 iOS 成品保护体系
android·macos·ios·小程序·uni-app·cocoa·iphone