小米手机找不到so文件

小米手机找不到so文件,binary方式构建的,libs下面只有一个armeabi文件夹,libs/ameabi/libcocos2djs.so。
红米NOTE3。

错误如下:
E/AndroidRuntime(17900): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/-1/base.apk"],nativeLibraryDirectories=[/data/app/-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn’t find “libcocos2djs.so”

删除所有.so 重新编译一次试试呢

解压最后打包的apk,看是否包含其他架构的文件夹。如果有,看是否有接的sdk中包含其他架构文件夹。

apk解开后看到lib下有这些文件夹:
arm64-v8a
armeabi
armeabi-v7a
mips
mips64
x86
x86_64
只有armeabi下有libcocos2djs.so。
接入的友盟分享的libweibosdkcore.so在每个文件夹下都有。

怎么才能编译出不同版本的so库呢?cocos会编译出几个版本的?

把SDK里边lib多的文件夹删掉,只留一个armeabi文件夹试试

是打包的apk里的lib文件下有不同的文件夹,您说的sdk里的lib是指的哪个?

1.所有sdk里面除了armeabi文件夹,删除其它架构的文件夹。
2.编译不同版本的libs

明白了,我试试,感谢:)

明白你的意思了:)
arm64-v8a
armeabi
armeabi-v7a
mips
mips64
x86
x86_64
这些文件夹都是友盟sdk下面的

@bluehumor 目前 Creator 中的 native 引擎只支持这些 android 架构:
arm64-v8a,armeabi,armeabi-v7a,x86

要想编译不同架构的 apk,需要修改 proj.android/jni 目录下的 Application.mk 中的 APP_ABI 的值。要一次编译多个架构可以这样写:APP_ABI := armeabi armeabi-v7a x86

如果你使用的是 binary 模板,并且没有修改过 native 引擎代码,那么不需要重新调用 gen-libs 命令生成预编译库。因为引擎里面已经带有了各个架构的预编译库。

2赞

感谢官方技术大神的指点,感谢热心的有经验的朋友,每次遇到问题的过程都是自己一次学习的机会,即解决了问题又开拓了知识面,继续学习:)

我把友盟的social_sdk_library_project下面的lib目录下的armeabi之外的文件夹都删除了,重新打包安装的apk就可以在小米手机上运行了。

同样问题、不知道怎么解决、用的hello示例代码、用最新的Creator构建、构建时 arm64-v8a,armeabi,armeabi-v7a,x86全选 ,然后放到eclipse 真机调试
couldn’t find "libcocos2djs.so
lib没有armeabi文件夹和libcocos2djs.so

不知道怎么解决

06-04 23:09:24.203: E/AndroidRuntime(17381): Process: org.cocos2d.complete_project, PID: 17381
06-04 23:09:24.203: E/AndroidRuntime(17381): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/org.cocos2d.complete_project-1/base.apk”],nativeLibraryDirectories=[/data/app/org.cocos2d.complete_project-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn’t find “libcocos2djs.so”