uni-app离线打包安卓apk

本文详细记录了使用uni-app进行离线打包apk的过程,包括解决导入IDEA和Gradle失败的问题,申请appkey,配置项目,以及注意事项,如SHA1签名获取和gradle版本匹配等。
摘要由CSDN通过智能技术生成

uni-app离线打包apk

记录一下打包apk的过程:
参考:uni-app离线打包官网地址

1. 打包需要

在这里插入图片描述

在这里插入图片描述

2.导入工程

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

2-1.遇见问题

1. 加载.idea和.gradle失败,

在这里插入图片描述

Unsupported Java. 
Your build is currently configured to use Java 17.0.6 and Gradle 6.5.

Possible solution:
 - Upgrade Gradle wrapper to 7.2 version and re-import the project

解决:FileProject Structure

在这里插入图片描述

在这里插入图片描述
重新构建:FileSync Project with Gradle Files
在这里插入图片描述
安卓结构:ProjectAndroid
在这里插入图片描述

3.申请appkey

登录开发者中心选择需要打包的应用→各平台信息→查看或新增安卓打包信息

  1. 这里为了项目的交接和管理,还有一些权限问题,最好用公司的邮箱登录;
  2. 该账号和hbuilder开发时候的账号是一个,开发运行的时候项目就自动添加上了;
  3. 如果在自己的账号已经添加上了可以转移项目到公司的账号上;
  4. 如果appID还没用过可以在hbuilder里面重新登录,在根目录manifest.json→基础配置→重新获取appID,运行一下项目就加上了;
  5. 这里需要的应用签名相关的信息就是版权信息,需要配一下;

3-1.SHA1

因为是版权信息,所以可以多个项目用一个签名,如果之前有签名,就直接在签名的目录下打开控制台,输入keytool -list -v -keystore keystore.jks→输入密码获取(注意密码输入不会显示,不可使用复制粘贴)
注意:

  1. 官网给出的获取SHA1的文档的jarsinger签名格式只支持v1签名,
  2. Android studio 打包应用自带的apksinger格式支持v1和v2签名
  3. 安卓离线打包v1版本和v2版本签名官方说明
  4. 总结:就是版本升级和权限的问题,用哪个都行,但是上架谷歌应用商店只支持apksigner验证

申请签名:
这里我用的是apkSinger:
BuildGenerate Signed Bundle / APK...(注意只有项目构建成功后才会有这个选项)
在这里插入图片描述
② 选择APKNext
在这里插入图片描述
③ 选择Creat new...
在这里插入图片描述
④填写信息→OKNext
在这里插入图片描述
releaseCreate
在这里插入图片描述
⑧根目录下生成了密钥文件→在文件夹中打开→cmd打开控制台
在这里插入图片描述
⑨输入keytool -list -v -keystore keystore.jks→输入密码(注意密码输入不会显示,不可使用复制粘贴),
keystore.jks为你的密钥文件名
在这里插入图片描述

3-2.在开发者中心添加安卓平台的信息

①填写信息
在这里插入图片描述
②创建appkey
在这里插入图片描述
在这里插入图片描述

4.配置项目

①配置appkey
simpleDemo/src/main/AndroidMainifest.xml
在这里插入图片描述
②配置应用版本号和密钥
/simpleDemo/build.gradle
在这里插入图片描述

③配置应用名称
simpleDemo/src/main/res/values/strings.xml
在这里插入图片描述
④配置应用启动页及provider节点:该配置项目模板已配过,核对一下就行
simpleDemo/src/main/AndroidMainifest.xml
在这里插入图片描述
⑤配置应用图标和启动页
simpleDemo/src/main/res/drawable/...png
在这里插入图片描述

5.打包应用

①Hbuilder生成本地打包资源
在这里插入图片描述
②替换AndroidStudio的资源
simpleDemo/src/main/apps/__UNI_A
__UNI_A为appID
在这里插入图片描述
simpleDemo/src/main/data/dcloud_control.xml
在这里插入图片描述
③打包
BuildGenerate Signed Bundle / APK...→选择APK→Next→输入别名和别名密码→Next→选择release→Create
在这里插入图片描述

5-1.遇见问题

5-1打包失败-gradle版本问题

1.gradle版本和Java jdk版本不对应
Unable to make field private final java.lang.String java.io.File.path accessible: 
module java.base does not "opens java.io" to unnamed module @3b998fc7

解决:这里我百度搜索都是下载一个对应版本的Java,但是这条报错的同时右下角还有一个提示,点击按钮就弹出如下窗口,在右侧Notifications也能找到,如果没有弹窗就FileSync Project with Gradle Files重新构建一下,该问题和2-1的问题是相互影响的,当时没注意所以打包失败
在这里插入图片描述
在这里插入图片描述
然后不用选,直接按照默认选项点击Run selected steps,然后重新 BuildGenerate Signed Bundle / APK...打包,可能还会提示这个错误,这时候重复此操作,就可以了,它在自动匹配gradle和gradle plugin 的版本。
在这里插入图片描述

我的成功打包后的gradle和gradle plugin版本:
在这里插入图片描述

④打包成功,文件夹位置:simpleDemo/release/simpleDemo-release.apk
在这里插入图片描述

  • 29
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app是一款基于Vue.js开发的跨平台应用框架,可以用于快速开发同时支持多个平台的应用程序。uni-app提供了一种打包离线app的方式,可以将应用程序打包成原生的安装包,使得应用可以在手机上离线运行。 要打包离线app,首先需要在uni-app项目中进行相关配置。在项目的manifest.json文件中,可以设置app的名称、图标、启动页等信息。同时,还可以配置应用的权限、网络请求等。 接下来,需要选择目标平台进行打包uni-app支持多个平台,包括iOS、Android、H5、微信小程序等。根据不同的平台,可以选择相应的打包方式。 对于iOS平台,可以使用HBuilderX进行打包。在HBuilderX中,选择菜单栏的“发行”-“原生App-云打包”,然后按照提示进行相关配置,最后生成ipa文件即可。 对于Android平台,可以使用HBuilderX或者使用命令行进行打包。使用HBuilderX时,选择菜单栏的“发行”-“原生App-云打包”,然后按照提示进行相关配置,最后生成apk文件即可。使用命令行时,需要安装好Android SDK,并配置好环境变量,然后使用命令行工具执行相应的打包命令。 对于H5平台,可以直接将项目打包成一个静态网页,然后部署到服务器上即可。 对于微信小程序平台,可以使用HBuilderX进行打包。在HBuilderX中,选择菜单栏的“发行”-“小程序”,然后按照提示进行相关配置,最后生成小程序的代码即可。 总结一下,uni-app提供了多种打包离线app的方式,可以根据不同的平台选择相应的打包方式进行配置和生成安装包。通过这些步骤,就可以将uni-app项目打包离线app,使得应用可以在手机上离线运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值