首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获得更小的应用文件尺寸?来了解下 Android App Bundle

构建 App Bundle 大多数应用项目都不需要花费太多精力来构建支持动态交付的应用束。...方便强大的 bundletool Bundletool 是一个用于处理 Android App Bundle 的命令行工具。...使用 bundletool,您可以构建 Android App Bundle,提取连接的设备配置,生成 APK Set 文件 (.apks),从 APK Set 文件中提取或安装 APK,以及验证应用束...使用 bundletool help 获取有关命令的详细信息,例如标识符和其他选项。 在以下示例中,我们将找到已连接设备的配置,构建 APK,并为连接的设备安装 APK。 ?...动态功能模块 动态功能模块让您可以将特定的功能移动到单独的模块中。我们使用动态交付技术,根据需要向用户提供这些功能。动态功能模块需要您的仔细考量,以及付出一些工作量进行实际的拆分。

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

概述 Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,与Instant App不同,AAB是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积...当你是3.2以上的studio时候,就可以选择build bundle,来构建app bundle的文件 构建出来就是一个.aab文件 4.通过bundletool工具来测试你的....aab文件 下载地址:https://github.com/google/bundletool 解压出来就是一个jar包,以bundletool-all-0.6.0.jar为例子 bundletool-all...Enable on-demand: 是否启用按需下载,如果启用,会直接打进Apk Fusing:熔断操作,是否安装到不支持按需下载的设备中 Module title: 模块标题 对于动态组件的一些使用场景...语言包的动态下发 当Split 针对语言进行划分时候,用户下载的Apk仅仅只能下载下来一个Base Apk,包含他的当前系统语言,你可以将其他语言包作为Dynamic feature下发给用户,做到语言包的动态下发

1.2K10

谷歌弃用APK包格式,转而使用AAB格式

但在这种情况下,应用开发者便承受太多:不仅要开发应用,还要管理许多 APK 以支持大量设备。 因此为了省时省力,大多数开发者都会选择构建一个通用 APK,即包含语言包、代码等在内的所有资源。...不论用户身处何处、使用何种规格的设备,只需下载这个通用 APK 即可,这就造成APK包大的问题。...给予这一机制,很多公司在最近两年都用它实现了插件化和动态化下发的功能,参考文档:Android App Bundle。...其次,AAB 的 Play Feature Delivery 功能可自定义将哪些功能模块交付给哪个设备,支持安装时交付、按条件交付和按需交付等三种模式。...为此,谷歌已经开发了一个名为 bundletool 的开源工具,允许开发人员从 AAB 包中创建 APK,因此想在第三方商店中发布 Android 应用程序的开发人员可以手动导出其应用的 APK 版本。

1.4K40

功能模块使用导航 | MAD Skills

概述 在 上一篇文章 中,您已经学会了如何在多模块工程中使用导航 (Navigation)。在本文中,我们将更进一步,将咖啡模块转换成功能模块 (Feature Module)。...如果对功能模块不太熟悉,您可以先查看这个 视频 内容。 功能模块在安装时并未下载到本地,而是当应用使用到某个功能时才会下载相应的功能模块。...现在我将使用 bundletool 来测试功能模块,您也可以使用 Play 控制台来测试功能模块。...如果您想了解更多关于如何使用 bundletool 和 Play 控制台来测试功能模块安装的内容,请查看这个 视频。 我也想测试当模块无法安装时会发生什么。...△ 自定义 progressFragment 类似地,我可以使用 bundletool 测试应用以查看当咖啡模块正在下载时,进度条会如何工作。 小结 感谢大家!

54110

『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium

第二种是:基于Instrumention,把测试APK和被测APK运行在同一个进程中,通过Java反射机制来获取当前窗口的所有视图,如Robotium常用的测试工具有:UI Automator、Appium...12 安装配置AppiumAppium官网:图片点击左侧的install Appium使用NPM安装:npm i --location=global appium命令行输入appium即可:C:\Windows...GUI界面去安装appium-desktop;图片选择的对应包即可:图片这里需要注意下,官网给出了明确说明,appium-desktop将不再支持Appium 2.0+版本,建议使用令行方式,图片13...npm i -g mjpeg-consumer安装即可;排查也是ok了:图片14.5 bundletool.jar问题第五个问题:bundletool.jar cannot be found下载安装bundletool.jar...,bundletool.jar下载:图片下载后为bundletool-all-1.15.6.jar重新命名为bundletool.jar,在android sdk目录下,新建bundle-tools目录

1.4K61

为什么Flutter是跨平台开发的终极之选

开发者也不需要为了支持多种设备而构建、发布和管理多个 APK 了。 7....减小 APK 大小 Android 应用包使用APK 拆分机制可以缩减应用的大小,并支持 Android 应用程序的动态交付等新功能。 8....动态功能模块 此功能允许开发者将某些功能和资源与应用程序的基础模块分离开来,并将前者添加到应用程序包中。 例如,如果你的应用包含相机功能,则可以将其设为动态模块。...还有的工具允许用户从命令行和 Dart DevTools 构建应用以进行调试。 此外,它还允许开发者查看日志、调试应用,并检查 Flutter 应用开发的小部件。...Watermaniac 已决定使用 Flutter 构建其应用。该应用能帮助用户监控他们摄取的水量。 ? 07 构建 Flutter 应用的成本 构建应用当然需要花费时间和资源。

