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

uniapp 离线本地打包

uniapp打包教程地址

https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html点击查看

需要的环境:

  • java (1.8)
  • 离线SDK(上面的连接下载即可)
  • Android Studio(同上)

配置环境变量

依次点击“计算机”-“属性”-“高级系统设置”-“环境变量”,在“系统变量”一栏进行“新建”:

  1. 新建变量:JAVA_HOME
    变量值(JDK所在目录):D:\Java\jdk1.8.0_291
  2. 修改变量:PATH
    变量值1:%JAVA_HOME%\bin
    变量值2:%JAVA_HOME%\jre\bin
    %ANDROID_HOME%\platform-tools
    %ANDROID_HOME%\emulator
    %ANDROID_HOME%\tools
    %ANDROID_HOME%\tools\bin
  3. 新建变量:CLASSPATH
    变量值:%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
  4. 先查看Android Studio SDK位置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

验证是否配置成功

在cmd中输入键入“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功

申请Android签名证书

  • 在项目目录下打开命令行
  • 使用 keytool -genkey 命令生成证书
keytool -genkey -alias ${证书别名,任意设置,建议使用英文字母和数字} -keyalg RSA -keysize 2048 -validity 36500 -keystore ${证书文件名称,任意设置,以.keystore结尾}// 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
# test @ testdeMacBook-Pro in ~/desktop/androidtest [10:02:43]
$ keytool -genkey -alias myanothername -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
输入密钥库口令:  // 输入证书文件密码
再次输入新口令: // 再次输入证书文件密码
您的名字与姓氏是什么?[Unknown]:  test
您的组织单位名称是什么?[Unknown]:  test
您的组织名称是什么?[Unknown]:  test
您所在的城市或区域名称是什么?[Unknown]:  test
您所在的省/市/自治区名称是什么?[Unknown]:  test
该单位的双字母国家/地区代码是什么?[Unknown]:  test
CN=lu, OU=test, O=test, L=test, ST=test, C=test是否正确?[否]:  y

以上命令运行完成后就会生成证书

查看证书信息

keytool -list -v -keystore ${证书文件名称}
# test @ testdeMacBook-Pro in ~/desktop/androidtest [10:04:20]
$ keytool -list -v -keystore test.keystore
输入密钥库口令:  // 输入证书文件密码
密钥库类型: PKCS12
密钥库提供方: SUN您的密钥库包含 1 个条目别名: myanothername
创建日期: 2022年10月19日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=lu, OU=test, O=test, L=test, ST=test, C=test
发布者: CN=lu, OU=test, O=test, L=test, ST=test, C=test
序列号: 5ca29c6f
生效时间: Wed Oct 19 10:04:19 CST 2022, 失效时间: Fri Sep 25 10:04:19 CST 2122
证书指纹:SHA1: 3C:4E:38:21:23:F2:27:DC:FD:70:D4:5C:80:F7:04:85:12:80:59:E9SHA256: F1:CE:AA:32:FF:AC:0A:24:E0:BF:9F:08:14:1D:25:83:65:6B:62:F8:85:C7:5C:8E:B0:D4:21:5B:DE:57:68:5F
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

申请AppKey

  • 申请AppKey
    在这里插入图片描述

HbuilderX 生成本地打包App资源

  • 发行 --> 原生App-本地打包 --> 生成本地打包App资源
  • 提示编译完成后,点击路径跳转到编译的文件夹
    在这里插入图片描述

下载Android离线SDK

  • 用uniapp离线打包下载地址就行
    在这里插入图片描述
    |-- HBuilder-HelloUniApp                App离线打包演示应用|-- HBuilder-Integrate-AS               集成uni-app的最简示例|-- SDK                                 SDK库文件目录|-- Feature-Android.xls                 Android平台各扩展Feature API对应的详细配置|-- readme                              版本说明文件及注意事项|-- UniPlugin-Hello-AS                  uni原生插件开发示例

App离线打包SDK只需要 HBuilder-Integrate-AS 这个文件夹,直接在Android Studio中导入 HBuilder-Integrate-AS 工程,

  • 找到项目中的 build.gradle,并删除红框部分在这里插入图片描述
  • 找到项目中的 dcloud_control.xml,更换当前应用的appid
    在这里插入图片描述

在这里插入图片描述

  • 找到项目中的 strings.xml,更换当前应用的名字
    在这里插入图片描述
  • 项目中相关图标设置
    在这里插入图片描述
  • 更换当前应用的Appkey
    在这里插入图片描述
    在这里插入图片描述
  • 更换当前应用中的相关参数
    在这里插入图片描述
  • 更换当前应用的包名
    在这里插入图片描述

生成打包apk

在这里插入图片描述

  • 如果没有红框处的选项
  • 此处会等好一阵,不要着急
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模块引用:蓝牙在其他模块中
在这里插入图片描述

参考文章:https://www.jianshu.com/p/713ddfbd8401跳转查看

相关文章:

uniapp 离线本地打包

uniapp打包教程地址 https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html点击查看 需要的环境: java (1.8)离线SDK(上面的连接下载即可)Android Studio(同上) 配置环境变量 依次点击“计算机”-“属性”&#…...

初识马尔科夫模型(Markov Model)

初识马尔科夫模型(Markov Model)一、概念二、性质三、学习步骤一、概念 马尔科夫模型(Markov Model)是一种概率模型,用于描述随机系统中随时间变化的概率分布。马尔科夫模型基于马尔科夫假设,即当前状态只…...

CentOS7 ifconfig(或 ip addr)命令不显示IP地址

