问题:今天接了某个平台的支付SDK时,在真机上能够运行,但是运行在电脑模拟器(bluestacks)时,确启动不了,
报错:
E/AndroidRuntime(11861): FATAL EXCEPTION: main
E/AndroidRuntime(11861): java.lang.ExceptionInInitializerError
E/AndroidRuntime(11861): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(11861): at java.lang.Class.newInstance(Class.java:1319)
E/AndroidRuntime(11861): at android.app.Instrumentation.newActivity(Instrumentation.java:1025)
E/AndroidRuntime(11861): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
E/AndroidRuntime(11861): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/AndroidRuntime(11861): at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/AndroidRuntime(11861): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/AndroidRuntime(11861): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(11861): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(11861): at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime(11861): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(11861): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(11861): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
E/AndroidRuntime(11861): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:592)
E/AndroidRuntime(11861): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(11861): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load cocos2dlua: findLibrary returned null
E/AndroidRuntime(11861): at java.lang.Runtime.loadLibrary(Runtime.java:365)
E/AndroidRuntime(11861): at java.lang.System.loadLibrary(System.java:535)
E/AndroidRuntime(11861): at com.zssbd.zjd.XXkapai.<clinit>(XXkapai.java:90)
E/AndroidRuntime(11861): ... 15 more
I/ActivityManager(981): Process (pid 11861) has died.
解决:
1、上网收了下资料,有些人说查看下动态库是否生成成功,我查看了下apk里面,发现有动态库,说明动态库没问题。
2、因为接入的SDK适用的架构比较多,在lib目录下,包含了armeabi,mips和x86三种架构,所以导致我的应用这边生成的APK包里同样包含了这三种
里面都有一些动态库,但是mips和x86这两个目录下没有我们应用生成的动态库。
3、在真机上运行时可以正常运行,但是在模拟器上却会报错,不太明白为啥?
4、因为我的应用只是运行在android平台,于是我就把它们SDK中,lib目下的mips和x86这两个文件删除了,结果就可以了。