当前位置: 首页 > news >正文

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

目录

1.查看HBuilderX的版本号

2.下载Dcloud上对应的安卓SDK

3.下载完安卓SDK后,我们解压它,注意不要放在任何有中文组成的文件夹中【是否有中文决定于你鼠标单击上面路径后,第一张图还没鼠标单击,第二张已鼠标单击,以操作后为准,操作后没有中文即可!!!】

4.打开如下文件夹,删除__UNI__A文件夹

5.HBuilderX生成一个MUI项目

6.生成本地app资源

7.复制步骤6的资源文件夹到步骤4的空文件夹里

8.Android Studio打开以下项目

9.写两个批处理文件

10.双击运行批处理文件create.bat生成证书

11. 运行批处理文件look.bat,查看证书的信息【我这里输入了刚刚设置的密码123456】,先别急着关这个窗口

12.浏览器进入Dcloud开发者中心【开发者中心】

13. 回到Android Studio

14.将我们之前用批处理文件create.bat生成的证书test.keystore放到simpleDemo文件夹下

15.需要到如图文件中修改appid到与资源包一致

16. 打包成Apk

17.打包完毕后,查看Apk位置

​编辑

18.由于我的电脑安装了夜神模拟器,可以直接点开此Apk运行,同学们有其他模拟器的应该也可以直接运行,如果没有的话可以传输到手机上试一试

​编辑

19.运行结果

20.注意事项


前提:AndroidStudio,HBuilderX,JDK>=1.8并配置好环境变量

1.查看HBuilderX的版本号

得到

2.下载Dcloud上对应的安卓SDK

 注意一定要和自己的HBuilderX对应好版本,下载时如果没有百度网盘会员请选用和彩云下载,那个更快一些。

3.下载完安卓SDK后,我们解压它,注意不要放在任何有中文组成的文件夹中【是否有中文决定于你鼠标单击上面路径后,第一张图还没鼠标单击,第二张已鼠标单击,以操作后为准,操作后没有中文即可!!!】

 

 4.打开如下文件夹,删除__UNI__A文件夹

 5.HBuilderX生成一个MUI项目

修改index.html为【就是往里边加一点东西而已】

6.生成本地app资源

7.复制步骤6的资源文件夹到步骤4的空文件夹里

资源文件

复制到步骤4刚清空的文件夹

8.Android Studio打开以下项目

 改视图为项目视图

 

展开文件夹simpleDemo

9.写两个批处理文件

批处理文件1【create.bat】用于生成证书

内容为

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

批处理文件2【look.bat】用于查看证书信息

内容为

keytool -list -v -keystore test.keystore
pause

10.双击运行批处理文件create.bat生成证书

要注意的是,你在输入密码的时候光标不会有移动的变化,但是你的在输入状态的,不要管他,输入完毕按下回车,这里我以密码为123456示例

 再次输入123456

不断回车,直到让你确认这段信息

y表示确认即可

 

再回车,证书生成完毕

11. 运行批处理文件look.bat,查看证书的信息【我这里输入了刚刚设置的密码123456】,先别急着关这个窗口

12.浏览器进入Dcloud开发者中心【开发者中心】

进入我们本次要打包的应用,点击各平台中的新增

 

画圈部分填入我们运行批处理文件look.bat的内容,包名暂且跟我写成com.android.bl吧

编辑后

提交即可

创建离线包Key

查看一下

值得注意的是,此时我的APP有

包名:com.android.bl 

AppKey:07f06d09fca01055adbe2080efa07ac0

AppId:H5B5700B6

13. 回到Android Studio

将图中包名改成我们的App包名

改前

改后

将图中AppKey改成我们的AppKey

改前

改后

将图中applicationId改成我的App包名

改前

改后

14.将我们之前用批处理文件create.bat生成的证书test.keystore放到simpleDemo文件夹下

修改图中证书配置

改前

