当前位置: 首页 > news >正文

AAB包体安装

1、安装依赖工具

  • bundletool
  • Java JDK (keytool在jdk的bin目录下,无需额外安装)
  • ADB

2、配置环境变量

配置各路径到环境变量Path,确保CMD中输入javakeytooladb响应正常无报错。

3、准备签名文件(必需)

若无可用的 keystore 文件(.jks.keystore),用以下命令生成:
keytool -genkeypair -v -keystore myapp.jks -alias release_key -keyalg RSA -keysize 4096 -validity 20000 -storepass StrongPass!2025 -keypass StrongPass!2025 -dname "CN=My Application, OU=Mobile Dev, O=Tech Inc, L=Beijing, ST=Beijing, C=CN" -noprompt

上述内容中的信息请替换为自己产品对应的信息,进行脱敏处理,注意信息安全~

4、AAB 转 APKS 文件(关键步骤)

一键生成通用全量 APK,编写转换代码,文件convert.bat,内容如下:

@echo off
:: 设置控制台为 UTF-8 编码 (65001)
chcp 65001 > nul
setlocal:: 配置参数 - 修改以下变量值适配你的环境
set BUNDLETOOL_JAR=bundletool.jar
set KEYSTORE_FILE=myapp.jks
set KEYSTORE_PASS=StrongPass!2025
set KEY_ALIAS=release_key
set KEY_PASS=StrongPass!2025
set AAB_FILE=release.aab
set OUTPUT_APKS=output.apks:: 自动转换命令
java -jar "%BUNDLETOOL_JAR%" build-apks ^--bundle="%AAB_FILE%" ^--output="%OUTPUT_APKS%" ^--ks="%KEYSTORE_FILE%" ^--ks-pass=pass:%KEYSTORE_PASS% ^--ks-key-alias="%KEY_ALIAS%" ^--key-pass=pass:%KEY_PASS% ^--mode=universal:: 结果检查
if exist "%OUTPUT_APKS%" (echo 转换成功!生成的APKS文件: %OUTPUT_APKS%echo 包含通用APK: universal.apk
) else (echo 错误:转换失败,请检查参数和日志exit /b 1
)endlocalpause

将几个文件放在一个文件夹内,双击convert.bat,当前目录会生成output.apks
在这里插入图片描述

5、安装 APKS 到设备

方法 1:通过 bundletool 直接安装

java -jar bundletool.jar install-apks --apks=output.apks

设备需 开启 USB 调试 并连接电脑,或者使用PC端的安卓模拟器尝试。
在这里插入图片描述

方法 2:手动提取 APK 安装
  1. 解压 APKS 文件
    修改后缀 .apks.zip,解压得到多个 APK 文件。
  2. 安装主 APK
    安装 universal.apk

相关文章:

  • FrozenBatchNorm2d 详解
  • Java 大视界 -- Java 大数据在智能教育学习社群知识共享与协同学习促进中的应用(326)
  • spring ai入门实例
  • 论云原生架构及应用
  • macOS,切换 space 失效,向右切换space(move right a space) 失效
  • TCP四层模型:网络协议核心解密
  • 3ds Max贴图操作指南:从基础到应用
  • Java 工程智能化升级:飞算科技重构软件开发的技术范式
  • Python Selenium 滚动到特定元素
  • [Linux]mmap()函数内存映射原理及用法
  • K8s + Springboot 如何实现 优雅停机 + 不停服更新
  • Python 数据分析与可视化 Day 9 - 缺失值与异常值处理技巧
  • MFC获取本机所有IP、局域网所有IP、本机和局域网可连接IP
  • 深度学习框架入门指南:PyTorch 核心实战
  • Discrete Audio Tokens: More Than a Survey
  • 修复opensuse 风滚草rabbitmq的Error: :plugins_dir_does_not_exist问题
  • 随机生成的乱码域名”常由**域名生成算法(DGA)** 产生
  • Flutter基础(UI监听)
  • MyBatis 缓存机制详解
  • Nestjs框架: nestjs-bull的使用与相关queue的规划