问题(因为当时没有存图 所以这个图上是网上找的 )解决办法第一:可能是本地服务没有开启,检查本地服务。如图所示,检查这两个服务是否开启。注:如何快速找到服务 可以把光标放在其中一个上面 然后按下VM就可…...

2023/2/10总结

拓扑排序 拓扑排序是在一个有向无环图(DAG)所有顶点的线性排序。 拓扑排序核心思想非常简单,就是先找一个入度为0的顶点输出,再从图中删除该顶点和以它为起点的有向边。继续上面的操作知道所有的顶点访问完为止。 入度&#xf…...

2023最新版!宝塔面板Docker自建Bitwarden密码管理

Powered by:NEFU AB-IN 请一定要结合B站视频食用!!!!,下面的博客总体来说只是起到提纲作用 B站视频链接!!! 文章目录2023最新版!宝塔面板Docker自建Bitwarden密码管理前…...

【Hello Linux】 Linux基础命令

作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍Linux的基础命令 Linux基础命令ls指令lsls -als -dls -ils -sls -lls -nls -Fls -rls -tls -Rls -1总结思维导图pwd指令whoami指令…...

151、【动态规划】leetcode ——2. 01背包问题:二维数组+一维数组(C++版本)

题目描述 原题链接:2. 01背包问题 解题思路 (1)二维dp数组 动态规划五步曲: (1)dp[i][j]的含义: 容量为j时,从物品1-物品i中取物品,可达到的最大价值 (2…...

2023-02-09 - 3 Elasticsearch基础操作

本章主要介绍ES的基础操作,具体包括索引、映射和文档的相关操作。其中,在文档操作中将分别介绍单条操作和批量操作。在生产实践中经常会通过程序对文档进行操作,因此在介绍文档操作时会分别介绍DSL请求形式和Java的高级REST编码形式。 1 索引…...

云原生系列之使用 prometheus监控MySQL实战

文章目录前言一. 实验环境二. 安装MySQL5.72.1 配置yum源2.2 安装MySQL之前的环境检查2.3 开始使用yum安装2.4 启动MySQL并测试三. 安装MySQL_exporter3.1 MySQL_exporter的介绍3.2 mysql_exporter的安装3.3 设置MySQL账户,用于数据收集3.4 启动mysql_exporter3.5 配…...

电脑分盘怎么分?分盘详细教程来了,图文教学

电脑作为小伙伴日常生活使用的工具,很多事情都需要使用电脑来进行处理。虽然小伙伴使用电脑比较多,但是还是有不少的小伙伴不知道电脑分盘怎么分?其实电脑分盘很简单,下面小编就以图文教学的方式,详细的向小伙伴介绍电…...

Element UI框架学习篇(四)

Element UI框架学习篇(四) 1 准备工作 1.0 创建Emp表并插入相应数据的sql语句 /*MySQL数据库*/SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CRE…...

Revit快速材质切换:同一墙面赋予不同材质的方法

一、Revit中对同一墙面赋予不同材质的方法 方法1:零件法 重点:通过工作平面面板上的设置工作平面命令选取正确的面取消勾选通过原始分类的材质,如图1所示 方法2:拆分构造层绘制一道墙体,选择创建的墙体,单击…...

【Linux operation 56】Linux 系统验证端口连通性

linux 系统验证端口连通性 1、前提 Linux系统有时候需要测试某个端口的连通性,然而ping命令只能测试某个IP通不通,不能测试某端口的连通性。 因为ping命令是基于ICMP协议,是计算机网络中的网络层的协议,但是想要测试某个的连通…...

@Valid注解配合属性校验注解完成参数校验并且优化异常处理

Valid注解配合属性校验注解完成参数校验并且优化参数校验异常处理1 Valid注解配合属性校验注解完成参数校验2 优化参数校验异常处理1 Valid注解配合属性校验注解完成参数校验 向数据库商品分类表中新增商品分类字段,并校验传入的参数 不使用注解的传统方法&#xf…...

每天一道大厂SQL题【Day08】

每天一道大厂SQL题【Day08】 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题,以每日1题…...

朗润国际期货:2023/2/10今日期市热点及未来焦点

2023/2/10今日期市热点及未来焦点 1月份人 民币贷款增加4.9万亿元 创历史新高 中国央行: 1月份人民币贷款增加4.9万亿元,同比多增9227亿元。分部门看,住户贷款增加2572亿元,其中,短期贷款增加341亿元,中长期贷款增加…...

TLV73312PQDRVRQ1稳压器TPS622314TDRYRQ1应用原理图

一、TLV73312PQDRVRQ1低压差稳压器 1.2V 300MATLV733 300mA 低压差稳压器是有 300mA 拉电流能力的超小型、低静态电流 LDO,具有良好的线路和负载瞬态性能。这些器件具有 1% 的典型精度。TLV733 系列设计具有先进的无电容器结构,确保无需输入或输出电容器…...

课程回顾|以智能之力,加速媒体生产全自动进程

本文内容整理自「智能媒体生产」系列课程第二讲:视频AI与智能生产制作,由阿里云智能视频云高级技术专家分享视频AI原理,AI辅助媒体生产,音视频智能化能力和底层原理,以及如何利用阿里云现有资源使用音视频AI能力。课程…...

C库函数文件操作(fopen、fread、fwrite、fclose)

C库函数 C文件操作用库函数实现,包含在stdio.h中,系统自动打开和关闭三个标准文件: 标准输入-键盘(stdin)标准输出-显示器(stdout)标准出错输出-显示器(stderr) 文件打…...

【Java|golang】1798. 你能构造出连续值的最大数目

给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i] 。如果你从这些硬币中选出一部分硬币,它们的和为 x ,那么称,你可以 构造 出 x 。 请返回从 0 开始(包括 0 )&a…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...