UniApp离线打包
date
Dec 2, 2022
slug
uniapp-package
status
Published
tags
UniApp
Android
iOS
summary
uniapp项目实现本地离线打包
type
Post
Xcode配置证书
xcode中即可配置
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F19b84944-01cc-4013-bbfc-c603f792c902%2FUntitled.png?table=block&id=73603df1-af64-4e09-ad88-368fc47c65fa&cache=v2)
离线打包
记录一下离线打包的过程
环境
- 下载android和iOS离线打包sdk,https://nativesupport.dcloud.net.cn/AppDocs 官方提供的下载地址多半是百度云盘,比较慢, 耐心下载
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4e3e01b6-6c21-4124-900e-2b312cfe9d5c%2FUntitled.png?table=block&id=510468bb-2da9-4ed3-98cf-cb0f4ea7645c&cache=v2)
- 下载
IDEA
和Xcode
(官方有指定最低版本号)
- 下载
nodejs
准备脚手架项目
官方提供了脚手架运行方式 https://uniapp.dcloud.net.cn/quickstart-cli.html
导入资源
将本地打包App资源拷贝到项目目录下的
Pandora -> apps
路径下![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F10db1718-1737-481e-9584-d29dd8c363d1%2FUntitled.png?table=block&id=98ef8e84-d6ea-47bc-8884-75a741f5480a&cache=v2)
配置应用信息
iOS打包
打开 Xcode 工程目录下的control.xml文件,修改appid值:
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F32236078-a883-4190-9329-4c90e1adaff4%2FUntitled.png?table=block&id=fb4f2128-4669-486e-8e9b-cafbe159e054&cache=v2)
• appid:值为
HBuilderX
应用的appid
,必须与5+应用manifest.json
中的id
字段值(uni-app
项目为manifest.json
中的appid
字段值)完全一致;内置资源更新
如果您更新了内置资源,重新运行App加载的还是旧的资源时请检查下面的配置:
- 工程 Bundle Identifier 已经改成您自己的;
- 内置的资源版本名称和版本号需要高于上一个版本;
- control.xml 中 debug 改成 false
编译运行
上面步骤都完成之后,便可以编译运行工程,如果跑起来的APP是自己想要的应用,说明配置都是正确的
配置Shortcut
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F129687e5-036c-4517-9fe4-e972af00a706%2FUntitled.png?table=block&id=71484e1e-b363-4ca6-8e81-8051711f299d&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F00e29e5c-0698-43b2-a958-3dcdd857b32f%2FUntitled.png?table=block&id=818ff6dc-a8a7-4b54-b396-5f31a7c869de&cache=v2)
自定义运行基座
xcode获取手机的udid
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdd698d8b-4150-48de-80a2-592d354c0da4%2FUntitled.png?table=block&id=822354cf-6fab-4b3a-b0bb-fb5e364ef7f8&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fc94843c5-b90f-4eb2-8dd1-e309e5395c74%2FUntitled.png?table=block&id=e4a1f109-a737-487c-91ac-b88b4193e543&cache=v2)
配置微信分享
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F2b23e9f6-4a6d-4a17-bf0e-270825fd20cb%2FUntitled.png?table=block&id=81051bea-ac97-4053-a702-8badc7c14f8e&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Faf811fd4-ddca-45b4-a3ba-4111dbd2870e%2FUntitled.png?table=block&id=f6b8a8d4-87dd-431e-ab38-4d1b4b4e8608&cache=v2)
Android打包
CentOS安装Android SDK
- 下载 Android SDK https://developer.android.google.cn/studio/#downloads
- 安装
sdkmanager
下载linux版本,并解压unzip xxxx.zip
放到/opt/android-sdk
路径下
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F684afd80-f82c-4ee0-943a-317e2d44708d%2FUntitled.png?table=block&id=8692514e-b587-4f45-81b8-46254f4188e8&cache=v2)
- 更改
/opt/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager
为/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager
- 配置环境变量
vim /etc/profiles
,并重启环境变量source /etc/profiles
- 列出列表
sdkmanager --list
- 安装软件
sdkmanager "platform-tools" "platforms;android-30" "build-tools;30.0.2"
(这三个安装包可以分开安装,这边是偷懒的写法,即一次性安装了三个)
参考资料
- uniapp项目嵌入到iOS原生及交互踩坑指南 http://events.jianshu.io/p/89f698a8e59a