安卓构建项目后,通过android studio运行项目,报如下错误,是缺失包么?default,调试模式构建的。
java.lang.UnsatisfiedLinkError: Couldn’t load cocos2djs from loader dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/..mql-1.apk”],nativeLibraryDirectories=[/data/app-lib/..mql-1, /vendor/lib, /system/lib]]]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:358)
at java.lang.System.loadLibrary(System.java:526)
at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:235)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:249)
at android.app.Activity.performCreate(Activity.java:5600)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2508)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2603)
at android.app.ActivityThread.access$900(ActivityThread.java:174)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5752)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
目前在 Creator 中编译构建的 android 工程是编译的 eclipse 工程(proj.android 文件夹)。而并没有编译 proj.android-studio 工程。
Creator 支持编译 proj.android-studio 工程的功能还在开发中。敬请期待!
原来如此啊,那我试试eclipse,谢谢您的及时解答:)
在eclipse下相关的jar包去哪找啊?或者哪有相关的教程?
你说的 jar 包是指?第三方库吗?
import org.cocos2dx.lib.Cocos2dxActivity;
import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
构建出来的项目应该已经链接好了引擎的 java 库工程。 使用 default 模板构建的工程,引擎的 java 代码应该在 [工程目录]/build/jsb-default/frameworks/cocos2d-x/cocos/platform/android/java/src/org/cocos2dx/lib 文件夹下。
我用eclipse导入了libcocos2dx,运行项目还是报java.lang.UnsatisfiedLinkError: Couldn’t load cocos2djs from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/…mql-1.apk"],nativeLibraryDirectories=[/data/app-lib/..mql-1, /vendor/lib, /system/lib]]]: findLibrary returned null这个错误。
在网上搜索,看也有别人报这个错误,但没有合适的解决方案,您给指点下,看是哪操作的有问题嘛?
在 Creator 中构建完成之后,有没有执行编译操作?
因为 libcocos2djs.so 是要执行编译操作(ndk-build)才会生成的
确实没执行编译操作。不好意思哈,我的问题好多。
执行编译过程中,报错,去日志中查看记录如下:
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
make: Entering directory /Users/***/Documents/CocosProjects/mqlweb/jsb-default/frameworks/runtime-src/proj.android' make: *** No rule to make target jni/…/…/Classes/AppDelegate.cpp’, needed by obj/local/armeabi-v7a/objs-debug/cocos2djs_shared/__/__/Classes/AppDelegate.o'. Stop. make: *** Waiting for unfinished jobs.... [armeabi-v7a] Compile++ arm : cocos2djs_shared <= main.cpp make: Leaving directory /Users/***/Documents/CocosProjects/mqlweb/jsb-default/frameworks/runtime-src/proj.android’
Error running command, return code: 2.
…/…/Classes/AppDelegate.cpp。
因为之前先构建的ios,需要做分享,在AppDelegate.cpp里加入了oc代码,就把后缀改为mm了。应该是这个问题。
为了不破坏原来的jsb-default目录,我就再重新弄个目录,应该没问题。
android上成功运行了,万分感谢热心细致的解答:)
现在支持编译 proj.android-studio 工程了吗?
支持的。在 Creator 的构建发布面板中,选择 Android 平台后,勾选 Android Studio 选项就可以编译 proj.android-studio 工程了。
您奥 能给看下吗? 还是 这个错误
java.lang.UnsatisfiedLinkError: Couldn’t load cocos2djs from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.lieshougames.hnmj-1.apk,libraryPath=/data/app-lib/com.lieshougames.hnmj-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:535)
at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:249)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:265)
at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:45)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)