uniapp离线本地打包[二] - android离线打包流程

429 阅读4分钟

第一步:下载所需文件-打包前准备工作

步骤一:下载 Android 离线SDK - 正式版 解压至你想要存放的地方

步骤二:复制粘贴文件夹中的HBuilder-Integrate-AS项目,然后修改其命名,我这里就叫demo-AS

添加图片注释,不超过 140 字(可选)

步骤三:将demo-AS项目在android中打开

添加图片注释,不超过 140 字(可选)

第二步:uni项目配置信息-打包前准备工作

步骤一:创建项目,已有项目可忽略此步骤

添加图片注释,不超过 140 字(可选)

步骤二:创建keystore文件

到这里大家就需要创建一个keystore文件并拿到相关信息,已有可以跳过

1.打开一个自己要存放文件的地方,打开cmd,输入

keytool -genkey -alias 你的别名 -keyalg RSA -keysize 2048 -validity 有效期(365 = 1年。建议时间填长一些) -keystore 你的文件名.keystore

添加图片注释,不超过 140 字(可选)

之后直接keytool -list -v -keystore 文件名.keystore,拿到MD5,SHA1,SHA256内容复制下来

添加图片注释,不超过 140 字(可选)

步骤三:登录 开发者中心 找到对应自己的项目,确认后选择第二项点击右上角新增,填写对应信息

图1

包名可在图3获取,包名可修改,但要保证唯一性,不知道图3在什么位置的可以打开HBuilder X编辑器,上方选择栏中 点击 <发行> 然后 点击 <原生app-云打包> 即可

图2

图3

确认完后即可点击创建离线打包key,然后可查看android的key值

图4

图5

第三步:生成本地打包app资源

步骤一:看图,点击生成即可,生成后会有一个路径地址,点击可以获取到该文件的内容

添加图片注释,不超过 140 字(可选)

将resources文件夹下的文件,复制粘贴到自己的android项目中

添加图片注释,不超过 140 字(可选)

第四步:开始配置安卓打包信息

步骤一:复制的文件替换你项目的_UNI_A,删除_UNI_A文件

添加图片注释,不超过 140 字(可选)

步骤二:进入dcloud_control.xml文件夹下,将appid替换成自己项目的appid

添加图片注释,不超过 140 字(可选)

步骤三:应用名称修改

添加图片注释,不超过 140 字(可选)

步骤四:替换包名,离线打包key

图1

图2

步骤五:bulid.gradle文件下,修改包名,版本信息等,下方signingConfigs的内容可以不管,我们是通过java已经生成了证书文件,如果你就是jks文件,那么就在这个地方填写上你的相关信息

添加图片注释,不超过 140 字(可选)

第五步:解决打包前问题

问题一:Build 没有 Generate Signed Bundle / APK...

找到该文件,然后添加 android.overridePathCheck=true

添加图片注释,不超过 140 字(可选)

问题二:java jdk版本问题导致的与gradle版本不兼容

添加图片注释,不超过 140 字(可选)

一,二解决后:File中找到Sync Project with Gradle Files 一下

添加图片注释,不超过 140 字(可选)

此时就会开始给你安装你所需的gradle文件,完成后如图所示,此时就可以进行安卓正常的打包流程操作了

添加图片注释,不超过 140 字(可选)

问题三:当处理完所有的操作后,正常是可以打包的,但打包时会出现这么一个问题

添加图片注释,不超过 140 字(可选)

问题三:解决方法

这个问题原因是gradle和gradle插件版本的问题,但我试了升级版本,好像uniapp项目不合适。

将这串代码粘贴至 图中位置 --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED

百度了很多篇文章之后找到了上述的解决版本

添加图片注释,不超过 140 字(可选)

第六步:打包 - 选择uniapp项目的keystore文件,输入密码,别名,创建

至此,关于uniapp安卓端本地离线打包结束

添加图片注释,不超过 140 字(可选)