gpt4 book ai didi

android - Google Store 之外的 APK 安装限制

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:47 26 4
gpt4 key购买 nike

我想创建一个大型应用程序,以便分发给 Play 商店之外的一组特定用户。我打算通过 ADB 安装它,但是我找不到关于大小限制的硬性信息。

我创建了一个简单的测试 apk 并将 1.8GB 的​​内容转储到 Assets 文件夹中。亚行抛出以下错误:

could not allocate buffer for 'sizetest.apk'

我在一个有 7Gb 可用空间的设备上试过这个,所以我想知道这个错误是从哪里来的。是设备存储/系统存储/设备内存/我的电脑内存/ADB 本身,是否有解决方法?

最佳答案

ADB 的问题。 ADB 用于验证文件是否为 APK,并在安装前将整个文件读入内存。这可能导致 mallac 返回 NULL,关闭您的 ADB session (参见 file_sync_client.c 第 335-341 行)。

已修复 here .

Remove support for verifying APK before sending across wire, since it was reading the entire APK into memory (!) before sending.


我创建了一个简单的 hello world 项目并创建了一个大文件 (1.8 GB) 并将该文件添加到 Assets 中。 ADB 在我的设备上成功安装了 APK。

只要设备上有足够的可用空间,APK 就应该可以安装。如果您仍然收到错误 could not allocate buffer for 'APK',请更新 adb。

DEX 限制:

我所知道的唯一大小限制是 dex 文件的大小。如果 dex 文件(APK 中的 classes.dex)超过 5 MB 并且需要安装在 Froyo 或 Gingerbread 上,则安装将失败。最新版本的 Android 使用 8 或 16 MB 缓冲区。您可以使用 multidex解决这个问题。但是,您可能不需要担心 dex 文件的大小 ( more info )。

关于android - Google Store 之外的 APK 安装限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18230065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com