首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈Android App Bundle

.aab文件 和 apk一样也是一个zip的文件, 不一样的是apk可以直接安装到手机,而.aab文件不能直接安装,需要通过Google Play 或者 bundletool 工具 生成优化的apk才能安装到手机...下图中为.aab的内容: 展开如下: 编译 Android App Bundle 文件 编译Android App Bundle 需支持以下条件: 1 Android Studio 3.2 或者更高版本...同时有两种方式可以编译Android App Bundle文件 : Android Studio可视化界面操作: Build -> Build Bundle(s)/APK(s) -> Build...Bundle(s) 编译结束.aab文件目录位置为: app -> build -> outputs -> bundle -> debug/release 使用可视化界面操作,操作更加简洁,...build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks 或使用: //app bundle 为应用支持的所有设备配置生成一组

1.5K10

Google IO 之 Android App Bundles 是个啥

更多关于AAB说明,大家可以阅读官方文档。下载最新Preview release版Android Studio和AAB Sample,接着我们根据官方Samples来看看如何玩转AAB。...我们通过编译产物分析,运行示例,发现在所有dynamic feature模块build目录下均会生成apk文件。com.android.dynamic-feature独特之处编译目标是apk文件。...Build Bundle(s) Android App Bundle提供一种全新编译产物格式文件aab。 ?...如上图,当选择Build Bundle(s)时,在主工程build目录下回生成bundle.aab文件,该文件是压缩格式文件,因此将其解压分析。 ?...上图是AAB文档提供的一张关于aab文件结构图,蓝色方框区域就是configuration apks支持的配置项。 在之前split apks打包,是不支持语言配置。

2.3K20

android 应用的证书签名跟系统签名

文件来进行签名,使用android studio生成签名文件的方式有两种,一种是使用android studio导航栏上的Build->Generate Signed Bundle/APK 上图的...,一个arm架构的手机,也没有必要下载x86架构下的so文件,因此Android App Bundle文件可以显著的减少App的下载体积,但缺点是它不能直接安装到android设备上,也不能用于上架除Google...Play之外的其他应用商店 不管选择创建的是Android App Bundle 文件还是APK文件,后面的流程都是一样的 既然你看到这篇博客了那就说明你还没有一个正式的keystore文件,所以还是点击...如果前面选择创建Android App Bundle文件则这里会得到一个.aab后缀的签名文件 方法二 使用Gradle生成 编辑app/build.gradle文件 然后点击右侧的工具栏Gradle...debug和release版本,apk文件自动生成在app/build/outputs/apk目录下,release目录下的apk文件就是带有正式签名的apk文件,如果没有设置签名文件可能也会生成release

1.7K20

Android App瘦身新姿势——Android App Bundle

概述 Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,与Instant App不同,AAB是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积...再说的直白一点就是,比如,项目中可能会xxhdpi,xhdpi各有一套图,或者x86,armeabi的又各有一套so库,以前的安装方式,是把这些全部装进用户的手机,使用App Bundle,假设你是一个...当你是3.2以上的studio时候,就可以选择build bundle,来构建app bundle文件 构建出来就是一个.aab文件 4.通过bundletool工具来测试你的....-0.6.0.jar build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks 这个命令构建出来的是没有签名的文件,要有签名的,...需要如下: bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks --ks=/MyApp/keystore.jks

1.2K10

AndResGuard编译速度优化

我们在调研的过程,美团,腾讯,头条都有对应的资源文件的混淆方案。其中腾讯的就是ARG,而ARG也是使用最多的。而美团貌似也没有找到开源项目所以没有后续的跟进。...如何更改编译任务的执行顺序 在对Aab的代码分析过程,我们其实发现了一些很神奇很微妙的点,对于我们后续的优化产生了重大的启发。...而aab的plugin则是在其中过程插入了一个自定义的混淆task,也就是上述代码的aabResGuardTaskName,这样当一个package{variantName}Bundle被执行的时候...当我们编译一个apk的时候,会在build/intermediates文件夹下生成很多输入输出的文件,这个是我之前在开发transform的时候找到的小技巧。...然后我就在这个文件夹下搜索,并观察哪个是我们资源文件编译完成的任务节点呢?

40530

AndResGuard编译速度优化

我们在调研的过程,美团,腾讯,头条都有对应的资源文件的混淆方案。其中腾讯的就是ARG,而ARG也是使用最多的。而美团貌似也没有找到开源项目所以没有后续的跟进。...如何更改编译任务的执行顺序 在对Aab的代码分析过程,我们其实发现了一些很神奇很微妙的点,对于我们后续的优化产生了重大的启发。...而aab的plugin则是在其中过程插入了一个自定义的混淆task,也就是上述代码的aabResGuardTaskName,这样当一个package{variantName}Bundle被执行的时候...当我们编译一个apk的时候,会在build/intermediates文件夹下生成很多输入输出的文件,这个是我之前在开发transform的时候找到的小技巧。...然后我就在这个文件夹下搜索,并观察哪个是我们资源文件编译完成的任务节点呢? ?

2.5K20

一个时代即将终结!安卓应用告别APK格式

APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,并非Java ME...在Android平台中,dalvikvm的执行文件被打包为apk格式,最终运行时加载器会先解压,然后获取编译的androidmanifest.xml文件的permission声明对安全访问的限制,要知道仍然存在很多安全限制...,但将apk文件传到/system/app文件夹下会发现执行是不受限制的。...也许我们平时安装都不会选用这个文件夹,但在androidrom,系统的apk文件默认会放入这个文件夹,它们拥有root权限。...Android App Bundle 是一种发布格式 —— 精确地说,是一个带有 .aab 扩展名的 zip 文件

1.3K40

小知识 | 善用Mac自动化,少掉头发多喝茶

但是开发中有些命令行贼长,比如当你要安装一个 aab 时,这个步骤很是麻烦,于是乎有没有一种更简单的方式呢?答案是肯定的,现如今各种第三方工具,都可以支持一键干这干呢。那么有没有双击就可以的呢?..."rm -r " & bundleToolPath & "*.apks" do script "bundletool build-apks --bundle=" & thePath & " --output...push到手机存储 说一下我自己想法:很简单其实,和上述双击安装一样,也是一行脚本,adb push xxx xxx,不过你可以搭配其他工作流程一起使用,比如点击时候,弹出一个选择列表,提前预备一些文件夹...,选择完成,所选择的内容文本将自动传递到接下来的流程里,这样再执行adb push,就可以更自由的push到指定手机存储文件夹。...… 配置教程 以双击安装Apk为例子: command+空格 搜索自动操作,进入选应用程序,然后选取。

95410

Xcode 创建.a和framework静态库

创建的工程.png 第二步,删除系统默认创建的【FMDB.h】和【FMDB.m】文件,导入需要打包的源文件。 ? 导入源文件.png 第三步(方式一),修改项目配置 ?...注意:如果步骤四,不将Build Configuration改为Release,则打包出来的静态库会存于【Debug-iphoneos】和【Debug-iphonesimulator】两个文件夹下。.../Users/harvey/Desktop/FMDB 最后将任何一个framework的二进制文件替换成合并的二进制文件即可。...framework,只暴露了一些.h头文件bundle没有暴露出来,无法获取。那么我们只需要将bundle与framework一起放入目标工程即可。...最后在要使用ABC.framework的工程,新建一个文件夹or group,然后把ABC.framework和ABC.bundle一起拖进去,就可以啦。 Have Fun!

3.1K31
领券