Uniapp 本地(离线)打包APK 流程

以最新的HBuilder X(4.66),离线SDK, Android Studio为例进行本地打包;具体步骤如下:

参考网址:开发环境 | uni小程序SDK

1.环境准备

  1.    Android Studio 下载 (下载 Android Studio 和应用工具 - Android 开发者  |  Android Developers)        

2.HBuilder X 下载 (4.66版本为例)

3.App离线SDK下载:最新android平台SDK下载

2.导入离线SDK

  1. 解压下载的离线SDK;
  2. 导入HBuilder-Integrate-AS工程

     3.导入成功

3.在Android Studio 中修改配置

注意:官网上对应的版本一定要注意,在以下修改配置会用到的...

  1. 配置gradle/wrapper/gradle-wrapper.properties 文件中的distributionUrl配置项修改为阿里或者淘宝镜像源 distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.11.1-all.zip

  2. 配置simpleDemo/src/main/res/values/strings.xml 中,修改 app_name

  3. 配置simpleDemo/src/main/AndroidManinfest.xml 中,修改 androidId

    获取方式
    1. 通过dcloud 创建app_id;
    2. 然后点击详情;
    3. 在线生成Android云端证书;
    4. 然后进入离线打包key管理页面,点击前往,新增一条数据后,查看
  4. 配置simpleDemo/src/main/assets/data/dcloud_control.xml 中,修改 appid

  5. 配置simpleDemo/src/main/assets/apps 中的文件,替换成HBuilderX 打包后的本地资源

        使用HBuilderX 生成本地资源步骤:

                在HBuilderX中,发行--->本地打包--->生成本地打包APP资源

6. 配置simpleDemo/build.gradle文件

  1.   修改applicationId,填写自己的包名;反域名格式;如:com.company.test
  2.  修改CompileOptions 中的JavaVersion 为 Dcloud 要求版本;目前 4.66 SDK 对应 JAVA_VERSION_21,后续肯定有变化
  3. 修改SigningConfigs 中的configs, keyAlias(别名),keyPassword(证书密码),storePassword(证书库密码,与证书密码一样)​​​​​​​

  4. 修改storeFile,改为自己下载的证书文件.keystore格式的

  5. 以上可以在Dcolud 证书详情中获取到对应的信息

android {
    compileSdkVersion 35 // 与前面dcloud 要求版本一直
    buildToolsVersion '35.0.0' // 与前面dcloud 要求版本一直
    namespace '' // 填写自己的包名
    defaultConfig {
        applicationId "" // 填写自己的包名
        minSdkVersion 21
        targetSdkVersion 33
        versionCode 1
        versionName "1.0" 
        multiDexEnabled true
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_21 // 与前面dcloud 要求版本一直
            targetCompatibility JavaVersion.VERSION_21 // 与前面dcloud 要求版本一直
        }
    }
    signingConfigs {
        config {
            keyAlias '' // 填写证书别名
            keyPassword '' // 填写生成证书密码,可在dcloud 平台查看(证书页面)
            storeFile file('test.keystore') // 在dcloud证书页面下载证书,copy到与.jks文件同级目录下
            storePassword '' // 填写生成证书密码,可在dcloud 平台查看(证书页面)
            v1SigningEnabled true
            v2SigningEnabled true
        }
  }

7.使用Android Studio 打APK包;步骤如下:

鼠标移至左上角出现build->Generate App Bundles or APKs -> Generate APKs即可;等待打包完成 打包完成后.apk 包的路径 simpleDemo/build/outputs/aps/androidTest(debug/release)

打包成功,可以安装到夜神或者雷电模拟器进行测试,或者安装到手机测试!!!

### 使用 UniApp 进行离线打包生成 APK 的详细流程 #### ### 准备工作 在开始之前,需确保开发环境已准备好以下工具和资源: - **Android Studio**: 下载并安装版本 4.0 或更高版本[^3]。 - **HBuilder X**: 安装此 IDE 并创建或导入您的 UniApp 项目[^4]。 - **Android SDK 和 NDK**: 需要配置好 Android 离线 SDK 及相关依赖项。 #### ### 打包前的设置 1. 在 HBuilder X 中打开目标 UniApp 项目,并确认项目的 `manifest.json` 文件中的基本信息填写无误,包括应用名称、图标路径以及 App ID 等字段[^5]。 2. 如果需要自定义权限或其他配置,可以在 `manifest.json` 文件中调整相关内容[^1]。 #### ### 资源导出 通过 HBuilder X 导出本地打包所需的资源文件: - 在菜单栏选择【发行】> 【原生 App - 本地打包】> 【生成本地打包 App 资源】。 - 此操作会生成一个以 APPID 命名的压缩包(通常命名为 __UNI__XXXX),该文件即为后续 AS 打包的核心资源。 #### ### Android Studio 配置与导入 1. 解压上述生成的资源包至指定目录,并将其复制到 Android Studio 工程下的特定位置。具体路径可能因模板不同而有所差异,一般位于 `app/src/main/assets/` 目录下[^2]。 2. 创建一个新的 Android Studio 项目或者直接使用官方推荐的集成工程模板(如 HBuilder 提供的 `HBuilder-Integrate-AS`)。 3. 修改新项目中的 `applicationId` 字段,使其匹配您在 UniApp 中设定的应用唯一标识符 (APPID)。 #### ### 数字签名申请 为了发布正式版 APK,必须先完成数字证书的制作过程: - 利用 keytool 工具生成 keystore 文件,命令如下所示: ```bash keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias ``` - 记住密码及相关参数以便稍后配置 build.gradle 文件时调用。 #### ### 构建最终 APK 一切准备就绪之后,在 Android Studio 内执行构建任务: - 依次点击导航栏上的选项:`Build` > `Build Bundle(s)/APK(s)` > `Build APK(s)`。 - 成功完成后,可通过通知区域查看生成好的 apk 文件存储地址。 --- ### 注意事项 - 若遇到编译错误,请仔细核对 Gradle 版本兼容性和依赖库冲突情况。 - 对于调试用途可选用 debug 类型;而对于分发则务必采用 release 模式的带签名校验机制。 ```xml <signingConfigs> <release> storeFile file("my-release-key.jks") storePassword "your_store_password" keyAlias "my-alias" keyPassword "your_key_password" </release> </signingConfigs> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值