我是靠谱客的博主 外向酒窝,最近开发中收集的这篇文章主要介绍构建多个APK,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、支持的ABI

ABI 管理
1、ABI管理:
不同 Android 手机使用不同的 CPU,因此支持不同的指令集。 ABI 可以非常精确地定义应用的机器代码在运行时如何与系统交互。
ABI 包含以下信息:
* 机器代码应使用的 CPU 指令集。
* 运行时内存存储和加载的字节顺序。
* 可执行二进制文件(例如程序和共享库)的格式,以及它们支持的内容类型。
* 用于解析内容与系统之间数据的各种约定。这些约定包括对齐限制,以及系统如何使用堆栈和在调用函数时注册。
* 运行时可用于机器代码的函数符号列表 - 通常来自非常具体的库集。
2、ABI分类:
这里写图片描述

二、为CPU不同的ABI配置多APK

Build Multiple APKs
1、配置
在app所在module在的build.gradle中配置splites块。

android {
......
splits{
abi {
enable = true
reset()
include "armeabi","armeabi-v7a"
}
}
}
  • enable
    如果您将此元素设置为true,Gradle会根据您定义的ABI生成多个APK。默认值是false
  • exclude
    指定用逗号分隔的ABI的名单不生成单独的APK。
  • reset
    清除ABI的默认列表。仅在与include元素结合使用时才使用, 以指定要添加的ABI。
  • include
    指定Gradle应为其生成APK的ABI的逗号分隔列表。只能结合使用reset()来指定ABI的确切列表。
  • universalApk
    如果true,除了per-ABI APK,Gradle还生成通用APK。通用APK包含单个APK中所有ABI的代码和资源。默认值是false。请注意,该选项仅在该splits.abi块中可用。当根据屏幕密度构建多个APK时,Gradle始终会生成一个通用APK,其中包含用于所有屏幕密度的代码和资源。

2、build
单击“ Build”>“Build APK” 。Gradle会为每个密度或ABI创建APK到项目build/outputs/apk/目录中。

三、为屏幕密度配置多APK

1、配置

android {
...
splits {
density {
enable true
exclude "ldpi", "xxhdpi", "xxxhdpi"
compatibleScreens 'small', 'normal', 'large', 'xlarge'
}
}
}
  • enable
    如果您将此元素设置为true,Gradle会根据您定义的屏幕密度生成多个APK。默认值是false。
  • exclude
    指定用逗号分隔的屏幕密度的名单不 生成单独的APK。如果需要排除您的应用不支持的一些密度。
  • reset
    清除屏幕密度的默认列表。仅在与include元素结合使用时才使用, 以指定要添加的密度。
  • include
    指定Gradle应为其生成APK的密度列表。只能结合使用reset()来指定密度的确切列表。
  • compatibleScreens
    指定兼容屏幕尺寸的逗号分隔列表。这会为每个APK在清单中注入一个匹配节点。
    2、根据ABI和屏幕密度构建多APK

splits {
density {
enable true
reset()
include "mdpi", "hdpi"
}
abi {
enable true
reset()
include "x86", "x86_64"
}
}

最后

以上就是外向酒窝为你收集整理的构建多个APK的全部内容,希望文章能够帮你解决构建多个APK所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部