首页 > 其他分享 >用uniapp开发打包多端应用完整指南

用uniapp开发打包多端应用完整指南

时间:2023-08-14 16:06:28浏览次数:45  
标签:uniapp 多端 文件 app 证书 HBuilderX Android 打包

一、uni-app项目介绍

用uni-app开发多端项目,一套代码可同时打包出各端小程序、h5和app,uni-app支持通过 HBuilderX可视化界面 和 vue-cli命令行 两种方式创建项目,下面示例项目采用 HBuilderX可视化界面 的方式创建,cli项目可参考uni文档,大部分流程都是通用的。

项目结构:

├── common           api文件  
├── components       公用组件  
├── libs             公共方法  
├── pages            页面  
├── static           本地静态资源,注意:静态资源只能存放于此  
├── store            状态管理  
├── styles           公共样式  
├── config.js        配置文件  
├── manifest.json    配置应用名称、appid、logo、版本等打包信息,详见  
├── pages.json       配置页面路由、导航条、选项卡等页面类信息  
└── unpackage  
    ├── res          图标、启动页  
    ├── cert         APP证书文件  
    └── dist         打包的文件

BashCopy

拿到源码先修改 config.js 里的 api 请求接口地址,改成你自己的请求域名,然后 manifest.json 里各平台的 appid 改成你自己小程序的 appid:

用uniapp开发打包多端应用完整指南_h5源码

相关开发文档:

  1. vue
  2. uniapp
  3. HBuilderX
  4. stylus

用uniapp开发打包多端应用完整指南_小程序源码_02

二、注册开发者账号和创建应用

开始开发前需要先去uni的开发者后台注册一个账号,登录注册地址:<https://dev.dcloud.net.cn/>,然后在里面创建一个你自己的应用:

用uniapp开发打包多端应用完整指南_h5源码_03

三、安装开发工具HBuilderX

HBuilderX,简称HX,是轻如编辑器,强如IDE的合体版本,有点像vscode和小程序开发工具的结合体,顶部菜单栏有一个“运行”和“发行”的菜单,直接点击:运行 —— 运行到内置浏览器,可以直接像在浏览器里一样调试。

发布App时,需要使用HBuilderX,其他开发工具无法发布App,但可以发布H5、各种小程序。如需开发App,可以先在HBuilderX里运行起来,然后在其他编辑器里修改保存代码,代码修改后会自动同步到手机基座。HBuilderX下载地址:<https://www.dcloud.io/hbuilderx.html>。

四、新建和运行项目

先安装一些常用的插件:

  • 内置浏览器
  • uni-app(Vue2)编译
  • uni-app(Vue3)编译
  • App真机运行
  • App云打包
  • scss/sass编译
  • stylus编译

用uniapp开发打包多端应用完整指南_小程序源码_04

创建项目

创建新项目可以通过HBuilderX顶部菜单:文件 - 新建 - 项目,导入已有项目:文件 - 导入 - 从...

运行项目

运行项目通过HBuilderX顶部菜单:运行 - 运行到...,开发阶段可先选择:运行到内置浏览器,如果有报错缺少xx插件,直接根据提示去安装对应插件,再重新运行就可以了。

用uniapp开发打包多端应用完整指南_Android_05

五、小程序和H5打包

各平台的配置可以直接在manifest.json里配置,或者在HBuilderX开发工具里选中manifest.json文件,右侧会出现图形化界面直接选择配置

用uniapp开发打包多端应用完整指南_uniapp_06

先运行起来,然后点击:发行 - 小程序/网站 - 设置小程序/网站名字/appid/域名,打包成功后可以在dist - build 文件夹下找到对应平台的打包文件(dist - dev 目录下对应的是各平台运行文件)

用uniapp开发打包多端应用完整指南_小程序源码_07

六、安卓应用打包

1、点击:发行 - 原生App-云打包

2、按照unpackage/cert目录下的README.md说明填写:

Android包名、证书别名、证书私钥密码、选择证书文件(直接点浏览按钮,选到 unpackage/cert 目录,Android开发证书生成参考文末的说明)

3、点击打包按钮

用uniapp开发打包多端应用完整指南_uniapp_08

七、IOS应用打包

1、点击:发行 - 原生App-云打包

2、按照unpackage/cert目录下的 README.md 说明填写:

Bundle ID(AppID)、证书私钥密码、证书profile文件和私钥证书(直接点浏览按钮,选到 unpackage/cert 目录)

3、点击打包按钮

用uniapp开发打包多端应用完整指南_h5源码_09

使用云打包点击了打包按钮后,需要等待一段时间,少则几分钟,多则大半天...最终打包成功后会在控制台打印出app安装文件的下载地址:

用uniapp开发打包多端应用完整指南_Android_10

Android:apk文件,直接点击“打开所在目录”,生成的apk文件在 unpackage/release/apk文件夹下

IOS: ipa文件,直接点击“下载地址”,远程下载到本地

打包证书相关资料:

Android平台云端打包证书使用说明

Android平台云端打包 - DCloud公用证书(DCloud老版证书)

Android平台签名证书(.keystore)生成指南

iOS证书(.p12)和描述文件(.mobileprovision)申请

八、发布上线

1、小程序

直接用小程序开发者工具导入 dist - build 文件夹下对应的目录,如微信小程序:dist/build/mp-weixin

2、H5

和web网站一样,将最终打包出来的H5文件部署到线上:dist/build/h5

3、Android

  • 最终生成的apk文件,可以直接用聊天工具发送到安卓手机上安装使用
  • 去注册各大安卓应用市场账号,上传到应用市场供用户下载
  • 也可以自己开发一个发布页,将安卓apk放到项目里,用户点击直接下载到手机里,如果设备是ios还可以直接判断让跳转到appstore下载地址

