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

创建apk文件时,我应该选择多少种支持的架构

在创建APK文件时,您可以选择支持的架构种类。架构是指计算机系统的基本结构和组织方式,不同的架构适用于不同类型的设备和处理器。选择适当的架构可以优化应用程序的性能和兼容性。

常见的Android应用程序架构包括以下几种:

  1. ARMv7:适用于大多数Android设备,包括智能手机和平板电脑。它提供了良好的性能和广泛的兼容性。推荐使用腾讯云的云服务器CVM,产品介绍链接:https://cloud.tencent.com/product/cvm
  2. ARM64:适用于64位ARM架构的设备,如一些高端智能手机和平板电脑。它提供更好的性能和更高的内存访问能力。推荐使用腾讯云的云服务器CVM,产品介绍链接:https://cloud.tencent.com/product/cvm
  3. x86:适用于基于x86架构的模拟器和一些x86架构的Android设备。它可以提供更好的性能和兼容性,特别是在模拟器上进行应用程序测试时。推荐使用腾讯云的云服务器CVM,产品介绍链接:https://cloud.tencent.com/product/cvm
  4. x86_64:适用于64位x86架构的设备,如一些高端平板电脑和台式机。它提供更好的性能和更高的内存访问能力。推荐使用腾讯云的云服务器CVM,产品介绍链接:https://cloud.tencent.com/product/cvm

根据您的应用程序的目标受众和需求,您可以选择支持一个或多个架构。通常建议至少选择ARMv7和ARM64两种架构,以覆盖大多数Android设备。

请注意,以上推荐的腾讯云产品链接仅供参考,具体选择应根据您的实际需求和预算进行评估。

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

相关·内容

安卓so库你应该注意

下面就来扯一下安卓cpu 早期Android系统几乎只支持ARMv5CPU架构,你知道现在它支持多少吗?7!...Android应用支持ABI取决于APK中位于lib/ABI目录中.so文件,其中ABI可能是上面说过ABI中。...但你不应该从你应用程序中读取它,因为 Android包管理器安装APK,会自动选择APK包中为对应系统ABI预编译好.so文件,如果在对应lib/ABI目录中存在.so文件 话。...你应该为每个ABI目录提供对应.so文件。 当一个应用安装在设备上,只有该设备支持CPU架构对应.so文件会被安装。...作为一个经验法则,当只有一个.so文件,静态编译C++运行时是没问题,否则当存在多个.so文件应该让所有的.so文件都动态链接相同 C++运行时。

1.1K20

android开发 加载so库解析和出现各种错误分析

一.android目前有几种cpu架构? 早期Android系统几乎只支持ARMv5CPU架构,你知道现在它支持多少吗?7!...Android系统目前支持以下七不同CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014...但你不应该从你应用程序中读取它,因为Android包管理器安装APK,如果在对应lib/ABI目录中存在.so文件的话,会自动选择APK包中为对应系统ABI预编译好.so文件。...六.不同开发环境so库应该放在哪里?...七.为什么一般项目中只看到armeabi文件夹? 因为所有的x86/x86_64/armeabi-v7a/arm64-v8a设备都支持armeabi架构.so文件

2.2K10

再谈Android动态链接库

前不久,我们准备将自己开发视频播放sdk提供给公司其他部门,在打包时候,同事问了一个问题,为什么我们打sdk时候需要分别提供armeabi和arm64-v8a(ps,还有其他7CPU架构)。...如果项目用到了NDK,Android apk文件将会到位于lib/ABI文件下读取相关.so文件。Android包管理器在安装APK文件,会自动选择对应系统环境下预编译好.so文件。...ABI和CPU关系 在使用so库应该注意:很多设备都支持多于一ABI,当一个应用安装在设备上,只有该设备支持CPU架构对应.so文件会被安装。...但你不应该从你应用程序中读取它,因为Android包管理器安装APK,会自动选择APK包中为对应系统ABI预编译好.so文件。...但是我们在使用不同环境进行编译时候应该做到以下几点: 当只有一个.so文件,静态编译C++运行时是没问题 当存在多个.so文件应该让所有的.so文件都动态链接相同C++运行时。

