gpt4 book ai didi

android - 无法将 minizip 代码加载到 Android JNI 中。链接 libminizip.so 失败

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

我无法让 minizip 在 android 上运行。我首先尝试将它作为静态链接到我的应用程序共享库。但是,一旦我使用那个 minizip 库中的代码,我就得到了一个不满意的链接错误。我有一些其他库可以工作,libzip 和 libpng。所以为了比较我将这三个编译成共享库并使用 System.loadLibrary("libpng"); System.loadLibrary("libzip");System.loadLibrary("最小化");在应用程序之前加载它们。

LogCat 输出如下:


02-28 21:12:23.371: D/dalvikvm(21023): 尝试加载 lib/data/data/com.flotsamworks.seadrift/lib/liblibpng.so 0x4a315c18
02-28 21:12:23.381: D/dalvikvm(21023): 添加了共享库/data/data/com.flotsamworks.seadrift/lib/liblibpng.so 0x4a315c18
02-28 21:12:23.381: D/dalvikvm(21023): 在/data/data/com.flotsamworks.seadrift/lib/liblibpng.so 0x4a315c18 中找不到 JNI_OnLoad,跳过初始化
02-28 21:12:23.411: D/dalvikvm(21023): 尝试加载 lib/data/data/com.flotsamworks.seadrift/lib/liblibzip.so 0x4a315c18
02-28 21:12:23.421: D/dalvikvm(21023): 添加了共享库/data/data/com.flotsamworks.seadrift/lib/liblibzip.so 0x4a315c18
02-28 21:12:23.431: D/dalvikvm(21023): 在/data/data/com.flotsamworks.seadrift/lib/liblibzip.so 0x4a315c18 中找不到 JNI_OnLoad,跳过初始化
02-28 21:12:23.431: D/dalvikvm(21023): 尝试加载 lib/data/data/com.flotsamworks.seadrift/lib/libminizip.so 0x4a315c18
02-28 21:12:23.451:I/dalvikvm(21023):无法 dlopen(/data/data/com.flotsamworks.seadrift/lib/libminizip.so):无法加载库:link_image [2033]:链接失败libminizip.so

如您所见,minizip 失败。但为什么?我真的不知道。编译很轻松,没有问题。我怀疑它依赖于一些 android 没有的东西或更新的 libz。

至于编译,我只设置了这些链接器选项,它们对于 libzip 和 libpng 是完全相同的。 -shared -Wl,--fix-cortex-a8 -lz

如果您想查看生成文件和代码,我已经上传了该项目。I code/是代码....在build/android8_gmake/中可以找到build.sh,配置gcc、g++和ar三个路径。在 ./debug/bin 中,您会发现我使用的已经构建的共享对象。

http://projects.woutervandongen.com/thirdparty_sharedlibs_28_2_12.zip

我将 NDKr7b 与通过以下方式生成的自定义工具链一起使用:make-standalone-toolchain.sh --platform=android-8 --install-dir=./standalone-toolchain-api8

请帮忙

问候,

沃特

最佳答案

真傻!

由于 Android 不支持 fseeko64 minizip 将无法正确链接。我寻找一个定义来解决这个问题并发现它是;

USE_FILE32API

问题解决了!

关于android - 无法将 minizip 代码加载到 Android JNI 中。链接 libminizip.so 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490371/

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