4、IOS

① 正式版本

ios正式应用只能从app store里下载,需要先注册苹果开发者账号,填写各项应用资料,上传ipa文件审核通过后才能下载使用

用uniapp开发打包多端应用完整指南_小程序源码_11

② 测试版本

ios-app测试时,将ipa文件上传到蒲公英上:<https://www.pgyer.com/>

用有授权的苹果手机扫描二维码在Safari浏览器里打开即可直接下载安装,或者直接在safari浏览器中输入“下载地址”

附:windows下生成安卓开发证书

Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份,Android证书的生成是自助和免费的,不需要审批或付费。

可以使用JRE环境中的keytool命令生成,以下是windows平台生成证书的方法:

1、安装JRE环境

可从Oracle官方下载jre安装包:<https://www.oracle.com/technetwork/java/javase/downloads/index.html>(记住安装的路径,后面生成证书的时候要用到)

2、打开命令行(cmd),可以先切换到要生成的目录下

我直接在D盘根目录下生成输入:

d:

BashCopy

3、将JRE安装路径添加到系统环境变量

我的JRE装在D盘下 "D:\Programs\jre\bin"

set PATH=%PATH%;"D:\Programs\jre\bin"

BashCopy

注意这里安装路径不要写错了,我这里刚开始路径里 Programs 就少了个s,后面就一直报错:keytool不是内部或外部命令,也不是可运行的程序

4、使用keytool -genkey命令生成证书

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

BashCopy

  • testalias:是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  • android.keystore:是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  • 36500:是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

用uniapp开发打包多端应用完整指南_uniapp_12

按提示输入信息后就会在D盘根目录下生成 android.keystore 文件,这个文件就可以用来直接打包安卓app了

学习更多uiapp开发和app打包知识请关注CRMEB

标签:uniapp,多端,文件,app,证书,HBuilderX,Android,打包
From: https://blog.51cto.com/u_15723831/7077831

相关文章

  • python打包库nuitka测试 是否和c++的速度差不多
    nuitka一个打包py脚本的库原理是把py代码转成c++代码再重新编译宣传的优点是打包的程序速度快占用空间小用了一些时间了突然想测试一下性能是否和宣传的一样写了一个输出一百万以内素数个数的脚本 打包成exe结果  不打包执行 说实话挺失望还剩一个优点空间......
  • gitlab-runner配合k8s完成代码自动打包部署上线
    前期搭建了云服务器私有的gitlab和k8s环境,但是都是独立运行的,每次代码更新需要手动去打包好镜像,推送到镜像仓库,然后在deployment里面更新image,这样平时不太有问题,但是会给运维我这边产生很多琐事(反正就是想偷懒,能自动化的为什么要手动,懒惰才是提高生产力的动力!)。在这种情况下我就考......
  • uniapp中连接数据库问题
    教程中的代码//获取数据库内容router.get('/api/goods/search',function(req,res,next){connection.query("select*fromgoods_search",function(error,results,fields){if(error)throwerror;con......
  • maven系列:基本命令(创建类、构建打包类、IDEA中操作)
    目录一、创建类命令创建普通Maven项目创建WebMaven项目发布第三方Jar到本地库中二、构建打包类命令编译源代码编译测试代码编译测试代码打包项目清除打包的项目清除历史打包并重新打包清除并install到本地查看当前项目已被解析的依赖上传到私服三、IDEA中Maven操作通过Terminal执......
  • 婚恋交友h5多端小程序开源版开发
    婚恋交友h5多端小程序开源版开发以下是婚恋交友H5多端小程序的功能列表:1.用户注册和登录:用户可以通过手机号码或第三方账号注册和登录。2.个人信息填写:用户可以填写个人基本信息,包括姓名、性别、年龄、身高、体重、学历、职业等。3.个人相册:用户可以上传个人照片,并设置照片的可......
  • uniapp_05_权限检测和跳转到设置
    关于uniapp权限申请和跳转系统页面查询权限跳转到应用详情跳转到系统设置参考此文中所有IOS中使用的代码,因为没有设备所以均未经过实机测试查询权限uni.authorize获取权限只支持微信小程序不支持app,只能用Native.js来实现安卓权限查询plus.android.request......
  • Unity Addressable 打包 WebGL 报错
    1.现象:PC端打包正常,Web平台打包后报错  2.原因分析    服务器的 MIME类型 没有.bundle 3.解决方案在web.config配置文件中加上对应的配置项,如下所示:<?xmlversion="1.0"encoding="UTF-8"?><configuration><system.webServer>......
  • ASAR解包打包工具软件AsarHelper打包后文件与原始文件稍小的原因
    ASAR是一种文件归档方式,类似于tar包,把多个目录和文件放一起。在Electron中,asar是个特殊的代码格式。asar包里面包含了程序猿编写的代码逻辑。默认情况下,这些代码逻辑,是放置在resource/app目录下面的,明文可见,这样的话,也就有了代码加密(asar打包)的需求。AsarHelper打包后文件与原始......
  • Ios上架app无需688,xcode打包导出IPA,供人内测
    无需支付688苹果开发者账号,xcode打包导出ipa,提供他人进行内测众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习iosapp开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,经过一番百度,APPUploade......
  • 2022最全Hbuilder打包成苹果IOS-App的详解
    本文相关主要记录一下使用Hbuilder打包成苹果IOS-App的详细步骤。介绍一下个人开发者账号:再说下什么是免费的苹果开发者账号,就是你没交688年费的就是免费账号,如果你想变成付费开发者账号,提交申请付费就行,账号都是一样的账号。没有账号的点击链接申请:苹果开发者账号申请登录开发者......