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

Flutter android构建目录有多个apks

Flutter是一种跨平台的移动应用开发框架,可以同时开发Android和iOS应用。在Flutter中,Android构建目录中可能会生成多个APK文件。

Android构建目录中的多个APK文件是由Flutter的构建系统生成的,每个APK文件对应不同的CPU架构和屏幕密度。这是因为Android设备的硬件和屏幕规格各不相同,为了兼容不同设备,Flutter会根据设备的CPU架构和屏幕密度生成对应的APK文件。

具体来说,Flutter的构建系统会根据设备的CPU架构生成对应的so库文件,并将这些so库文件打包到对应的APK中。同时,根据设备的屏幕密度生成对应的资源文件,并将这些资源文件打包到对应的APK中。这样,每个APK文件就可以适配不同的设备。

在Flutter项目的Android构建目录中,常见的APK文件包括:

  1. app-armeabi-v7a-release.apk:适用于使用ARMv7架构的设备。
  2. app-arm64-v8a-release.apk:适用于使用ARM64架构的设备。
  3. app-x86_64-release.apk:适用于使用x86_64架构的设备。
  4. app-x86-release.apk:适用于使用x86架构的设备。

这些APK文件可以通过安装到对应的设备上进行测试和发布。在发布应用时,可以将这些APK文件打包成一个安装包,以便在不同的设备上安装和使用。

推荐的腾讯云相关产品是腾讯云移动开发套件(Mobile Development Kit,MDK)。MDK是一款提供全生命周期移动应用开发的云端一体化开发工具,支持Flutter开发框架。通过MDK,开发者可以快速构建、部署和管理移动应用,提高开发效率和用户体验。

了解更多关于腾讯云移动开发套件的信息,请访问腾讯云官方网站:腾讯云移动开发套件

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

相关·内容

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