2.4K70

Android 调用so库全过程

: 这里在发送消息给Zygote进程,看到这里通过ApplicationInfo中primaryCpuAbi类型告诉Zygote改创建多少虚拟机,我们查看系统启动文件init.rc内容:...: 1、在NDK开发,可以指定多种架构类型编译出多种类型so文件。...apk文件,没有找到arm64-v8a类型so文件,这时候应用abi类型就是armeabi/armeabi-v7a了,这就是32位了,就会通知32位Zygote进程创建了一个32位虚拟机,那么此时项目中通过...so文件较大的话,apk包最终也是很大,所以这里就需要做一次选择了。...,所以理论上应该把所有架构类型so都要提供,这样给需要接入app进行选择即可,比如像百度地图SDK: 十四、总结 本文主要是介绍了Android中关于so相关知识,而这些知识点都是在使用so

6.3K21

关于so文件你需要知道知识「建议收藏」

Android应用支持ABI取决于APK中位于lib/ABI目录中.so文件,其中ABI可能是上面说过ABI中。...但你不应该从你应用程序中读取它,因为Android包管理器安装APK,会自动选择APK包中为对应系统ABI预编译好.so文件,如果在对应lib/ABI目录中存在.so文件的话。...安装ApkPackageManagerService选择解压so文件策略 在Android系统中,当我们安装Apk文件时候,lib目录下so文件会被解压App原生库目录,一般来说是放到/data.../data/package-name/lib目录下,而根据系统和CPU架构不同,其拷贝策略也是不一样,不正确地配置so文件,比如某些App使用第三方so,只配置了其中某一CPU架构so,可能会造成...倘若不正确地配置了so文件,比如某些App使用第三方so,只配置了其中某一CPU架构so,可能会造成App在某些机型上适配问题,产生上述崩溃。

2.4K10

系统应用集成过程中一些坑背景知识点正文埋坑后记参考资料

应该不至于两个目录都得集成,因为三方应用安装,从 apk 包中也只会解压一份 so 文件而已,并不会将 lib 下所有 abi 架构 so 文件都解压。...最后,选择了 ReLinker,发现它源码并不多,直接将所有源码拷贝到项目中,修改了源码中某个流程逻辑,用于解决自己这种场景下 so 文件加载问题,搞定,具体在下面的埋坑一节讲述。...当然,也可以另外一集成方式: apk push 到 system/app/{自己创建目录}/ so 文件 push 到 system/app/{自己创建目录}/lib 中 这种方式说明,请看后面的后记一章节...当然,解压 apk 遍历 so 文件,如果需要 so 文件存在于不同 CPU 架构目录中,并不加以区分,直接拿第一个遍历到 so 文件。...是两方案都做了,如果运维能够按照正常步骤集成,那么 so 文件加载异常概率应该就不会大,即使运维哪个步骤操作失误了,方案二也可以弥补。

1K20

armeabi-v7a架构(sv7a)

为什么调试模式和发行模式adobe会选择不同文件夹?...因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU能力,在AIR打包APK调试模式adobe选择是通用性强armeabi模式。...所以armeabi-v7a 应该是与AIR限定支持android2.2以上条件有关。android2.2以上能让硬件发挥更大作用。...-EOF- 在我们android APK根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们c代码编译成本地库(各种.so)就会放在这两个文件夹其中一个...现在还有x86了,其实armeabi 、armeabi-v7a 和x86是编译 NDK 库,可以使用三支持应用二进制接口(ABI):‘armeabi’ – 默认选项,将创建以基于 ARM* v5TE

1.2K10

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