改后,还是根据之前批处理文件look.bat 的展示结果来改【keyAlias是别名的意思】

15.需要到如图文件中修改appid到与资源包一致

改前

改后

16. 打包成Apk

17.打包完毕后,查看Apk位置

18.由于我的电脑安装了夜神模拟器,可以直接点开此Apk运行,同学们有其他模拟器的应该也可以直接运行,如果没有的话可以传输到手机上试一试

19.运行结果

皇天不负有心人,经过一天的摸爬滚打加上阅读众位大佬的技术博客,终于成功了,作此笔录,与各位同学共勉。 

20.注意事项

(1)在DCloud官网下载的安卓SDK务必与HBuilderX匹配

(2)本地电脑务必有JDK1.8以上且配备好环境变量【用于生成和查看证书】,有一个容易犯错误的点,就是在DCloud开发者中心生成证书下载到本地使用,那是不行的,我爬了两天这个坑,安装JDK后迎刃而解!!!

(3)项目中有两个容易混淆的build.gradle文件,要注意我们修改的是sampleDemo文件夹下的那个,而不是跟他同级的

(4)QQ1735940176,WX:17307404329,按照步骤一条一条下来还不行,请加联系方式骂我。

相关文章:

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

目录 1.查看HBuilderX的版本号 2.下载Dcloud上对应的安卓SDK 3.下载完安卓SDK后,我们解压它,注意不要放在任何有中文组成的文件夹中【是否有中文决定于你鼠标单击上面路径后,第一张图还没鼠标单击,第二张已鼠标单击&#xff0c…...

【Linux】进程概念

目录 一、基本概念 二、查看进程 三、系统调用获取进程标示符 1、获取自己的PID 2、获取父进程的PID 四、创建进程 1、初识fork 2、使用fork的方式 五、进程状态 1、阻塞 2、挂起 3、R状态 4、S状态 5、D状态 6、T状态 6.1、kill指令 6.2、暂停进程与继续进程 …...

使用pyinstaller库打包exe时显示KeyError怎么办

PyInstaller是一个Python库,用于将Python应用程序转换为独立的可执行文件(executable)文件,支持多平台。它可以将Python解释器、依赖的库和脚本打包成一个单独的可执行文件,从而使应用程序可以独立运行,而无…...

k8s新增节点机器,无法拉取和推送镜像的解决方案

1、首先检查配置,查看镜像仓库是否已授权,若无授权,则进行授权。 命令:cat /etc/systemd/system/docker.service.d/docker-options.conf内容如果有这样一句就是已经授权,如果没有,就需要把这句加进去&…...

测试报告踩坑的点

测试报告作为测试人员的核心输出项,是体现自己工作价值的重要承载工具,需要我们认真对待,所以我们要重视测试报告的输出,那么在编写测试报告的时候,我们有哪些点需要注意的呢? 01 不要乱用模板 很多测试新人在编写测试…...

【Java】创建多线程的四种方式

一、方式1:继承Thread类 步骤: 创建一个继承于Thread类的子类重写Thread类的run()方法 ----> 此线程执行的操作声明在方法体中创建当前Thread子类的对象通过实例对象调用start()方法,启动线程 ----> Java虚拟机会调用run()方法 注意…...

【数据结构】队列的接口实现(附图解和源码)

队列的接口实现(附图解和源码) 文章目录队列的接口实现(附图解和源码)前言一、定义结构体二、接口实现(附图解源码)1.初始化队列2.销毁队列3.队尾入队列4.判断队列是否为空5.队头出队列6.获取队列头部元素7…...

日本知名动画公司东映动画加入 The Sandbox 元宇宙

与 Minto 合作将东映动画的 IP 呈现在元宇宙。 The Sandbox 很荣幸能与东映动画合作,与 Minto 携手在 The Sandbox 元宇宙中创建基于东映动画 IP 的相关体验。 作为日本动画的先驱,东映动画制作了日本最大和世界领先的动画作品,包括《龙珠》、…...