Flutter代码编译后,所有的业务逻辑都会打包在libapp.so一个文件里。但如果使用了延迟加载,便可以分拆为多个so文件,甚至一个Dart文件也可以编译成一个单独的so文件。...本例中box.dart被称为一个加载单元,即loading_unit,每一个loading_unit对应唯一的id,一个deferred component可以包含多个加载单元。...此时,gen_snapshot不会立即去编译app,而是先运行一个验证程序,目的是验证此工程是否符合动态下发dart代码的格式,第一次构建时肯定不会成功,你只需要按照编译提示去修改即可。...--apks=/app.apks 2.3 loadLibrary()方法调用的生命周期 图1 官方实现方案介绍图(来源:https://github.com/flutter...3.3 本地验证 运行 flutter build appbundle --release --target-platform android-arm64 命令生成app-release.aab文件。

2K10
  • Android Studio中mipmap目录和drawable目录什么区别

    使用Android Studio开发时发现有2个目录可以放置图片: mipmap vs drawable,那么他们什么区别呢?该选择哪个呢?...Google官方介绍:Managing Projects Overview drawable/ For bitmap files (PNG, JPEG, or GIF), 9-Patch image...The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi...information about using the mipmap folders, see Managing Launcher Icons as mipmap Resources 答案2: Mipmaps早在Android2.2...我认为 mipmap 支持多尺度缩放效果很好,比如一个 200*200 的图片缩放,如果我们使用 mipmap 那么系统会根据当前缩放范围选择 mipmap 里面恰当的图片,而不是想 drawable 目录下是根据当前设备的屏幕密度选择恰当的图片

    47630

    浅谈Android App Bundle

    App Bundles 将一个 apk 拆分成多个 apk,我们的 apk 一般会被拆分为如下几个部分: Base Apk:首次安装的apk,公共代码和资源,所以其他的模块都基于Base Apk; Configuration...Bundle(s) 编译结束后.aab文件目录位置为: app -> build -> outputs -> bundle -> debug/release 使用可视化界面操作,操作更加简洁,...在蓝盾上自动集成构建的时候,无法使用可视化操作的方式,只能使用命令行的方式。...命令行构建更加的灵活,可以在启动构建的时候,通过参数来控制构建脚本 测试.aab文件 不论通过那种方式编译出的.aab文件,我们都会进行基本的验证。...以下两种方式: 使用 bundletool 在本地测试 Android App Bundle 在Google Play中通过网页分享的形式 这里介绍第一种方式进行测试 1、先从github 下载

    1.5K10

    Flutter Android 工程结构及应用层编译源码深入分析

    /webview_flutter为例,这个目录下 lib 及对应平台目录为项目主要依赖,如下: [在这里插入图片描述] 对应在 Android Studio 中依赖展开的样子如下: [在这里插入图片描述...build.gradle源码流程分析 先看项目 android 下根目录的build.gradle,如下: //......省略无关紧要的常见配置 // 看到了吧,他将所有 android 依赖的构建产物挪到了根目录下的...") project.android.buildTypes { //11、新增profile构建类型,在当前project下的android.buildTypes...def addFlutterDeps = { variant -> if (shouldSplitPerAbi()) { //2、常规操作:如果是构建多个变体...flutter gradle.include ":flutter" //3、flutter module android真正的实现位于.android/Flutter目录下 gradle.project

    3.1K33

    Google IO 之 Android App Bundles 是个啥

    Split Apks split apksAndroid 5.0开始提供多apk构建机制,借助split apks可以将一个apk基于ABI和屏幕密度两个维度拆分城多个apk,这样可以有效减少apk体积...针对不同cpu架构问题,国内应用开发商大部分都会将so文件只放在armabi目录下,如此做虽然可以有效减少包体积,但可能带来性能问题。...dynamic feature module编译所使用的插件com.android.dynamic-feature,那么该插件何独特之处。...我们通过编译产物分析,运行示例后,发现在所有dynamic feature模块build目录下均会生成apk文件。com.android.dynamic-feature独特之处编译目标是apk文件。...split apks资源加载在SplitCompat#a(boolean)方法反射调用AssetManager#addAssetPath(String)。

    2.4K20

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

    AAB并不是一个插件化框架,它利用的是Android Framework提供的split apks技术来完成的,而所有安装split apk工作均是通过IPC交由google play完成。...想了解更多关于split apks的内容,请关注这里: https://developer.android.com/studio/build/configure-apk-splits?...,比如签名,MAIN入口等,详细请阅读: https://developer.android.google.cn/studio/projects/dynamic-delivery 3.构建App Bundle...当你是3.2以上的studio时候,就可以选择build bundle,来构建app bundle的文件 构建出来就是一个.aab文件 4.通过bundletool工具来测试你的....--bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks 这个命令构建出来的是没有签名的文件,要有签名的,需要如下: bundletool build-apks

    1.2K10

    Android 必知必会 - Android Studio 2.3 找回 exploded-aar 目录【官方更新】

    查看 Issue 详情:Issue 页 — 更新于 2017-05-11 ---- 升级到 Android Studio 2.3 后,Gradle Plugin 也升级到 2.3.0,对应推荐使用的 Gradle...这时候会发现项目目录下 {module name}/build/intermediates/exploded-aar/ 目录没了,经过一番查找,发现这并不是一个 Bug,是官方刻意为之,它会在 {user...name}/.android/build-cache 下生成一部分缓存文件,来代替 exploded-aar ,如果需要生成它,可以配置项目目录下的 gradle.properties ,添加一行内容...: android.enableBuildCache=false 然后重建项目即可在 {module name}/build/intermediates/ 看到 exploded-aar 目录了。...想重新开启 BuildCache 功能,可以修改为 android.enableBuildCache=true 或者直接删除本行内容即可。

    66920

    来了解下 Android App Bundle

    分拆 APK (在 Lollipop 中引入) 是从给定的 Android App Bundle 生成的,其行为与单个 APK 无异。一个典型的应用可以获得一个基础 APK 和多个配置 APK。...= APK Android App Bundle 与 APK 一些相似之处,但它们是截然不同的,且用于不同的目的。...Android App Bundle 是单一工件,因此无需构建、签名或管理多个 APK。 您可以为特定用例和受众添加动态功能,而无需增加安装时的应用体积。...使用 bundletool,您可以构建 Android App Bundle,提取连接的设备配置,生成 APK Set 文件 (.apks),从 APK Set 文件中提取或安装 APK,以及验证应用束...这是 bundletool 接受的所有命令:build-bundle,build-apks,extract-apks,get-device-spec,install-apks,validate 和 version

    1.9K20

    2020 Google 开发者大会:AndroidFlutter 哪些更新?

    Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,跨平台、高保真、高性能等优点。也正因为这些革命性的优点,从发布到现在,它的热度一路攀升,受到了很多开发者的热切青睐。...Flutter 把团队的绝大部分技术讨论放到了公开的聊天服务器上,已经很多社区的开发者通过这一渠道参与了 Flutter 的研发过程; Flutter 进一步完善了贡献代码的流程和指南文档; Flutter...开放的生态建设 截止今年 9 月,Pub.dev 上已经了超过 12000 个与 Flutter 兼容的包,对比一年前增长了 2.5 倍。 在提高包数量的同时,高质量的包比例也在逐步升高。...Lite 导入模型; 构建和部署更快:借助 Kotlin Symbol Processing,在 Gradle 中缓存任务图以及将应用更快部署到 Android 11 上的所有设备; 游戏工作更强大:...Jetpack Compose 是一个功能强大的 UI 工具包,可通过对平台 API 对的本地访问快速在 Android构建漂亮的 UI,并与现有的 Android 视图具有完全的互操作性,无需重写代码

    66310

    Android Gradle 插件】AndroidSourceSets 配置 ① ( Overlay 重叠包机制 | 使用 sourceSets 配置多个 res 目录 )

    文章目录 一、Overlay 重叠包机制 二、使用 sourceSets 配置多个 res 目录 Android Plugin DSL Reference 参考文档 : 文档主页 : https://...一、Overlay 重叠包机制 ---- 在 " AS项目根目录/app/src/main " 目录下创建一个 " res2 " 目录 , 将该目录也作为资源目录 , res2 目录下创建 values...目录 , 并在其中创建 strings.xml 文件 , strings.xml 文件 内容如下 : res2SVG 二、使用 sourceSets 配置多个 res 目录 ---- 使用 sourceSets 配置多个 res 目录 , 在 " android..., 不能有重复名称的资源 , 否则报错 ; 参考 【错误记录】Android Studio 编译报错 ( Error: Duplicate resources | 使用 sourceSets 配置多个

    1.1K20

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

    因此为了省时省力,大多数开发者都会选择构建一个通用 APK,即包含语言包、代码等在内的所有资源。不论用户身处何处、使用何种规格的设备,只需下载这个通用 APK 即可,这就造成APK包大的问题。...所以说,AAB 格式其实并不是一个全新的应用安装包,而是一套软件的包管理方案,我们可以将它当做一个容器,里面包含着一个基本 APK 和多个用于特定配置的 APK。...AAB 的优势与特点 相较于传统的APK方式,AAB 哪些优点呢?首先,便是上文所提到的应用体积缩小。...最后打包完成,会生成一个xxx.aab的文件,如下图: AAB转APK 虽然从结果看来,以 AAB 格式分发新应用对开发者和用户都有益处,但还是部分人对此有些担忧。...--apks=finalapp.apks

    1.7K40

    Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

    文章目录 一、settings.gradle 构建脚本分析 1、Maven 远程仓库配置 2、目录配置 3、完整代码示例 二、根目录下 build.gradle 构建脚本分析 一、settings.gradle...RepositoriesMode.FAIL_ON_PROJECT_REPOS) 代码的含义是 解析依赖时 , 只能使用本脚本块中的 Maven 仓库 , 不能使用 Module 子项目中的依赖 ; repositoriesMode 模式两种...Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 ) 博客中的配置 , pluginManagement...settings.gradle 构建脚本中的目录设置 : rootProject.name 用于指定工程根目录 , 在该目录下有一个 build.gradle 构建脚本 , 声明后会自动执行该构建脚本...build.gradle 构建脚本分析 ---- 根目录下 build.gradle 构建脚本如下 : // Top-level build file where you can add configuration

    1.9K01

    Android开发 经验技巧汇总(基于Android Studio)(二)

    文章目录 1.复制Assets文件到手机SD卡 2.Androidstudio中添加jar包的方法 3.在Android Project种编写并独立运行测试纯Java代码 方法一:通过Java Library...下的文件复制到SD卡的app/apks目录下,则这样调用: FileUtils.getInstance(Context context).copyAssetsToSD("apks","app/apks"...如果你需要收到文件复制完成的时的回调,则使用如下代码 FileUtils.getInstance(Context context).copyAssetsToSD("apks","app/apks").setFileOperateCallback...jar包,比如这里放了一个sun.misc.BASE64Decoder的jar包进去,选中sun.misc.BASE64Decoder,右键,选择add as library,放进你的module中(要是多个...Next–>Finish,此步骤最重要是选择Java Library,请注意选择,可能你需要下拉到最底下才能找到,如图: ?

    1.3K20

    使用 Android Studio 进行 Flutter 开发

    如果 widget 在你预想不到的情况下发生了重载, 说明你可能需要重构代码,将大型的构建方法拆分成多个 widget。...Flutter 应用包含了一个名为 android 的子目录, 如果你在 Android Studio 中将该目录作为单独的项目打开, 则 IDE 将可以完全支持编辑和重构所有的 Android 文件(...在进行操作之前,请确保你使用的是最新版本的 Android Studio 和 Flutter 插件。 在“项目视图”中,你可以在 flutter 应用的根目录下看到一个 android 的子目录。...如果 Android Studio 已打开,也可以点击 File > Open。 打开 flutter 应用根目录下的 android目录。...如果你还未运行过你的 Flutter 应用,可能会在打开 android 项目时,看到 Android Studio 构建失败的报告。

    6.3K30
    领券