libgdx, couldn't load shared library 'gdx' for target: Linux, 32-bit的终极解决方案

说在前面的话

今天在下载spine-libgdx的spine-libgdx-tests运行时,报了一个“libgdx, couldn’t load shared library ‘gdx’ for target: Linux, 32-bit”错误。
这个是我引入libgdx和spine-libgdx的方式:

    implementation 'com.badlogicgames.gdx:gdx-backend-android:1.9.9'
    implementation 'com.badlogicgames.gdx:gdx:1.9.10'
    implementation 'com.badlogicgames.gdx:gdx-box2d:1.9.10'
    implementation 'com.esotericsoftware.spine:spine-libgdx:3.8.55.1'

作为一名资深的屌丝级程序员,自然以为他们是以aar的方式引入,所以不会出现找不到so的情况,结果自己的臆想深深的打了自己的脸,已运行直接脸被打肿了。这…

作为一位资深的码农立马就想起了度娘和谷哥,结果一顿操作猛如虎,定睛一看原地杵。那既然网上没有现有的解决方案,那就自己动手丰衣足食呗。

解决方案

其实我们仔细观察这个问题,你品,你细品,你在品。 哈哈 究其原因还是没有找到对应的so库。
那就把spine-libgdx-tests(ps:我是把桌面版的改成了android版本)编译后的APK反编译一看,确实没有对应的so库。既然没有so库,那就找呗。其实spine-libgdx是基于libgdx做的扩展库,为了支持骨骼,知道这一点就简单了。

直接到libgdx库中生成一个demo就可以了把它里面的so库拷贝出来即可。这里有一点需要注意的时,生成libgdx的demo引入的库要和spine-libgdx-tests引入的库保持一致,不然拷贝进去的so库就会有问题。
至于怎么生成通过gdx-setup.jar工具即可。

java -jar ./gdx-setup.jar

生成界面如下:

生成好项目后,导入到Android Studio编译之后就会出现so库了,
如下图:

那就把这个so库拷贝到spine-libgdx-tests即可。就此问题解决了

发布了20 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37618354/article/details/104434795