so中调用so报错的问题

a5796489 2016-04-07 04:47:46
我在当前so中调用dlopen函数试图打开另一个so(名为libARM11.so),但报错了

代码如下:
handle = dlopen("libARM11.so", RTLD_NOW);
if(handle == NULL){
LOGI("dlopen [%s]", dlerror());
return ;
}

报错如下:
dlopen [dlopen failed: "libARM11.so" has unexpected e_machine: 40]


过程说明:
libARM11.so是我在另一个androidstudio项目中编译出来的so文件,平台肯定是一样的。
另外我把libARM11.so文件拷进了当前项目的lib\armeabi、lib\armeabi-v7a、lib\x86目录。
按照网上的指导在build.gradle中加入了 task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {
destinationDir file("$projectDir/libs")
baseName "Native_Libs2"
extension "jar"
from fileTree(dir: "libs", include: "**/*.so")
into "lib"
}

tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

不知道是不是还漏了哪里没有做?网上的资料太少了,所以在这里求教一下各位。
...全文
141 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