android在用System.load()加载so文件时出现已经加载到内存错误,如何解决? 10

在做android插件开发时候,因为插件中有c++代码,需要用System.load("libhello.so"),我把加载so的方法放在static块中。第一次启动这个... 在做android插件开发时候,因为插件中有c++代码,需要用System.load("libhello.so"),我把加载so的方法放在static块中。第一次启动这个类时还没有问题,但是退出之后马上就启动那个类就会出现错误,如下:12-25 16:43:25.970: D/dalvikvm(26460): Trying to load lib /data/data/com.demo.app/lib/libHello.so 0x40e86a2812-25 16:43:25.970: W/dalvikvm(26460): Shared lib '/data/data/com.demo.app/lib/libHello.so' already opened by CL 0x40e65a78; can't open in 0x40e86a28这个需要怎样解决?在线等 展开
 我来答
jiangpengtctc
2013-12-26 · TA获得超过140个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:155万
展开全部
这要看你在c++代码里有没有没释放的内存了。毕竟能成功运行一次,说明编译没错误,配置也没错误。看检察一下你的c++代码。
霉安9q
推荐于2017-12-16
知道答主
回答量:12
采纳率:0%
帮助的人:1.7万
展开全部
/**
* Loads and links the dynamic library that is identified through the
* specified path. This method is similar to {@link #loadLibrary(String)},
* but it accepts a full path specification whereas {@code loadLibrary} just
* accepts the name of the library to load.
*
* @param pathName
* the path of the file to be loaded.
*/
public static void load(String pathName) {
Runtime.getRuntime().load(pathName, VMStack.getCallingClassLoader());
}

加载的是specified path,是路径,不是单纯的文件。
文件的话可以尝试System.loadLibrary
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longke062
2018-09-12
知道答主
回答量:2
采纳率:0%
帮助的人:2122
展开全部
解决了没有?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
回答的很专业
2013-12-25 · TA获得超过124个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:176万
展开全部
根你I一起等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式