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

Android App Bundle会自动从下载的APK中加载类吗?

Android App Bundle(AAB)是一种用于发布Android应用的文件格式。它是一种更高效的方式来构建和交付应用程序,可以根据设备配置和用户需求动态生成最优化的APK文件。

在Android App Bundle中,类是按需加载的,而不是在下载的APK中预先加载。这意味着在用户安装应用程序时,只有当前所需的类和资源会被下载和加载,而不是整个应用程序的所有类。这种按需加载的方式可以减少应用程序的安装包大小,提高应用程序的启动速度和性能。

Android App Bundle通过使用动态特性模块(Dynamic Feature Modules)来实现按需加载。动态特性模块是一种可选的模块,可以根据用户的需求进行下载和安装。这使得开发人员可以将应用程序的不同功能和资源划分为独立的模块,并根据用户的需求进行动态加载。

对于开发人员来说,需要确保应用程序的类和资源在需要时可用。可以使用Android的动态特性模块来定义和管理按需加载的模块。此外,还可以使用Android App Bundle的工具和插件来构建和优化应用程序的发布版本。

腾讯云提供了一系列与Android应用程序开发和发布相关的产品和服务。例如,腾讯云移动应用开发平台(https://cloud.tencent.com/product/madp)提供了丰富的开发工具和资源,帮助开发人员快速构建和发布Android应用程序。腾讯云还提供了云存储、云数据库、云服务器等基础设施服务,以支持Android应用程序的后端开发和部署。

总结:Android App Bundle不会自动从下载的APK中加载类,而是通过按需加载的方式,在用户安装应用程序时动态下载和加载所需的类和资源。腾讯云提供了一系列与Android应用程序开发和发布相关的产品和服务,帮助开发人员构建和优化Android应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

安卓应用告别APK格式

Android平台中,dalvikvm执行文件被打包为apk格式,最终运行时加载先解压,然后获取编译后androidmanifest.xml文件permission声明对安全访问限制,要知道仍然存在很多安全限制...那么这究竟是怎么做到? 分拆 APK (在 Lollipop 引入) 是给定 Android App Bundle 生成,其行为与单个 APK 无异。...开发者可以把这些用途或功能添加到他们应用,Google Play 按需提供这些动态功能模块,而不是在安装时统一添加,从而进一步减少应用下载体积。...当用户下载应用程序安装包时,Google Play 自动识别用户语言和 CPU 架构,自动将对应平台 SO 和资源 APK 下发给用户。...除了压缩体积外,ABB在“ 防二次打包”一安全性上也有所表现,可安卓这一次改动真是技术更迭推动又或者为了给用户更好使用体验

1.3K40

Android Q 开发者常见问题 | FAQ・第二期

64-bit Q: 为应用添加 64 位架构支持带来 APK 体积增大,但 Google Play 只允许上传最大 100MB APK,这种情况应该如何解决?...A: 我们强烈建议您使用 Android App Bundle,这是 Android 所支持一种官方发布格式,可让您以更高效方式开发和发布应用。...当您发布 Android App Bundle 文件到 Google Play 时,如果 Google Play 分析并发现任何一个可能设备下载包超过 150MB 时,将会拒绝这个 App Bundle...如: 当用户首次下载应用时,基础 APK 加上为特定设备而构建 APK 之和不超过 150MB。除了 Android App Bundle 方式,您也可以为不同架构发布不同 APK 文件。...此外,我们还在应用系统启动映像中加入了更多信息,例如,并借助线程管理加快映像文件加载速度。

14910

【Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 使用 )