支持安装交付、按条件交付和按需交付等三模式。 Play Asset Delivery : 以动态方式交付大型资源可以减少用户等待时间,同时缩减交付成本。...对于大多数应用而言,构建 AAB 文件来替代 APK 文件仅需要少量工作。这其中关键是在构建选择其他选项并按常规方式进行测试。...Q:App Bundle 为何不支持扩展文件 (OBB)?为何游戏应使用 Play Asset Delivery? APK 要求使用单独文件 (OBB) 来向用户推送更多资源。...Q:如果要发布一个新应用,能决定应用签名密钥内容吗? 可以,我们会在 Play 管理中心中提供此选项。创建新应用时,您可以选择向 Google 提供应用签名密钥。...不过,要做到这一点,当您上传 App Bundle ,您还需要上传使用旧密钥签名APK,这样一来,Google Play 即可继续向现有用户推送更新。 Q:可以更改应用签名密钥吗?

1.1K40

APK安装流程详解4——安装中关于so库那些事

Android应用支持ABI取决于APK中位于lib/ABI目录中so文件,其中 ABI可能是上面说过其中ABI (二)、关于so文件一些补充 1、so文件重要法则 处理so文件时有一条简单但却很重法则...即你应该为每个ABI目录提供对应so文件。 2、NDK兼容性 使用NDK,一般人会倾向于使用最新编译凭条,但实际上这样做是有问题。因为NDK平台是不向后兼容,而是向前兼容。...PS:当只有一个so文件,静态编译C++运行时是没有问题。但是当存在多个so文件应该让所有so文件都动态链接相同C++运行时。...3、 ABI支持CPU知识点 1、大部分CPU都支持多余一ABI 2、 当一个应用安装在设备上,只有设备支持CPU架构对应.so文件会被安装。...例如:在cpu是ARMv7架构手机上,如果检测到armeabi-v7a,就会选择安装armeabi-v7a,则armeabi下文件,就无法安装了。

4.1K10

ndk代码支持断点调试

这里有个误区是android studio其实是支持ndk-build和cmake两构建方式,但是几乎所有的博客在给教程时候都是用官方推荐cmake构建方式。...两配置方法区别在于,配置defaultconfig中ndkabifilters参数,android studio会将所有的架构so打包到一个apk中,但是如果使用productflavors,将会根据不同架构打包不同...google play是支持根据架构下发不同apk到手机上,但是国内应用市场不支持。因此如果要在国内上线建议还是使用abifilters参数方式。...选择build->analyze apk,从app/build/outputs/apk/目录中选择apk并点击ok。这时候可以在lib//下看到相应so ?...ndk-build构建方式以后可能会不支持,但是那应该也是swift发布10.0版本时候了。

3.8K61

Android性能优化之APK瘦身详解(瘦身73%)