QuickHMI Hawk R3 Crack

基于网络的 SCADA / HMI 系统 QuickHMI Hawk R3 QuickHMI是一个 100% 基于网络的SCADA/HMI 系统。 得益于HTML5、SVG和Javascript等现代网络技术,可视化可以在任何当前浏览器和设备中显示。作为浏览器的替代品,可以使用“独立查看器”和移动应用程序。 Q…...

【C语言】寻找隐藏字母游戏

编程实现一个游戏程序,会将连续三个字母中的一个隐去,由玩家填写隐去的那个字母,如屏幕上显示A ? C,则玩家需要输入B;屏幕上显示?B C,则玩家需要输入A。记录玩家完成20次游戏的时间以及正确率。…...

【C++】list 相关接口的模拟实现

list 模拟实现回顾准备构造析构函数的构造构造方法析构方法赋值运算符重载容量相关接口元素获取元素修改相关接口push 、popinserterase清空交换迭代器 **(重点)迭代器基本概念迭代器模拟实现回顾 在上一篇博客中我们大致了解了 list 相关接口的使用方法…...

快速找到外贸客户的9种方法(建议收藏)

所有外贸企业想要做好外贸出口的头等大事,就是要快速的找到优质的外贸客户和订单,没有订单的达成,所有的努力都是图劳,还有可能会陷入一种虚假的繁荣,每天都很忙,但是没有结果。今天,小编就来分…...

TCP状态转换

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 TCP状态转换专栏:《Linux从小白到大神》《网络编程》 TCP状态转换示意图如下 针对上面的示…...

3500年里,印度被11个文明征服

转自:3500年里,印度被11个文明征服,如今看似统一,实际上却是缝合怪 (qq.com)今天的印度是亚洲第二大国,南亚第一大国,世界第二人口大国。如果我们将时间线拉长,纵观历史的长河,就会惊…...

Java编程问题top100---基础语法系列(一)

Java编程问题top100---基础语法系列一一、Java 操作符实质二、将InputStream转换为String使用IOUtils自己写轮子三、将数组转换为List四、如何遍历map对象使用For-Each迭代entries(方法一)使用For-Each迭代keys和values(方法二)使…...

【C#基础】C# 异常处理操作

序号系列文章6【C#基础】C# 常用语句讲解7【C#基础】C# 常用数据结构8【C#基础】C# 面向对象编程文章目录前言1,异常的概念2,处理异常3,自定义异常4,编译器异常结语前言 🌷大家好,我是writer桑,…...

系统分析师---操作系统思维导图

进程管理(5星) 进程与线程:共享:内存地址空间、代码、数据、文件等不能共享:独立的cpu运行上下文和栈指针、寄存器 信号量与PV操作:信号量,一种特殊的变量分为:信号量可以表示资源数…...

Linux | Ubuntu20.04系统使用命令从移动硬盘/U盘拷贝文件到服务器上

*确认自己移动硬盘、U盘的格式,本文为exfat格式STEP1:把移动硬盘插到Ubuntu系统的主机上查看disk默认位置#查看移动硬盘/U盘在哪个位置命令 fdisk -l #查询后出现了包含电脑系统的所有硬盘查看最后的位置,我的显示为Device, 位置为 /dev/sdb1…...

【经验总结】10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的?

【经验总结】一位近10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的? RT-Thread绝对可以称得上国内优秀且排名靠前的操作系统,在嵌入式IoT领域一直享有盛名。近些年,物联网产业的大热,更是直接将RT-Thread这…...

一起Talk Android吧(第五百零九回:约束布局中的组功能一)

文章目录功能介绍使用方法GroupLayer对比总结各位看官们大家好,上一回中咱们说的例子是"多层布局功能",这一回中咱们说的例子是"约束布局中的组功能"。闲话休提,言归正转, 让我们一起Talk Android吧! 功能介…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...