可能已经覆盖 ) : https://github.com/han1202012/Navigation NavigationUI 支持一些系统自带控件 , 配置后 , 自动跳转 Fragment...开发 , NavigationUI 是 用于构建 和 管理应用程序导航界面 重要工具 , 可以极大地提高开发效率 ; 一、NavigationUI 简介 NavigationUI 是 Google...(Blank) " 选项 , 在弹出界面 , 输入 Fragment 名称 , 创建新 Fragment ; 创建 Fragment 时 , 自动生成对应 布局文件 : 注意 : 该操作比较坑..., 生成 Fragment 时 , 自动添加 Kotlin 语言插件 Gradle 依赖 , 必要时可以删除该依赖 ; 自动生成依赖没有配置 Maven 源 , 会报错 ; buildscript...app:layout_constraintTop_toTopOf="parent" /> b、处理 Navigation 导航逻辑 ( 重点 ) 首先 , 获取 NavController , 布局文件定义

61040

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

Android Studio 构建 App Bundle 与构建 APK 过程大致相同。使用 Unity 游戏开发者也可以在 Unity 2018.3 测试版及更高版本构建应用束。...Android App Bundle 是开源和向下兼容 (对于 Android L 之前版本,Play 自动使用多 APK——即 Play 为每个设备配置生成一个 APK,包含所有语言资源,而不是使用分拆...使用 Android App Bundle 开发者 APK 大小平均比之前采用“完整 APK”小 3.5% (“完整 APK”是指一个 APK 包含了 Android App Bundle 支持所有设备配置和语言所需一切...在 Android M 之前,您应用包含任何本地代码库都必须 APK 解压缩。这意味着每个设备上都安装了两个代码库副本:APK 压缩副本和未压缩副本。这会导致空间浪费。... Android M 开始,您可以直接以未压缩状态 APK 读取代码库。Play 在下载过程APK 压缩通常比压缩 APK 本地代码库更有效,因此整体下载体积也更小。

1.7K20

浅谈Android App Bundle

我们和上架国内应用市场一样提供了一个apk,收到了如下提示: Google 给出描述,提到通过 Android App Bundle来进行优化。...文件),之后用户在下载应用时,Google Play应用服务针对下载用户设备配置生成并提供经过优化 APK,因此他们只需下载运行应用所需代码和资源,不需要下载原先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...有以下两种方式: 使用 bundletool 在本地测试 Android App Bundle 在Google Play通过网页分享形式 这里介绍第一种方式进行测试 1、先从github 下载

1.5K10

Android动态化框架App Bundles

Android App Bundles 在今年Google I/O大会上,Google向 Android 引入了新 App 动态化框架(即Android App Bundle,缩写为AAB),与Instant...现在只须在 Android Studio 构建一个应用束 (app bundle),就可以将应用所需全部内容 (适用于所有设备) 都涵盖在内:所有语言、所有设备屏幕大小、所有硬件架构。...,将一个apk拆分成多个apk,按需加载(包括加载C/C++ libraries),这样开发者可以随时按需交付功能,而不是仅限在安装过程。...Android App Bundle 通常会包括以下几个文件: Base Apk:首次安装apk,公共代码和资源,所以其他模块都基于Base Apk; Configuration APKs:native...Build Bundle(s) Android App Bundle提供一种全新编译产物格式文件aab,使用Android Studio提供App Bundle即可。

1.3K40

打造您首个 app bundle | MAD Skills

在这篇文章,我们详细介绍如何构建您第一个 app bundle、如何通过 Play Console 上传 app bundle 以及深入理解一些配置选项。...Play Console 中高亮 (绿色) 部分是为了上传 app bundle 准备 Bundle 文件上传之后,Play 商店根据用户设备配置来优化 APK 文件。...同时这一步也缩小下载和安装尺寸。...在 app bundle explorer 打开过滤下拉菜单 下载应用 bundle 并在本地安装 在 app bundle explorer 页面的末尾有一个 "Download" 按钮可以下载一个...即便如此,使用 Android App Bundle 还可以提供给您按需加载功能模块方法,而这一方法可以帮助您应用避免安装那些只有一小部分用户可能使用功能模块。

86520

React Native热更新方案

你可以使用switchVersion函数立即切换版本(此时应用立即重新加载),或者选择调用 switchVersionLater,让应用在下一次启动时候再加载版本。...发布安卓应用 Android打包流程和原生打包apk流程一样,然后在android文件夹下运行..../gradlew assembleRelease,你就可以在android/app/build/outputs/apk/app-release.apk中找到你应用包。...pushy uploadApk android/app/build/outputs/apk/app-release.apk 发布热更新版本 你可以尝试修改一行代码(譬如将版本一修改为版本二),然后生成新热更新版本...return builder.build(); } ... } 注:由于采用加载文件系统下 bundle 文件形式,在测试过程中发现通过此形式加载 bundle 文件,图片加载时不能读取到

