H5项目如何调用aar、jar包资源(HBuilder离线打包实践)

我司项目提供Android的SDK(jar,aar),而客户使用HBuilder开发的H5项目,为了能让客户顺利集成我司业务能力,没办法要折腾Demo了,没有经验怎么办?

前面介绍过HBuilder的使用,官方也有明确HBuilder要调用jar包需要使用AndroidStudio离线打包的方式;所以,本项目也不例外,那就开始准备吧!

一、资源下载

从这里下载H5 SDK包,地址:http://download.dcloud.net.cn/[email protected]_20191115.zip

关于SDK导入方案详细如下:https://ask.dcloud.net.cn/article/103

下载后的资源如下图所示:

H5项目如何调用aar、jar包资源(HBuilder离线打包实践)

二、工程导入

如上图中的HBuilder-Hello是HBuilderX提供的标准SDK可以直接导入AndroidStudio中,如下图操作:

选择项目如下图:

H5项目如何调用aar、jar包资源(HBuilder离线打包实践)

打开后如下图:

H5项目如何调用aar、jar包资源(HBuilder离线打包实践)

三、修改指导

Html源码位于HBuilderDemo\app\src\main\assets\apps\HelloH5\www目录下,JS和Html等资在其下安装调用,如下图:

H5项目如何调用aar、jar包资源(HBuilder离线打包实践)

 

四、调用方法

如前面《HBuilder中用JS发送Android广播》可用Native.js来实现调用,调用方法详细参考官方文档介绍。如下是我司项目的部分代码供参考:

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
   <title></title>
   <script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady() {
   console.log("plusready");
}
// 测试
function login(){ // 执行登陆操作
   var main = plus.android.runtimeMainActivity();
    var LivemsImp = plus.android.importClass("api.fs.pocsdk_fs.LivemsImp");
    LivemsImp.getLivemsInstance(main.getApplicationContext()).attach();
}

function video(){ // 启动视频直播
   var main = plus.android.runtimeMainActivity();
    var LivemsImp = plus.android.importClass("api.fs.pocsdk_fs.LivemsImp");
    LivemsImp.getLivemsInstance(main.this).startVideo();
}
    </script>
</head>
<body>
<button onclick="login()">Login</button>
<button onclick="video()">Video</button>
</body>
</html>