2K20

Android App Bundle:动态功能模块

当您构建 app bundle 时,Gradle 会使用子项目名称的最后一个元素在功能模块的清单中注入 属性。 指定该模块的 package name。...默认情况下,Android Studio 不会使用 app bundle 部署您的应用,而是由 IDE 构建针对部署速度(而非 APK 大小)进行了优化的 APK,并将其安装到设备中。...如需将 Android Studio 配置为通过 app bundle 构建和部署 APK 以及免安装体验,请修改运行/调试配置。...免安装分发 还有一种动态功能模块,即免安装分发。Google Play 免安装体验让用户无需在设备上安装 APK 即可与您的应用互动。...但是动态功能模块(尤其按需分发)一定要设计好,否则用户在使用过程中还要频繁的下载模块也会降低用户体验。

1.9K20

为什么说它对 Android 未来的发展十分重要?

第 2 步:当您准备好测试或发布应用时,您可以将其构建APK,也就是 Android 的应用格式。作为构建 APK 的一部分,您可以使用应用签名密钥对其进行数字签名。...使用动态功能也是在 Android 上动态加载代码的安全做法,因为动态功能模块的扫描和检查方式与 Google Play Protect 扫描和检查应用本身的方式相同。 ?...任何应用功能都可以包含在动态功能模块中,并按需提供。您可以像编写应用一样对动态功能进行编码。...一些开发者还在探索动态功能,避免为仅仅是略有不同的用户群体提供为数过多的不同应用变体。 很少使用的功能:动态功能模块的另一个用武之地是,用于那些很少使用或仅使用一次的功能。...使用动态功能模块逐步加载功能是大幅减少应用体积的众多方法之一。10MB 的大小限制仅适用于将启用了免安装功能的应用束推送到生产环境的时候,所以在此之前您可以在超出大小限制的情况下对其进行测试。

1.7K20

六个小技巧帮你瘦身Android APK

存储空间:手机设备的存储空间是有限的,用户希望一个应用占用大部分存储空间。 下载速度:大型APK文件需要更长时间来下载,尤其是在慢速网络条件下。...资源分析工具:使用资源分析工具,如AndroGuard来识别未使用的资源文件。 分包和动态交付 Android应用支持分包和动态交付功能,这意味着应用可以根据需要下载额外的功能模块。...这有助于将APK文件的初始大小保持较小。 动态交付:将应用的功能模块划分为可下载的模块。根据用户需求,只下载所需的模块,减小初始APK的大小。...应用捆绑:使用Android App Bundles格式(.aab)来构建应用,Google Play会根据用户设备和语言等因素生成定制的APK文件。...结论 APK瘦身是Android应用开发中的关键任务,可以提高应用的性能和用户体验。从资源优化、代码优化、清理无用资源到分包和动态交付,以及资源替代和密度限制,都是APK瘦身的不同层面。

36820

怎么通过命令的形式列出各个linux系统已经安装的软件包?

在Alpine Linux中使用apk命令获取已安装包列表 Apk是 Alpine Package Manager 的缩写,是 Alpine Linux 的默认包管理器。...如下命令: $ apk info | wc -l 86 在 Debian、Ubuntu 中使用 apt 命令查找已安装的包 Apt为 Debian、Ubuntu 和其他基于 Debian 的系统中的包管理系统提供了高级命令行界面...dpkg 命令 dpkg是一个用于安装、构建、删除和管理 Debian 软件包的命令行工具。...要使用 列出 openSUSE 中已安装的软件包zypper,请运行: $ zypper se --installed-only 使用rpm命令 RPM命令,是用来安装和管理基于红帽系统从命令行应用程序...Flatpak是一个独立于平台的包管理系统,用于在 Linux 上构建、安装和运行沙盒桌面应用程序和运行时。

8.1K31

在 Android Instant App(安卓即时应用程序)中启用 ProGuard (混淆)

功能模块的行为与库相似,它们都将代码和资源提供给编译的最后阶段,在应用程序模块中这些都发生在将所有东西打包成一个 APK 之前。...在这种情况下,ProGuard(混淆)能够分析你的整个代码库,找出哪些类被使用,哪些可以被安全地删除。 **在即时应用程序构建中,每个功能模块都会生成自己的 APK。...**因此,与可安装的应用程序构建相反,ProGuard(混淆)可以独立运行在每个功能模块的代码中。...在即时应用程序构建过程中,我们需要将 ProGuard(混淆)配置添加到所有功能模块,因为它们都会生成 APK。...有了关于 DEX 格式和命令行 APK 分析器(一个分析 APK 中 DEX 文件的工具)的一些知识,我们可以很容易地找到所选模块中哪些被使用了但没有定义的类。

2.5K30
领券