9.3K70

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

概述 Android App Bundle是Google最新推出Apk动态打包,动态组件化技术,与Instant App不同,AAB是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积...再说直白一点就是,比如,项目中可能xxhdpi,xhdpi各有一套图,或者x86,armeabi又各有一套so库,以前安装方式,是把这些全部装进用户手机,使用App Bundle,假设你是一个...x86,xxhdpi手机,那么App Bundle帮你拼装好一个apk,这个apk资源只有xxhdpi,而且so库只有x86,其他无关都会剔除。...authuser=2 如何使用App Bundle 1.将你Android Studio升级为3.2及其以上版本 2.添加对Dynamic Delivery支持 其实就是一些基础apk需要东西...Enable on-demand: 是否启用按需下载,如果不启用,直接打进Apk Fusing:熔断操作,是否安装到不支持按需下载设备 Module title: 模块标题 对于动态组件一些使用场景

1.2K10

Android App Bundle:动态功能模块

本文并不是介绍Android App Bundle,因为它不是新事物,相关文章也有很多了,本文重点介绍Android App Bundle“动态功能模块”实际应用。...Android App Bundle Android App Bundle是基于google play分发技术,可以有效减少apk大小。...Android App Bundle可以自动将不同分辨率、语言、平台(CPU)资源分别打包,这样当安装时只根据当前设备安装对应资源,这样大大节省了内存空间。...默认情况下,Android Studio 不会使用 app bundle 部署您应用,而是由 IDE 构建针对部署速度(而非 APK 大小)进行了优化 APK,并将其安装到设备。...此外,在下载并安装您应用时,系统随该应用基本 APK 自动下载并安装支持免安装体验功能模块。因此,IDE 还会在支持免安装体验功能模块添加以下内容。

2K20

Deferred Components-实现Flutter运行时动态下发Dart代码

01  引言 在今年敏捷团队建设,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我Runner探索之旅开始了!...这样带来好处是显而易见,可以将一些不常用功能放到单独so文件,当用户使用时再去下载,可以大大降低安装包大小,提高应用下载转换率。...java -jar bundletool.jar build-apks --bundle=/build/app/outputs/bundle/release/.../flutter/wiki/Deferred-Components) 官方实现方案可以知道,只有调用了loadLibrary方法后,才会去真正执行deferred components下载与安装工作...loadDartLibrary:主要是负责找到so文件位置,并调用FlutterJNI dlopen命令打开so文件,你可以直接传入apk位置,flutterJNI直接去apk加载so,避免处理解压

1.9K10

Flutter包大小治理上探索与实践

App打包时,会将配置1文件压缩上传到动态发布系统,并从APK移除。 App每次启动时,向动态发布系统发起请求,请求需要下载压缩包,然后下载到本地并解压,如果本地已经存在了,则不进行下载。...然后通过DynLoader提供上传插件将libflutter.so、libapp.so和flutter_assets/bundle.zipAPK移除,并上传到动态发布系统托管。...图16 Flutter 资源加载相关图 AssetBundle为资源加载抽象,网络资源由NetworkAssetBundle加载,打包到Apk资源由PlatformAssetBundle加载。...3.2.4 字体动态加载 字体属于一种特殊资源,其有两种加载方式: 静态加载:在pubspec.yaml文件声明字体及为静态加载,当引擎初始化时候,自动AssetManager中加载静态注册字体资源...动态加载:Flutter提供了FontLoader来完成字体动态加载。 当资源动态下发后,assets已经没有字体文件了,所以静态加载失败,我们需要改为动态加载

