uniapp 离线本地打包

news2024/11/29 0:54:48

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:E9
   SHA256: 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跳转查看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/335518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过 指针 引用 多维数组 详解

目录 一:回顾多维数组地址知识 二:二维数组的有关指针 三:指向数组元素的指针变量 四:用指向数组的指针作为函数参数 首先简单来讲,指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。下面…

Java线程中:Runnable和Callable的区别和联系

点个关注,必回关 文章目录一、Java提供了三种创建线程的方法1.继承Thread2.实现Runnable接口3.通过Callable和Future创建线程二、Runnable和Callable的区别和联系1.定义接口(1) Runnable(2)Callable(3&…

onnx-graphsurgeon----ONNX计算图修改神器

0. 简介 作为深度学习用户,经常会听到ONNX、TensorRT等一系列常用的文件保存格式。而对于ONNX而言,经常我们会发现在利用TensorRT部署到NVIDIA显卡上时,onnx模型的计算图不好修改,在以前的操作中很多时候大佬是将onnx转换成ncnn的…

vscode中安装python运行调试环境

在运行代码之前,需要到微软商店下载安装python环境,35m,都是自动的。 1、安装python 的extensions插件。 ctrlshiftx 输入 python 后点击 install 按钮。 2、新建文件夹spider文件夹。 3、在新建文件夹spider下新建文件spider.py源代码。…

注册OpenAI体验ChatGPT实战演示

什么是ChatGPT ChatGPT,美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布的人工智能技术驱动的自然语言处理工具,能够真正像人一样完成交流和任务处理。日前,ChatGPT已经更新多个版本,很多大厂也都在接入其API。…

Spark On YARN时指定Python版本

坑很多&#xff0c;直接上兼容性最佳的命令&#xff0c;将python包上传到hdfs或者file:/home/xx/(此处无多余的/) # client 模式 $SPARK_HOME/spark-submit \ --master yarn \ --deploy-mode client \ --num-executors 2 \ --conf "spark.yarn.dist.archives<Python包…

超店有数,tiktok变现 |TikTok最新选品秘籍!让你爆单销量10W+

商家想要自家产品爆单&#xff0c;获得更高的转化&#xff0c;tiktok变现&#xff0c;选品很重要。但很多商家在选品上&#xff0c;找不到头绪。那不妨看看一下的内容&#xff0c;可以帮助你找到选品的思路方向和方法。一、tiktok选品方向1、 考虑垂直细分产品考虑垂直细分领域…

Vue3快速入门【二】

Vue3快速入门一、传值父传子&#xff0c;子传父v-model二、插槽2.1、匿名插槽2.2、具名插槽2.3、插槽作用域2.4、插槽作用域案例2.4.1、初始布局2.4.2、插槽使用2.4.3、点击编辑按钮获取本行数据&#xff08;插槽作用域的使用&#xff09;2.4.4、类型书写优化2.4.5、全局接口抽…

云计算|OpenStack|社区版OpenStack安装部署文档(十一--- 如何获取镜像---Rocky版)

前言&#xff1a; 前面我们使用虚拟机搭建了一个openstack集群&#xff0c;也就是在VM虚拟机的基础上模拟了一个简单的基于openstack社区版Rocky的私有云&#xff0c;但&#xff0c;不管任何部署安装工作&#xff0c;最后其实都是需要有实际的应用的&#xff0c;也就是常说的实…

拿来就用的Java海报生成器ImageCombiner(一)

背景如果您是UI美工大师或者PS大牛&#xff0c;那本文一定不适合你&#xff1b;如果当您需要自己做一张海报时&#xff0c;可以立马有小伙伴帮您实现&#xff0c;那本文大概率也不适合你。但是&#xff0c;如果你跟我一样&#xff0c;遇上到以下场景&#xff0c;最近公司上了不…

新手小白适合做跨境电商吗?

今天的跨境电商已经逐渐成熟&#xff0c;靠运气赚钱的时代早已过去&#xff0c;馅饼不可能从天上掉下来&#xff0c;尤其是你想做一个没有货源的小白劝你醒醒。做跨境电商真的不容易&#xff0c;要想做&#xff0c;首先要分析自己是否适合做。米贸搜整理了以下资料&#xff0c;…

硬件设计—高性能ADC前端电路

高性能模数转换器&#xff08;ADC&#xff09;一般对系统的性能有非常高的要求&#xff0c;而AD芯片的“前端”的输入电路设计对ADC系统的的性能有非常大的影响。以下主要介绍了ADC芯片前端输入使用放大器和变压器各自的优势。 1、放大器和变压器根本区别 放大器是有源器件&am…

Docker进阶 - 8. docker network 网络模式之 container

目录 1. container 模式概述 2. 使用Alpine操作系统来验证 container 模式 1. container 模式概述 container网络模式新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享。新创建的容器不会创建自己的网卡&#xff0c;配置自己的IP&#xff0c;而是和一个…

ChatGPT注册+微信自动回复

ChatGPT注册微信自动回复1 注册OpenAI1.1 科学上网1.2 准备用于注册OpenAI的邮箱1.3 准备用于验证OpenAI的手机号1.4 注册OpenAI1.5 使用OpenAI2 基于ChatGPT微信实现自动回复2.1 原理2.2 实现ChatGPT是OpenAI基于GPT-3模型构建的自然语言处理模型&#xff0c;近几天ChatGPT突然…

这款浏览器火了,能快速使用ChatGPT,简单一看就会

当下ChatGPT很火&#xff0c;影响的人数非常广泛。作为聊天机器人模型&#xff0c;ChatGPT能完成写论文、编代码、写新闻、画画等高难度要求。那么&#xff0c;如何使用ChatGPT呢&#xff1f;下面介绍一下几个使用方法。值得一提的&#xff0c;目前已经有浏览器支持使用ChatGPT…

C++程序设计——多态:虚函数、抽象类、虚函数表

注&#xff1a;以下示例均是在VS2019环境下 一、多态的概念 通俗来讲&#xff0c;多态就是多种形态&#xff0c;当不同的对象去完成某个行为时&#xff0c;会产生出不同的状态。即不同继承关系的类对象&#xff0c;去调用同一函数时&#xff0c;产生不同的行为。 比如”叫“这…

【React】course

《千锋HTML5实战就业班React课程体系V16版本》课程资料 一、关于React 英文官网&#xff1a;https://reactjs.org/ 中文官网&#xff1a;https://zh-hans.reactjs.org/ React 起源于 Facebook 的内部项目&#xff0c;因为该公司对市场上所有 JavaScript MVC 框架&#xff0c…

JAVA工具篇--1 Idea中 Gradle的使用

前言&#xff1a; 既然我们已经使用Maven 来完成对项目的构建&#xff0c;为什么还要使用Gradle 进行项目的构建&#xff1b;gradle和maven都可以作为java程序的构建工具&#xff0c;但两者还是有很大的不同之处的&#xff1a;1.可扩展性&#xff0c;gradle比较灵活&#xff0c…

RabbitMQ-消息应答

一、介绍为了保证消息在发送过程中不丢失&#xff0c;rabbitmq引入消息应答机制&#xff0c;消息应答就是&#xff1a;消费者在接收到消息并且处理该消息之后&#xff0c;告诉rabbitmq它已经处理了&#xff0c;rabbitmq可以把该消息删除了。二、自动应答消息发送之后立即被认为…

pytest-fixture

fixture是pytest特有的功能&#xff0c;它用pytest.fixture标识&#xff0c;定义在函数前面。在编写测试函数的时候&#xff0c;可以将此函数的名称作为传入参数&#xff0c;pytest会以依赖注入方式将该函数的返回值作为测试函数的传入参数。fixture主要的目的是为了提供一种可…