公司项目在不断改版迭代中,代码在不断累加,终于apk包不负重负了,已经到了八十多M了。可能要换方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现阶段。...优化过后包大小为23.1M(优化了73%,不要说标题党)。好了好了,要阐述apk超级无敌魔鬼瘦身之心得了。 目录如下图: ? 文章主要内容从理论出发,再做实际操作。...修改lib配置: 参考资料 so文件优化:通常我们在使用NDK开发时候,我们经常会有如下这么一段代码: ndk { //设置支持so库架构 abiFilters...最后修改代码如下: ndk { //设置支持so库架构 abiFilters "armeabi-v7a" } 接下来说明这么做依据...确实有点震惊,一下子包小了这么多,从87.1M到51.9M,容好好算算少了多少M.赶快让测试帮忙测一下。基于之前理论知识,心里还是有点底。果然,测试效果和之前是一样。心里石头先落下罗。 2.

96740

「玲珑宝塔」优化 Apk 包大小

上图可看到默认支持了 89 语言类型,目前应用暂时未国际化,这块也可直接设置兼容中文即可,原谅这个强迫症。 占比排行榜依次为:源代码、资源文件、lib。 我们先挑个软柿子玩玩。...默认语言中设置为中文,且应用也只支持了中文,少了好多东西,爽得很~ 1.2 设置支持 CPU 架构类型(减少 1.5 MB) 话说这里 lib 为何兼容了这么多 CPU 架构类型???...貌似 Google 商店现在支持对应架构模式分发对应 Apk 包,这点爽每个包只需要兼容一就好了。But,ummm。...R8 每次运行时都会创建一个 mapping.txt 文件,其中列出了混淆过类、方法和字段名称与原始名称映射关系。此映射文件还包含用于将行号映射回原始源文件行号信息。...1.4 开启 Zipalign 优化 这块很湿懵逼,估计唯有鸡大行云流水了。简单摘自官方解释: zipalign 是一归档对齐工具,可对 Android 应用文件进行重要优化。

82320

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

文件来进行签名,使用android studio生成签名文件方式有两,一是使用android studio导航栏上Build->Generate Signed Bundle/APK 上图...Play之外其他应用商店 不管选择创建是Android App Bundle 文件还是APK文件,后面的流程都是一样 既然你看到这篇博客了那就说明你还没有一个正式keystore文件,所以还是点击...Create new按钮,如果你已经有一个正式文件,就选择Choose existing按钮 因为这里ljl.jks文件已经创建过了,这里新建另一个文件Gerecoc.jks,点击ok 勾选记住密码...如果前面选择创建Android App Bundle文件则这里会得到一个.aab后缀签名文件 方法二 使用Gradle生成 编辑app/build.gradle文件 然后点击右侧工具栏Gradle...app-debug.apk app_signed.apk 该指令对应上图文件目录结构,应该很轻易看懂 如上,执行指令后进行系统签名,生成了app_signed.apk 下面安装该系统签名apk

1.8K20

成功逆袭:越来越胖怎么能忍,APK瘦身之路!

xxxhdpi资源文件夹,可根据自己app用户设备选择支持2-3即可(当然一套也行) 高版本gradle已不再支持通过resConfigs "nodpi", "hdpi", "xhdpi", "...4、如果想整体移除res下某个文件夹可以添加如下aaptOptions配置,而不用打包手工删除,多个文件夹用:隔开 ?...架构支持 Android系统目前支持以下七不同CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64...所以一般应用完全可以根据自己业务需求选择使用armeabi或者armeabi-v7a一支持就行。 可以通过gradle配置 ?...动态下发 比较大so可以选择动态下发形式延迟加载,代码上需要加一些判断逻辑。 dex文件 1、添加设置minifyEnabled true,混淆、压缩代码,这个设置现在app应该都已经添加了。

67220

Flutter-Apk 大小优化探索

这里看到将我们编写 Dart 代码转化为不同架构 so 库,以供原生调用(是这么猜测哈)。...针对不同 CPU 架构所代表含义,尤其 Flutter 打包 Apk 生成 CPU 架构分别对应什么含义: x86_64:Intel 64 位,一般用于平板或者模拟器,支持 x86 以及 x86_...则是指定生成对应架构 release 包; 最后 --split-per-abi 则表示告知需要按照我们指定类型分别打包,如果移除则直接构建包含所有 CPU 架构 Apk 包。...所以这个命令含义就是告诉编译器,需要你为针对指定不同架构分别生成对应 Apk 包。 有的小伙伴就说了,你这空口无凭,没证据啊。...android-arm,android-arm64,android-x64 --split-per-abi 含义就是,哥,帮我针对不同 CPU 架构分别打包,别忘记混淆哈,生成符号表文件记得帮我放在

6.1K41

曾老湿教你如何架设游戏服务器(天龙八部手游)

,apache2.2和php5.4,等咱们后面学到了架构,会教大家如何去安装这些服务  服务部署 网站代码操作 #创建游戏目录 [root@tianlong ~]# mkdir /usr/local...,GM是啥,想玩过游戏同学,应该都知道吧,这里就不用多说了,  开挂吧,同学们,想给自己充多少元宝就充多少元宝,想让自己是vip就是vip。... 添加apk项目(卓安装包都是以apk结尾)  反编译APK,然后修改代码  反编译成功  修改代码中IP地址   修改完之后,再将代码,编译成APK文件  然后将apk...文件,放在网站中,手机连接网站下载:  下载之后,安装apk  找到安装游戏      OK 完成了,尽情去享受吧 使用电脑,需要安装安卓模拟器:  ... 提示:千万不要沉迷于网游 1.你充几百,几千,几万块钱,只是在人家数据库中执行了一条update 2.如果你学完了架构,学完了数据库,你完全可以拥有一款属于你自己游戏(需要源代码)

1.7K10

构建更好Docker镜像一些技巧

现在,使用Docker或更复杂K8S来部署你服务应该是主流选择了. 而这个做法前提是使用把你程序用docker打包构建成Docker镜像....这样,所有需要构建Java服务都使用这个定制基础镜像是最好选择. 考虑更小基础镜像 在合适前提下, 你应该考虑使用更小基础镜像....关于这个,过往写过专门文章,需要了解可以参阅: 对Docker基础镜像思考,该不该选择alpine 使用多平台构建 虽然服务器主流都是X64架构, 但这并不是完全....ARM架构现在也越来越多被使用,特别在国内, 统信主流是ARM而不是X64. 在构建你镜像,不要只考虑支持X64架构. 而应该考虑支持多平台, 构建一次,支持不同架构是最佳实践....善用.dockerignore文件 如果你构建Docker镜像,都从来没有定义,甚至不知道.dockerignore存在, 那就不应该了.

21720

64 位适配黑科技:一键检索未适配 so 文件

未经作者允许禁止转载 最近,各大应用市场都在推动应用支持 64 位架构,你 App 已经支持了吗?在这篇文章里,将带你完成 64 位架构适配工作。...应用二进制接口(Application Binary Interface, ABI)定义了机器代码和操作系统交互,与我们熟知 API 会以一个接口源码实体存在不同,ABI 更应该理解为一规范。...加载到内存中。如果没有查找到匹配 so 文件,不会中断安装过程,但在运行时会崩溃。 关于加载 so 文件过程,我们在 《说说 so 库从加载到卸载全过程》这篇文章里已经讨论过了。...为了快速检索到项目中不支持 64 位 so 文件,贴心已经帮你实现为一个 EasyPrivacy 插件。...ndk. abiFilters 配置可以过滤出需要打包到 APK so 文件,例如以下配置将会把 armeabi-v7e 和 arm64-v8a 两 ABI 类型 so 文件打包到 APK

77920

有赞移动热修复平台建设

1.3 热修平台定义 针对以上问题,我们认为热修平台应具备以下特点: 支持打包文件保存 定义标准热修分支规范 支持补丁包构建保存 支持方便本地验证测试 支持权限审批 支持补丁全量,灰度及条件发布...构建平台,且MBD 本身已支持打包产物自定义上传,因此借助 MBD 构建平台就可以做到保存 apk&mapping 文件。...,在App重启检测补丁文件是否已下载,如果已下载直接加载补丁即可。...Apub 平台在发布补丁可以选择使用条件下发,除上传补丁外,还可以填写条件语句,只有满足条件设备才会执行修复补丁。...三、平台架构及流程 3.1 热修平台架构 上面讲内容比较多也比较杂,可以结合热修平台架构图来看,有个全局视角: ?

1.2K30

APK瘦身-是时候给App进行减负了!

1. lib目录优化 Android系统现在支持7CPU架构,每一都关联着对应ABI(二进制接口,Application Binary Interface),而每一ABI都定义了二进制文件(尤其是...所以如果我们App需要适配不同CPU架构的话,如下图2所示,就需要放入不同架构文件夹下都放入不同so文件,在打包,这些so都会放在lib目录下。...所以可以有选择地保留某些架构so,从而降低lib文件大小。...如果你App需要支持多种架构,那么就可以在abiFilters里面把多种架构加进去,当然你也可以只保留一,然后分渠道打包,如Google Play就支持arm和x86等多个渠道打包。...删除无用语言 大部分应用都不需要支持几十上百语言,所以在我们引用一些第三方库(如Google、Facebook库),它们往往带有上百多语言资源,而大部分多语言对于我们自己应用是没有用处

1.1K30
领券