1.7K21

学习|Android检测并自动下载安装包(Kotlin)

本文长度为2819字,预计阅读6分钟 Android检测并自动下载安装包 上一篇文章《学习|Android使用TTS语音合成》我们学习了Android用TTS语音合成播放声音,其中因为要播放中文,所以需要下载讯飞语音合成包...,项目应用的话如果让用户自己寻找并下载太麻烦,所以为了增加用户体验,这一篇我们就研究一下怎么检测是否需要下载安装包,如果需要并自动下载。...初始化TTS之前,先检测讯飞语音合成包是否已经安装 2. 如果安装,直接进行初始化配置,如果未安装检测是否能访问外网 3. 不能访问外网直接提示初始化失败,能访问外网自动下载安装包 4....下载完成后显示点击安装按钮进行安装,再加入一个调用TTS配置按钮进行语音设置 代码实现 DownloadHelper 这个网上找,通过AsyncTask方式实现安装包下载,加入了一个onDownloadInferface...接口实现,网上这个是JAVA写,这里我自己用Kotlin重新写了一篇(其实复制过来可以自己转换),但是这样对自己学习Kotlin没有什么太大帮助,直接贴出代码,其中外部调用时在Java静态方法直接前面加上

1.3K10

Android 插件化】插件化原理 ( 加载器 )

资源 ) 【Android 插件化】“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 ) ---- 文章目录 Android 插件化系列文章目录 一、" 插件化 " dex 文件 二、加载器分析...三、获取加载器 四、双亲委派机制 一、" 插件化 " dex 文件 ---- 现在大型 Android 项目 , 基本都是 组件化 + 插件化 开发 , 项目架构上都是 组件化 框架 ,..." 插件 " APK 界面 , 首先先 下载对应 插件 APK 文件 , 将其放在 内置存储区 , 然后加载APK 文件 , 主要是 加载器 DEX 文件 Class 字节码数据..., 可以将其加载到应用 , 并跳转到该界面 ; 二、加载器分析 ---- 加载 是 通过加载引擎 , 将字节码数据加载到 Java 虚拟机运行期数据区 Java 虚拟机栈 ;...ClassLoader 加载涉及到 双亲委派机制 , Android 顶级加载器 ClassLoader 是 BootClassLoader , 然后其下是 PathClassLoader , PathClassLoader

49110

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

那么这究竟是怎么做到? ? 分拆 APK (在 Lollipop 引入) 是给定 Android App Bundle 生成,其行为与单个 APK 无异。...更棒是,当设备配置 (如语言) 发生变化时,Google Play 检测到它,并下载该语言配置 APK。...开发者可以把这些用途或功能添加到他们应用,Google Play 按需提供这些动态功能模块,而不是在安装时统一添加,从而进一步减少应用下载体积。...想要更好地控制 Android App Bundle 进行拆分方式的话,您可以应用束设置区块中进行精确设置: ?...开通应用签名后,Google Play 自动生成并签署发送给用户设备 APK。 ? 上传后,单击应用束并选择 Explore App Bundle 即可查询节省空间大小。

1.9K20

重要变更: Android App Bundle 未来计划

现代 Android 应用分发 如果您尚未采用 App Bundle,这意味着您错过了以下优势: Android App Bundle: Google Play 使用 App Bundle 生成并优化...关于 Android App Bundle 一些常见问题回答 Q:相比 APK 而言,使用 App Bundle 开发应用需要多少工作量?...您可以在本地面向所有分发渠道构建并签名工件,或者 Google Play 中下载可分发 APK,并发布于其他渠道。... Google Play 下载 APK,无论其是通过 Play 管理中心中 App Bundle 资源管理器还是 Play Developer API 进行下载,均由 Play 应用签名管理同个密钥进行签名...不过,要做到这一点,当您上传 App Bundle 时,您还需要上传使用旧密钥签名APK,这样一来,Google Play 即可继续向现有用户推送更新。 Q:我可以更改我应用签名密钥

1.1K40
领券