登录
首页 >  Golang >  Go问答

找不到“libgojni.so”

来源:stackoverflow

时间:2024-03-17 17:42:26 125浏览 收藏

在将第三方库导入 Android 项目时,如果出现 "找不到“libgojni.so”" 错误,可能是因为该库依赖于 Go。要解决此问题,需要将 Go 或 Go Mobile 依赖项添加到项目中。可以通过 Maven 或 Gradle 来实现,并且需要将相应的 JNI 库文件添加到特定目录中,例如 src/main/jniLibs/armeabi-v7a/libgojni.so。

问题内容

将第三方库导入到我的 android 项目后,出现以下错误:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.myapp-dAIPtULcj_wzNu8vrPvI5Q==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-dAIPtULcj_wzNu8vrPvI5Q==/lib/arm, /system/lib, /system/vendor/lib]]] couldn't find "libgojni.so"
    at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
    at java.lang.System.loadLibrary(System.java:1657)
    at go.Seq.(Seq.java:37)
    at go.Seq.touch(Seq.java:50)
    at com.fiskaly.kassensichv.sma.Sma.(Sma.java:11)
    at com.fiskaly.kassensichv.sma.Sma.invoke(Native Method)

我认为这个库需要 go 才能正常运行。

如何实现对我的 android 项目的 go 或更好的 go mobile 依赖? 我可以通过 maven 或 gradle 来完成吗?


解决方案


这些必须添加为 src/main/jniLibs/armeabi-v7a/libgojni.sosrc/main/jniLibs/arm64-v8a/libgojni.sojniLibs.srcDir 定义该路径)。 golang/mobile有例子。如果这些是使用 gobind 生成的自定义 JNI 绑定,则仍需要将本机程序集(与这个神秘的第 3 方库匹配)放置在预期位置。

本篇关于《找不到“libgojni.so”》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>