安卓aab文件生成apk文件

								**前言**

一、什么是APK格式文件?
APK(全称:Android application package)就是Android应用程序包,它是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。

比如我们在手机上经常下载的的各种APP,其实一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), 原生资源文件(assets),证书(certificates),和清单文件(manifest file)

二、什么是AAB格式文件?
后来,谷歌宣布从2021年8月份开始,Google Play商店的应用将从 .apk格式改为 .aab 格式。AAB(全称:Android App Bundle),其优势在于应用体积更小、拥有更安全的密钥签名、自定义功能模块交付等。所以,当在自己手机里看到 .aab格式的文件时,大家先不要慌,其实它就是你下载的某个应用程序。

三、.AAB和.APK文件有什么区别?
严格来说,两者没有什么区别,后者是前者的一种升级版格式文件。升级后的aab文件优势在于应用体积更小、拥有更安全的密钥签名等,可以让数据更加安全,避免病毒感染。

总,Android studio 打包生成.aab文件生成.apk文件。
1,下载bundletool.jar,下载地址:

下面展示一些 内联代码片

https://github.com/google/bundletool/releases

2,生成签名文件,打开终端输入命令
下面展示一些 内联代码片

// 执行命令
java -jar 你下载的bundletool-all.jar包的地址路径  build-apks 
--bundle=你当前aab的路径
--output=你需要输入apks的路径(如/desktop/myapk/myapk.apks) (注意一定要用apks.为后缀名)
--ks=(你的jks文件如果是mac生成的Untitled那么就添加下后缀名为Untitled.jks 并引用路径)
--ks-key-alias=你的alias(一般不修改默认为key0 也就是你平常key0)
--ks-pass=pass:注意pass:不要删除 直接在冒号后面填写密码
--key-pass=pass:不要删除 直接在冒号后面填写密码
--mode=universal

3,将生成的apks 文件那么直接把apks文件后缀名修改为zip 完成解压其中就有apk文件那么我们就能正常使用其中的apk文件了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ //练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。

C Primer(第5版) 练习 13.17 练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /*************************…

Vue-路由护卫

Vue路由护卫是一种用于在访问路由之前和之后执行某些逻辑的机制。它们可以用来控制用户是否可以访问某个特定路由,并在路由变化时执行一些操作。在Vue路由中,有三种类型的路由护卫: **全局路由护卫:**在任何路由变化时都会触发的路…

react-native开发安卓端app

前言 首先说一下我为啥要开发一个rn的app吧,其实就是想试试新技术,然后给我之前的五系统网站做一个适配,只能说感觉rn的资料确实比较少,中间也是遇到了一堆的问题,所以记录一下,后面碰到不会再踩坑。。。 …

【监控zabbix】zabbix监控误报-参数优化

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

JUC与多线程基础详解

什么是JUC? JUC(Java Util Concurrent)是 Java 5 以后新增的一组并发编程工具包,提供了一系列高效、线程安全的并发集合,方便在多线程环境下处理共享数据。 JUC其实就是JDK中的三个包: java.util.concurrent 并发相关的 java.util.concurrent.atomic 原子性 java.util.c…

idea同步yapi插件

1、前言 yapi是一个很好的接口文档维护工具,其swagger功能,可将接口信息同步到yapi平台上,但是swagger的编写,大量入侵代码,也加大了开发工作量,目前调研了idea集成yapi同步工具,无需嵌入式编写…

背靠TON公链的Notcoin游戏项目,能否杀出GameFi的红海?

4月15日消息,Telegram生态中的游戏及Meme项目Notcoin,最近在X平台公布了令市场瞩目的代币经济学方案。据悉,NOT的总供应量高达1027亿枚,其中78%将分配给矿工和Voucher持有者,余下的22%预留给未来新用户、交易者及各类上…

LLM 为什么需要 tokenizer?

文章目录 1. LLM 预训练目的1.1 什么是语言模型 2. Tokenizer一般处理流程(了解)3. 进行 Tokenizer 的原因3.1 one-hot 的问题3.2 词嵌入 1. LLM 预训练目的 我们必须知道一个预训练目的:LLM 的预训练是为了建立语言模型。 1.1 什么是语言模…

动手学深度学习——数据操作笔记

1. 张量概念 张量本质上是一个n维数组,它在numpy中为ndarray, 在pytorch中称为tensor , 两者的区别在于: numpy仅支持CPU计算tensor能支持GPU运算,并且支持自动微分,更适合深度学习 2. 张量的访问 一个二维矩阵a&a…

精度论文Generative Prompt Model for Weakly Supervised Object Localization

Generative Prompt Model for Weakly Supervised Object Localization 中国科学院大学&&浙江大学CVPR20231.Abstract 当从图像类别标签中学习对象定位模型时,弱监督对象定位(WSOL)仍然具有挑战性, 传统的鉴别训练激活模型的方法忽略了具有代表性但鉴别性较差的对象…

【UE 材质】雨滴效果

在上一篇博客(【UE 材质】表面湿润效果)的基础上继续实现物体表面附加雨滴的效果 效果 步骤 1. 下载所需纹理 2. 创建一个材质并打开,添加如下节点,我们将纹理的RG通道输出的值和1组成一个三维向量,作为基本的法线效…

SAP 变更记录表查询使用逻辑简介

通常用户在遇到问题后,经常会问某个单据的变更记录,很多模块中在前台的操作界面中都根据对应的菜单栏中可以找到对应的变更记录,像销售订单、交货单、采购申请、采购订单都在菜单栏位中都可以查询到对应的修改记录,但是对于想批量…

内容分发网络CDN分布式部署加速原理

哈喽,大家好,淼淼又来和大家见面啦,大家应该也知道,在应用开发市场中,软件产品的内测阶段对于确保产品质量与市场接受度至关重要,但是传统的内测分发方式往往面临地域分布广泛、网络环境各异的挑战&#xf…

ubuntu16.04配置rsh

Ubuntu16.04 配置rsh服务: 1:先安装以下软件: sudo apt-get rsh-server sudo apt-get rsh-client sudo apt-get rsh-redone-server sudo apt-get xinetd 2:在/etc/hosts 中添加访问的主机ip和主机名 192.168.0.66 cpci6200…

CentOS-7安装Mysql并允许其他主机登录

一、通用设置(分别在4台虚拟机设置) 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入: 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

揭秘APP广告变现秘籍:月入过万!

在移动应用的黄金时代,我们见证了无数创新和变革。然而,随着市场日益饱和,开发者和公司开始寻求新的方式来提高收益,而广告变现无疑是其中的关键。 对于移动应用来说,如何高效利用APP内的用户体验来提高广告收益是一个…

Python11个入门级知识点

Python被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因. Python 简介 Python 是一个高层次的结合了解释性、编…

【1431】java学习网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 学习网站系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

创建表、插入表数据和索引得准则

当你有一个较大的数据集,并且你想要在这个数据集的某个或某些列上创建FULLTEXT索引时,通常的做法是先插入数据,然后再创建索引。 这是因为在插入数据时,数据库需要同时更新索引,这会增加插入操作的开销。特别是对于FUL…

【VSCode调试技巧】Pytorch分布式训练调试

最近遇到个头疼的问题,对于单机多卡的训练脚本,不知道如何使用VSCode进行Debug。 解决方案: 1、找到控制分布式训练的启动脚本,在自己的虚拟环境的/lib/python3.9/site-packages/torch/distributed/launch.py中 2、配置launch.…