- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以我有一段时间没有发布了。 Android Studio过去只生成一个apk,也就是release版本。这次它生成了如下 3 个:
1.app-armeabi-v7a-release.apk
2.app-x86-release.apk
3.app-universal-release.apk
我假设我想为 Google Play 商店使用通用版。
但是有人可以分解每个细节吗?
最佳答案
每个生成的 apk 都是针对特定的 CPU 架构的。它们通常是在 apk 中使用 native 库时生成的(更多信息请参见 Add C and C++ Code to Your Project)。您可以在 ABI Management 中阅读相关内容,摘录如下:
Different Android handsets use different CPUs, which in turn support different instruction sets. Each combination of CPU and instruction sets has its own Application Binary Interface, or ABI. The ABI defines, with great precision, how an application's machine code is supposed to interact with the system at runtime. You must specify an ABI for each CPU architecture you want your app to work with.
除了 app-universal-release.apk
之外,每个都将包含架构的特定说明。
app-armeabi-v7a-release.apk
适用于 v7-a ARM devices
app-x86-release.apk
适用于 "x86" or "IA-32"
app-universal-release.apk
包含 app-armeabi-v7a-release.apk
和 app-x86-release 中的特定指令。 apk
您可以只使用通用的,但如果生成的 apk 太大,您可能不想使用它。用户倾向于避免在 Play 商店中使用大型应用程序。因此,为了克服这个问题,您需要将 apk 分解为特定的 apk,以便生成的 apk 更小。
如果您不想使用通用的,则需要将每个特定的 apk 上传到 Play 商店。当用户访问 Play 商店中的应用程序时,他/她将获得与其设备 CPU 类型相匹配的特定 apk。
关于android studio以前生成1个release apk,现在是3个,它们各自做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46242242/
我是 firebase 的新手,我正在尝试分页查询。我喜欢有一个“下一个”和“上一个”按钮。我的下一个按钮工作正常,我的问题是单击上一个 引用:https://firebase.google.com/
抱歉,标题这么蹩脚,但我只是不知道该放什么,希望你能理解。另外,我不知道以前是否有人问过类似的问题,因为我不知道合适的关键字 - 因此也无法用谷歌搜索。 基本上...在查看preg_match_all
我想在 TFS 中 check out 一个检入文件的先前版本。我可以轻松获得特定文件的变更集 ID 列表,但无法弄清楚如何 checkout 以前的版本。 我目前的代码: var workspace
我想使用 @FunctionalInterface来 self 代码中的 Java 8,但我希望能够将生成的类文件与 Java 6 一起使用。我认为我应该将源版本设为 1.8 , 目标版本为 1.6
自从 versions 被删除以来,我一直无法找到安装以前版本软件的方法。命令并点击 Homebrew。我在 2008 Mac Pro (3,1) 上运行 macOS 10.14.3 (Mojave)
当我开始当前的项目时,App Store 中已经有一个应用程序。此应用程序仅适用于 iPhone。 我的第一个任务是测试和构建一个也可以在 iPod Touch 上运行的版本。 大约 3 周前,App
我在 GitHub 上有一个曾经是 fork 的 repo,但现在不是了,因为我已经删除了原始项目的任何痕迹并开始了一个同名的新项目。 但是,GitHub 仍然表示该项目是 fork 的。有什么方法可
我是一名优秀的程序员,十分优秀!