gpt4 book ai didi

android - 未从 .apk 安装 ARMv8 库

转载 作者:行者123 更新时间:2023-11-29 14:45:39 25 4
gpt4 key购买 nike

我有一个包含 native 二进制文件的应用程序。目前,我们只有 ARMv5 和 x86 二进制文件。有了这些,我们将二进制文件放入 src/main/jniLibs/armeabi/libsyncthing.sosrc/main/jniLibs/x86/libsyncthing.so,这在所有设备。

我们现在要添加一个额外的 ARMv8 二进制文件,放置在 src/main/jniLibs/arm64-v8a/libsyncthing.so 中。根据this guide , 这是正确的子文件夹。但是,当我在 LG G4(支持 ARMv8)上安装 apk 时,/lib/ 文件夹中没有安装任何二进制文件,应用无法运行。

我在这里做错了什么?

在这里你可以看到二进制文件都包含在apk中:

apk contents

您可以在 this PR on Github 中查看完整代码.二进制文件不包含在那里,但可以使用 ./gradlew buildNative 生成。

最佳答案

我终于自己弄明白了。问题是我在做

binary = context.getApplicationInfo().dataDir + "/lib/libsyncthing.so";

事实证明,ARMv8 库存储在不同的位置,因此失败了。相反,我不得不使用这段代码:

binary = context.getApplicationInfo().nativeLibraryDir + "/libsyncthing.so";

关于android - 未从 .apk 安装 ARMv8 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39478884/

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