最新的NDK找不到模块libz

时间:2017-12-13 15:51:06

标签: android android-ndk

之前我使用的是NDK 13.1,但在我将其更新为16.1(似乎是最新版本)后,我的Android项目再也无法libz

```

  

错误:(693)Android NDK:模块pngt取决于未定义的模块:z

     

错误:(706)*** Android NDK:正在中止(将APP_ALLOW_MISSING_DEPS = true设置为>允许缺少依赖项)。停止。

     

错误:配置项目':app'时出现问题。

     

无法解析配置':app:_debugApk'的所有依赖项。   配置项目':xxx'时出现问题。   为ndkBuild xxx / jni / Android.mk执行外部本机构建   ```

我根本没有改变任何其他内容,而且我可以正确地找到libz留在我的Android NDK目录中。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

如果您收到该错误,只需从LOCAL_SHARED_LIRBARIES删除libz即可。它之前没有被使用过。这些警告是告诉你它被忽略了。

答案 1 :(得分:0)

尝试将此添加到Android.mk:

LOCAL_LDLIBS:= - lz

如果这不起作用,请使用LDFLAGS指定libz.so的路径

对于我来说

LOCAL_LDFLAGS:= -L / opt / sdk / ndk-bundle / platforms / android-24 / arch-arm64 / usr / lib

当然这是假设你最初有下面的,现在失败了。

LOCAL_SHARED_LIBRARIES:= libz

答案 2 :(得分:0)

我也遇到了同样的问题,我不知道这是否可以帮助您解决这个问题,但是由于该问题是我搜索此问题时遇到的第一个问题,因此我决定为有此问题的其他人回答用我做的方式做错了:

我这样做是给我错误的: find_library(zlib libz)#错误的方式 这是错误的,我不得不这样省略libz的lib部分:

pkg app.js