gpt4 book ai didi

安卓 h3 : A Hexagonal Hierarchical Geospatial Indexing System

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:16 25 4
gpt4 key购买 nike

我想将 h3 java 绑定(bind)库集成到我的 android 应用程序中,但出现以下异常:

java.lang.UnsatisfiedLinkError: 在/android-armv7l/libh3-java.so 找不到 native 资源在 com.uber.h3core.H3CoreLoader.copyResource(H3CoreLoader.java:67)

以前有人在 Android 操作系统上使用过这个库吗?

谢谢。

最佳答案

最初,遵循预期的 usage如他们的 README 中所见,应该使其工作。如果没有,请参阅下文。

已知问题:Android, can't use library

UnsatisfiedLinkError:当项目中没有复制/检测到相应的原生库时,会遇到这种情况。正在关注NickRadu's workaround应该让它工作。以下是分步指南。

  1. 在您的项目应用程序文件夹中添加一个 JNI 文件夹并将其重命名为 jniLibs (app/src/main/jniLibs)(出于某种原因,将其命名为 jni 仅对我不起作用)。
  2. Get the H3 JAR (确保您使用相同的版本)并提取 JAR 内容。
  3. 复制以 android- 为前缀的文件夹,并将它们插入到 jniLibs 文件夹中(来自第 1 步)。
  4. 重命名复制的文件夹,删除 android- 前缀。
  5. splits { abi { enable false } } 添加到您应用的 build.gradle 文件(在 android 中)。

完成。通常,库现在应该可以按预期工作。

如果在应用安装过程中遇到:

  • INSTALL_FAILED_NO_MATCHING_ABIS ,然后根据您的测试设备,创建该文件夹的副本(及其内容)并根据需要重命名。比如一个运行在arm64-v8a上的设备,我只是复制了一个arm64文件夹,并重命名为arm64-v8a。或者,如果您使用的是模拟器,请确保您使用的不是带有 x86 CPU 的模拟器。

  • D8 错误:Invoke-customs 仅支持从 Android O (--min-api 26) 开始,将这些编译选项添加到应用程序的 build.gradle(在 中) android -- 请注意,它可能会根据您系统的 Java 版本而改变)

    compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    }

注意:最好先在多种 CPU 架构类型上测试应用以查看其行为。

要快速查看设备的 CPU 架构,您可以安装 Droid Hardware Info ,或快速运行 test code自己。

这是我使用的测试 block 及其相应的结果日志:

private fun testH3() {
val h3 = H3Core.newSystemInstance()

val lat = 37.775938728915946
val lng = -122.41795063018799
val resolution = 8

val hexAddr = h3.geoToH3Address(lat, lng, resolution)
val hex = h3.stringToH3(hexAddr)
val kRingsResult = h3.kRings(hexAddr, 1)

Log.d("H3Test", "geoToH3Address: $hexAddr")
Log.d("H3Test", "stringToH3: $hex")
Log.d("H3Test", "kRings: $kRingsResult")
}

结果:

D/H3Test: geoToH3Address: 8828308281fffff
D/H3Test: stringToH3: 613196570331971583
D/H3Test: kRings: [[8828308281fffff], [8828308281fffff, 882830828dfffff, 8828308285fffff, 8828308287fffff, 8828308283fffff, 882830828bfffff, 8828308289fffff]]

我制作了一个样例项目,其中的库按预期工作。参见 android-uber-h3-sample .

关于安卓 h3 : A Hexagonal Hierarchical Geospatial Indexing System,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042257/

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