从小白的角度浅谈Hbuilder项目引入Android studio,实现混合开发

【HBuilder+Andriod Studio】打包成APK HBuilder+Andriod Studio 打包成 apk,安装到Andriod端即可使用 阅读详情

前言:最近公司要在H5项目中调用七牛云SDK,但是根据H5项目人员了解到好像用H5来做视频聊天不是很好友,于是经理决定在原生上面去实现视频聊天这块功能。说实话之前一直没接触过混合开发,在此之前在网上查阅了一些资料,看了下大致流程及H5与原生交互。总体来说难度不是很大,当然对于我这种第一次接触的小白也是一种挑战,于是乎在这里记录下大致流程:

1.H5打包资源文件

  •   在H5项目中找到manifest.json配置文件,在对应的基础配置里面有个AppID,这个Id非常重要。后面引入到android  studio 中要用到
  • 注册账号:H5打包貌似都要先去Dcloud官网注册一个账号 DAccount Service
  • 最后一步:打包资源文件,打包资源文件,打包资源文件切记是打包资源文件然后选择生成本地打包app资源

2.将H5项目引入到android  studio 

  •     下载5+sdk:开发环境 | uni小程序SDK 下载完成后将这三个包添加到android  studio  的libs目录下。
  •   android  studio中配置builde.gradle:
    implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'])
    implementation 'com.github.bumptech.glide:glide:4.11.0' // 基座依赖
  • 新建assets目录:assets目录与res,java同级,然后在assets目录下新建apps和data两个文件(如果有疑问就参考上面的链接步骤来)在apps文件下放入H5打包好的资源文件。然后在data文件下放入这个三个xml文件,其中dcloud_control中这个appid请改成H5项目中的AppID.到此assets目录下的结构大致如此:
  • 配置AndroidManifest文件:首先在application节点下面添加两个activity
    <activity
        android:name="io.dcloud.PandoraEntry"
        android:configChanges="orientation|keyboardHidden|keyboard|navigation"
        android:hardwareAccelerated="true"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="user"
        android:theme="@style/TranslucentTheme"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="io.dcloud.PandoraEntryActivity"
        android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"
        android:hardwareAccelerated="true"
        android:launchMode="singleTask"
        android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
        android:screenOrientation="user"
        android:theme="@style/DCloudTheme"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
    
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="h56131bcf" />
        </intent-filter>
    </activity>                          这两个activity是固定的,不用修改。然后修改下application中的应用图标以及应用名称。(aplication中启动activity一定要与上面一致)
  • 运行app,基本上跟H5差不多效果。最后:如果我们需要自定义application请一定继承:
    DCloudApplication,创建android原生项目请一定创建java。因为5+sdk目前不支持kotlin项目.
    

3.H5与android页面跳转以及传参

  •      这里就说下H5跳转到android原生页面及传参: 

//获取宿主上下文

var main = plus.android.runtimeMainActivity();

//通过反射获取Android的Intent对象

var Intent = plus.android.importClass("android.content.Intent");

//通过宿主上下文创建

intent var intent = new Intent(main.getIntent());

//设置要开启的Activity包类路径

intent.setClassName(main, "com.example.yidoctor.QNViodeActivity");

//开启新的任务栈 (跨进程)

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

//向原生界面传值操作

intent.putExtra("topicId","value");

intent.putExtra("patientId","value");

intent.putExtra("doctorId","value");

intent.putExtra("roomtoken","value");

//开启新的界面

main.startActivity(intent);

最后安装APK记得加上

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /

权限

如果加了混淆运行的时候提示那么在混淆文件中加上

-keep public class * extends io.dcloud.common.DHInterface.BaseFeature
-keep public class * implements io.dcloud.common.DHInterface.IFeature

本文章讲解的是h5+sdk这种方式集成到android studio项目中,在官网文档中这种方式是不支持开启混淆的,因此如果发现按照上面的方式开启混淆后还是有各种问题的可以放弃混淆了。另外在html中跳转到原生页面的代码中intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);开启新的任务栈这个是必不可少的不然很可能导致页面不跳转。

