uniapp离线打包(使用Android studio打包)

一、准备工作

  1. 安装HbuilderX,记住版本号
  2. 下载对应HbuilderX版本的Android离线SDK,如我使用3.6.18版本打包,则对应应下载3.6.18版本的SDK(官网不提供旧版本的SDK,有些需要自己找)官网下载地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android.html
  3. 安装Android Studio

二、生成文件

1.使用HbuilderX生成本地打包App字段,步骤为:发行→原生app-本地打包→生成本地打包App资源

2.上一步操作成功后,将生成一个文件夹

三、使用对应版本的SDK完成Android Studio打包

  1. 将下载的SDK解压后,进入目录,使用Android Studio打开目录HBuilder-Integrate-AS

  2. 将该目录中的@\HBuilder-Integrate-AS\simpleDemo\src\main\assets\apps文件夹下的内容替换为我们在HbuilderX中生成的文件夹

三、配置项目信息

  1. 在Android Studio中将项目的manifest.json文件中的id值修改为你的项目它自动生成的项目id,即在Hbuilder中生成的文件夹名
  2. 在Android Studio中将文件dcloud_control.xml 中的appid也修改成上述id
  3. 官网获取appkey,并在AndroidManifest.xml文件中配置appkey,登录https://dev.dcloud.net.cn/,点击当前所需要打包操作的应用名称,进入各平台信息中,点击新增,配置AndroidApp信息


    注:
    包名:

    Android平台签名:正常情况下需要使用自己的,下载的SDK中有测试的可以用
    使用方式为:进入simpleDemo目录,进入cmd,输入keytool -list -v -keystore test.jks,密钥默认为123456,即可看到测试的证书信息

生成Android平台签名证书 方式1:

自己生成Android平台签名证书(免费)需要安装java8环境,JRE环境,配置完成后使用keytool -genkey命令生成证书

参考链接:keytool -genkey命令生成证书

html 复制代码
keytool -genkey -alias 别名 -keypass 密码 -keyalg RSA -keysize 2048 -validity 36500 -keystore 文件地址及文件名 -storepass 密码

注:keypass 和 storepass 一定要设置一模一样的,原因可以自行百度

例如:

html 复制代码
keytool -genkey -alias name  -keypass 123456-keyalg RSA -keysize 2048 -validity 36500 -keystore D:\software\UniappSDK\AndroidSDK\3.6.18\Android-SDK@3.6.18.81676_20230117\HBuilder-Integrate-AS\simpleDemo\fragment_demo.jks -storepass 123456

生成Android平台签名证书方式2

使用Android Studio 生成



以上生成后可能会出现警告(与jdk版本有关系):

直接使用提示的命令执行一遍即可(密码一定要相同,不然会失败)

html 复制代码
keytool -importkeystore -srckeystore fragment_demo.jks -destkeystore fragment_demo.jks -deststoretype pkcs12

进入指定目录的cmd

html 复制代码
keytool -list -v -keystore test.jks

查看证书信息

---------------------------------------------------------------------------------------截图了一遍--------------------------------------------------------------------------------



打包

查看apk签名信息

html 复制代码
查看Android apk的签名信息方式有三种:

1、直接查看apk的签名信息:

keytool -list -printcert -jarfile D:\test.apk

2、查看keystore的签名信息:

keytool -list -v -keystore debug.keystore

3、先将apk后缀改为.zip,然后解压,然后进入META-INF目录,找到XXX.RSA文件

keytool -printcert -file XXX.RSA

修改打包APK的版本号

versionCode和versionName 设置的值最好与manifest.json中设置的一致

修改打包APK的文件名:

如图片所示,在build.gradle文件中添加意思啊代码,可根据自己的需求更改

html 复制代码
android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                //这里修改apk文件名 ,${defaultConfig.versionName} 是在android-defaultConfig里的版本号
                outputFileName = "${defaultConfig.versionName}.apk"
            }
    }

修改安装后的app名称

相关推荐
Carson带你学Android2 分钟前
腾讯正式上线AI应用生成平台:一句话生成 App,还能直接上架商店
android·ai编程
小陈的进阶之路14 分钟前
Claude Code辅助测试:API测试与pytest自动化
android·开发语言·kotlin
三少爷的鞋20 分钟前
Kotlin 与 Java,不是简单的高低之分
android
CSharp精选营24 分钟前
用 .NET 8 + uni-app 做一套多租户畜牧 SaaS:我们在秦巴牧云踩过的 6 个坑
uni-app·efcore·.net8·多租户·saas踩坑
一笑的小酒馆7 小时前
Android12Launcher3实现应用裁剪
android
FinelyYang13 小时前
UniApp + LiveKit:Android 端为什么要用原生做屏幕共享,以及我们怎么落地的
android·uni-app
蓝速科技13 小时前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
又见情义15 小时前
RK3568 Android 13 SDK 开机自动开启共享热点实践
android
mmsx16 小时前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
DU_YULIN16 小时前
Camera HAL ThreadManager概述
android·camera hal