android本机库没有安装APK

 耿耿于怀r 发布于 2023-02-14 03:07

我做了一个使用一些本地库的android库项目.

我已经创建了jni包装器并将本机库(.so)放在libs //文件夹中.使用cmake编译本机库,用于armeabi,armeabi-v7a,x86和mips.

我将这个项目导出到一个jar并将这个jar放入一个"正常"的android项目中.然后我将这个项目导出到apk,并且可以看到我的库是捆绑到它.

但是,当我安装apk时,对应于该设备的库不会被复制到/data/data/com.my.app/lib中,显然,运行应用程序会抱怨没有找到libs(UnsatisfiedLinkError).

我已经搜索了SO和我能找到的任何地方,但没有找到解决我案例的答案.

我正在使用Eclipse,顺便说一句

谢谢你的帮助

UPDATE

好的,我已经阅读了ndk中的文档并看过这些示例,不幸的是,我看不到解决方案.

ndk将c代码构建到共享库中,并将它们放入项目中的适当位置.但它不会生成任何说明必须使用apk安装lib的内容.

我的目标是提供一个android库(所以jar),可以包含在Android应用程序中.我没有看到我正在做的事情之间的真正区别(使用cmake编译c libs并将jni和java编译的类打包到jar中)以及android.mk做了什么

如果你看到我所缺少的东西,请随时告诉我(即使它很明显).

谢谢

UPDATE

我做了一个肮脏的黑客:在我的应用程序的libs文件夹中,我把包含我的类和我的本机库的jar文件和每个arch的.so文件的副本.至少,libs没有安装在/data/data/com.me.myapp/lib中

它似乎证实这是一个包装问题.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有