1

我在我的应用程序中使用了 GDAL 库,它一直在正常工作。Google Play 服务宣布他们在 2019 年 8 月 1 日之后只上传 64 位兼容的 APK。所以我将项目渲染为 64 位兼容。不幸的是,GDAL 库中发生了一些问题。他们显示没有实现 gdal 库(即根据 ABI 类型的 .so 文件)。所以我认为相应的 GDAL 64 位不适用于这个范围。我在 armeabi 文件夹中有 .so 文件,它是 32 位兼容的。然后我切换到 arm64-V8a 兼容。之后我生成构建,arm64-v8a 文件夹中没有相应的 .so 文件。所以我的问题是,我们如何从 GDAL 库生成 64 位 .so 文件?注意:通常我使用的是 32 位兼容的 APK,它运行正常。根据 Playstore 的新要求,我使用了 64 位兼容的 APK 并进行了冒烟测试,不幸的是他们崩溃了,这次崩溃的问题是,我使用了一个 GDAL 库,它有一个关于 ABI 类型的 .so 文件. 所以当我在 64 位运行时,错误显示没有为 GDAL 找到实现。因此,我使用 apk 分析器来查看与 32 位兼容的区别。所以我确定没有与 arm64-V8a 文件夹相关的 .so 文件。所以我认为我们需要为 GDAL 库生成 64 位 .so 文件。有什么解决方案可以通过添加屏幕截图来生成这个我在这里,请参阅 lib 文件夹 错误显示没有为 GDAL 找到实现。因此,我使用 apk 分析器来查看与 32 位兼容的区别。所以我确定没有与 arm64-V8a 文件夹相关的 .so 文件。所以我认为我们需要为 GDAL 库生成 64 位 .so 文件。有什么解决方案可以通过添加屏幕截图来生成这个我在这里,请参阅 lib 文件夹 错误显示没有为 GDAL 找到实现。因此,我使用 apk 分析器来查看与 32 位兼容的区别。所以我确定没有与 arm64-V8a 文件夹相关的 .so 文件。所以我认为我们需要为 GDAL 库生成 64 位 .so 文件。有什么解决方案可以通过添加屏幕截图来生成这个我在这里,请参阅 lib 文件夹 32 位兼容 64 位兼容 armeabi 中的3 `.so 文件

4

2 回答 2

1

我在将一些 ARM-Android 库从 32 位迁移到 64 位时遇到了同样的麻烦。

在 GDAL 的情况下,幸运的是我可以找到预构建的 64 位二进制文​​件:

https://github.com/eltorio/RtkGps/tree/master/gdal-prebuilt

GDAL java绑定可以在libs文件夹中找到。那是gdal.jar文件:

https://github.com/eltorio/RtkGps/tree/master/libs

于 2019-06-04T11:26:40.280 回答
0

我们如何从 GDAL 库生成 64 位 .so 文件?

您必须使用 Android NDK 从其原始源代码构建库。

看:

于 2019-05-29T05:34:00.277 回答