总结:到此为止H5项目引入android原生以及简单交互就差不多了.如果你还有其他需求可自行参考其他资料。本人也是第一次接触混合开发,如果文章中有不对或者不全的地方欢迎大家指出,如果文章有帮助到你,请动动你的小手指点个赞支持下.蟹蟹!!!

更新时间:2023-11-27

【uni-app】【Android studio】手把手教你运行uniapp项目到Android App 这个如果只是为了验证apk效果,可以先继续打包,但是如果要上架国内应用市场,得去提供的(链接)[https://uniapp.dcloud.net.cn/tutorial/app-privacy-android.html#]里将相关的隐私申明等配置好。微信开放平台填写的签名,不是Dcloud应用管理里面的AppKey,需要填写MD5签名,而且不能包含冒号。打包好了之后会有提示,把apk文件传到手机上运行就能看效果了。这里的云端证书就是之前在Dcloud生成过的。填写的appid是正确的,注意这个和。 阅读详情

相关推荐

告别云端依赖:手把手教你用Android Studio离线打包Uniapp APK(HBuilder X 4.66 + SDK)

本文详细介绍了如何使用Android Studio实现Uniapp的离线打包APK,从环境配置到最终生成,构建自主可控的本地化构建流水线。重点解析了HBuilder X 4.66与Android Studio的版本匹配、离线SDK获取、核心配置文件修改及证书签名等关键步骤,帮助开发者摆脱云端依赖,提升安全性和定制灵活性。

weixin_30485379的博客 459

AndroidStudio打包HBuilderX的H5+项目为安卓App【一次过,无任何异常报错】

(2)本地电脑务必有JDK1.8以上且配备好环境变量【用于生成和查看证书】,有一个容易犯错误的点,就是在DCloud开发者中心生成证书下载到本地使用,那是不行的,我爬了两天这个坑,安装JDK后迎刃而解!要注意的是,你在输入密码的时候光标不会有移动的变化,但是你的在输入状态的,不要管他,输入完毕按下回车,这里我以密码为123456示例。(3)项目中有两个容易混淆的build.gradle文件,要注意我们修改的是sampleDemo文件夹下的那个,值得注意的是,此时我的APP有。复制到步骤4刚清空的文件夹。

冰凌的博客 4379

HBuilderX彻底卸载指南:深度清理残留文件与配置,解决编译慢、内存溢出问题

在软件开发中,集成开发环境(IDE)的安装与卸载是开发者日常面临的基础操作。其原理在于,现代IDE不仅安装主程序,还会在系统各处创建配置文件、缓存数据和环境依赖。这些残留若清理不彻底,会导致新旧版本冲突、性能下降和环境异常,严重影响开发效率。从技术价值看,一次彻底的卸载能解决插件冲突、差量编译缓慢、内存溢出(heap out of memory)等常见顽疾,为安装新版或切换版本提供纯净起点。尤其在处理类似“adb: failed to install”的环境冲突时,深度清理往往是最高效的排查手段。本文聚焦于

weixin_33895516的博客 323

利用Hbuilder + Android Studio 制作安卓APP

制作过程 Hbuilder部分 首先第一步在Hbuilder中创建uni-app项目,由于我是第一次尝试,因此直接借用了原来的login代码模板。如图所示: 创建好了之后,想了解的可以看代码,不想了解的直接本地打包。当然,本地打包直接我也遇到了一些问题,这些问题无非就是因为缺少插件而无法编译下去,此时,只需要点击工具——>插件安装,在里面寻找需要的插件安装即可。除此之外,还需要点击...

星星点灯的博客 8779

hbuilder x怎么使用安卓ios模拟?必须使用android基座吗?用微信开发工具页不行??

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 612

h5app:基于5 + App,mui和HBuilder的h5应用

h5app 基于5 + App,mui和HBuilder的h5应用

鸿蒙系统中app应用开发,鸿蒙系统APP应用开发初尝试——Hello World!

鸿蒙系统APP应用开发初尝试——Hello World!鸿蒙系统APP应用开发初尝试——Hello World!鸿蒙系统APP应用开发初尝试前言环境搭建创建我们的第一个鸿蒙应用Hello world!JAVA版我们来看看JAVA应用的目录结构再看看MainAbilitySlice.java有些什么?我们来看看config.json是什么内容JAVA应用总结创建第一个JS的Hello world 鸿...

weixin_39628380的博客 862

Burp靶场实战:JWT签名绕过漏洞分析与利用

本文通过Burp Suite靶场实战,深入剖析了JWT签名绕过漏洞的多种攻击手法,包括签名未验证、alg:none攻击、弱密钥爆破、JWK/JKU头注入、KID路径遍历及算法混淆攻击。文章详细演示了利用过程,并提供了关键的防御指南,帮助开发和安全人员加固JWT实现,确保认证安全。

weixin_29325515的博客 593

SpringBoot3+Vue3+uni-app漫画阅读平台全栈开发实践

前后端分离架构是现代Web应用开发的核心模式,通过将前端展示与后端业务逻辑解耦,实现了开发效率和应用性能的双重提升。其技术原理基于RESTful API进行数据交互,前端负责用户界面渲染,后端专注业务处理和数据持久化。这种架构的技术价值在于支持多端适配、便于团队协作和系统扩展。在漫画阅读平台等内容管理场景中,前后端分离能够有效支撑Web管理端和移动端的多平台需求。SpringBoot3作为新一代Java框架,结合Vue3的响应式特性和uni-app的跨端能力,为漫画阅读应用提供了完整解决方案。项目涵盖用户系

weixin_33895695的博客 450

Win7/Win10双系统兼容指南:Arduino IDE 1.8.19与2.3.2的安装避坑全攻略

本文详细解析了在Win7/Win10双系统环境下安装和配置Arduino IDE 1.8.19与2.3.2版本的完整指南,特别针对ESP32开发环境的深度配置和COM端口常见问题提供了实用解决方案。通过版本对比、安装优化和性能调优,帮助开发者高效搭建稳定的物联网开发环境。

weixin_30500105的博客 186

【MATLAB强化学习工具箱】学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent

Simulink中便于搭建各类动力学与控制模型,通过将原有的控制器替换为AI控制器,可以方便使用已有模型,提供增量效果。 本节的重点是如何引入Simulink模型作为env,其他的内容在之前的文章中已有说明。 以水箱模型watertank为例,如下图所示: 采用PI控制器,控制效果如下所示: 将此PI控制器替换为神经网络控制器后,系统架构如下图所示: 具体替换策略如下所示: (1)删去PID控制器; (2)增加RL Agent模块; (3)观测器模块: 观测向量为:,其中...

bear_miao的博客 1万+

hbuilder android studio,夜神模拟器 之 Android studio & Hbuilder

摘要:一、模拟器下载安装下载:https://www.yeshen.com/ ;安装:直接下一步 ;连接:进入到你安装的bin目录下,在cmd中输入 nox_ad...一、模拟器下载安装安装:直接下一步 ;连接:进入到你安装的bin目录下,在cmd中输入nox_adb.exe connect 127.0.0.1:62001会有一个成功连接的提示二、Android studio连接成功,重启A...

weixin_36378951的博客 1144

QNX Neutrino 进程间通信编程之Message-passing/Pulse

Interprocess Communication(IPC,进程间通信)在QNX Neutrino从一个嵌入式实时系统向一个全面的POSIX系统转变起着至关重要的作用。IPC是将在内核中提供各种服务的进程内聚在一起的粘合剂。在QNX中,消息传递是IPC的主要形式,也提供了其他的形式,除非有特殊的说明,否则这些形式也都是基于本地消息传递而实现的。本篇幅主要讲解Message-passing和Pulse。

zhuwade的博客 3533

Hbuild混合开发h5实用方法

【代码】Hbuild混合开发h5实用方法。

u014708123的博客 801

等保: Postgresql配置ssl链接

等保: postgresql配置ssl链接完整方案和避坑指南

weixin_43557605的博客 4381

C和C++Everything教程的简介

C和C++Everything教程的简介 C和C++Everything教程,该专栏目前已有8000博文,订阅该专栏相当于同时订阅以下所有收费专栏

希望我的博客,能帮上你解决学习中工作中所遇到的问题 4389

混合App开发,HBuilder开发移动App

使用HBuilder开发混合App: Hbuilder:是一个在线打包工具,不需要在本地配置开发环境;直接将做好的网站,通过一些简单的操作,就能在线打包为一个App; 混合APP开发常见技术:Html5+、ReactNative、Weex、Ionic;这里使用HTML5+ 开发混合APP,它是一个强大的产业联盟。下面是使用HTML5+结合HBuilder开发混合app的步骤: 1.打开HBuilder编辑器,找到:文件–>新建–>移动App点击,如图: 2.在弹出的配置中配置相关信息后点击完成

专研前端,探索后端 4983

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 358

Hbuilder项目引入AndroidStudio方法

第一步、在Hbuilder中先打包资源。点击菜单 发行—原生App-本地打包—生成本地App打包资源 第二步、在AndroidStudio项目,src/main/ 目录下新建assets目录,并且在assets目录下面新建apps目录和data目录,并且在apps目录下面新建以Hbuilder资源文件appid同名的目录,如H56753390,然后在H56753390目录下面新建www目录,再把生成的App打包资源文件复制到www目录。 第三步、在AndroidStudio配置文件AndroidManife

weixin_42544876的博客 4474

VOS中历史话单显示通话会话超时中断详解

假设一种场景:  主叫拨打被叫,主叫方异常离线,被叫方接听,被叫方发送200ok至VOS,VOS传送200ok给主叫,但是主叫方未给出正常ack回应,VOS重发几次后(根据SIP参数设定的重发机制),然后VOS服务器会中断话务,历史话单终止原因为会话超时。 参考呼叫分析信令如下图: ...

非著名运维的博客 5017

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HbuilderX+Android studio做原生安卓应用

自己做Android时的心得

星是河的眼的博客 2797

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第十章 kotlin与H5混合开发

第 文章目录第前言一、e1.演示4.片总结 前言 kotlin与gradle。 一、e 1.演示 工 4.片 首 总结 以上就是今天要讲的内容,本文仅仅简单介绍了kotlin的其他基础知识。下一章将介绍kotlin与gradle。 ...

u013324488的专栏 990

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

HBuilder 发行Android(apk包)全流程指南

小程序以其便捷性和轻量性受到越来越多开发者的青睐。HBuilder 作为一款强大的开发工具,为小程序开发提供了极大的便利。本文将详细介绍如何通过 HBuilder 完成小程序的开发与发行。pages目录:存放小程序的页面文件static目录:存放静态资源文件,如图片、样式等App.vue:小程序的全局配置文件main.js:小程序的入口文件:小程序的全局配置,包括应用名称、图标、权限等pages.json:小程序的页面路径、窗口样式等配置。

qq_70172010的博客 1657

android数据传递的代码,使用hbuilder如何和本地的android代码交互并进行数据来回传递...

我把android项目集成了hbuilder,用js直接能调用我android这边的方法了,但是怎么两边都不能传递参数呢?我参考的NJS完成的方法调用,但用里面的Attribute怎么不能互相传递参数呢?求教~//js与android交互方法function getInfo() {console.log("进入js---------调用android方法");var mainAct = plus....

weixin_32263265的博客 283

HBuilder快速搭建H5+应用

一、环境搭建 1.安装HBuilder HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 [1] HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。 它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。 利用HBuilder可以快速的搭建与H5+应用和原生APP进行交互 从官网下载...

AndCo的博客 2万+

Android studio + hbuilderx 本地打包

Android studio打包流程(不太全面)

xyyy_k的博客 2449
上一篇: 谨windowIsTranslucent慎使用
下一篇: 记一篇android加载so文件问题
ZyClient
博客等级 码龄10年 29粉丝 60原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值