本文介绍了错误java.lang.UnsatisfiedLinkError中:在Android 4.4上运行应用程序时的dlopen失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我发现这个异常,当我运行我的Andr​​oid应用程序奇巧4.4

  8月十一日日至28日:50:00.752:E / dalvikvm(10056)的dlopen(/数据/应用-LIB / com.vis.kotob-2 / libdatabase_sqlcipher.so )
失败:执行dlopen失败:无法找到符号_ZN7android10MemoryBaseC1ERKNS_2spINS_11IMemoryHeapEEElj
通过libdatabase_sqlcipher.so引用...



8月11日至28号:50:00.762:E / AndroidRuntime(10056):致命异常:主要
8月11日至28号:50:00.762:E / AndroidRuntime(10056):工艺:com.his.mojak,PID:10056
8月11日至28号:50:00.762:E / AndroidRuntime(10056):java.lang.UnsatisfiedLinkError中:dlopen的失败:无法找到符号_ZN7android10MemoryBaseC1ERKNS_2spINS_11IMemoryHeapEEElj由libdatabase_sqlcipher.so引用...
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在java.lang.Runtime.loadLibrary(Runtime.java:364)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在java.lang.System.loadLibrary(System.java:526)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:143)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:136)
11-28 08:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.model.db.DBManager< INIT>(DBManager.java:24)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.model.db.DBManager.getInstance(DBManager.java:15)
11-28 08:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.model.dao.db.DbAbstractDao< INIT>(DbAbstractDao.java:13)
11-28 08:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.model.dao.db.UserDataDao< INIT>(UserDataDao.java:10)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.model.dao.db.UserDataDao.getInstance(UserDataDao.java:19)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.ui.activity.splash.SplashController.sessionExpired(SplashController.java:157)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.ui.activity.splash.SplashActivity.onSplashFinished(SplashActivity.java:55)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.his.mojak.ui.activity.splash.SplashController $ 1.handleMessage(SplashController.java:72)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在android.os.Handler.dispatchMessage(Handler.java:102)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在android.os.Looper.loop(Looper.java:137)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在android.app.ActivityThread.main(ActivityThread.java:4998)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在java.lang.reflect.Method.invokeNative(本机方法)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在java.lang.reflect.Method.invoke(Method.java:515)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:777)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
8月11日至28号:50:00.762:E / AndroidRuntime(10056):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

什么是你的sqlcipher版本?

有一个问题与旧(V2.2.0)版本奇巧:https://github.com/sqlcipher/android-database-sqlcipher/issues/107

获取二进制文件(如 http://sqlcipher.net/downloads 或直接的)或编译的最新源代码,您应该罚款!

Hello I found this exception when I run my application on Android kitkat 4.4

11-28 08:50:00.752: E/dalvikvm(10056): dlopen("/data/app-lib/com.vis.kotob-2/libdatabase_sqlcipher.so") 
failed: dlopen failed: cannot locate symbol "_ZN7android10MemoryBaseC1ERKNS_2spINS_11IMemoryHeapEEElj" 
referenced by "libdatabase_sqlcipher.so"...



11-28 08:50:00.762: E/AndroidRuntime(10056): FATAL EXCEPTION: main
11-28 08:50:00.762: E/AndroidRuntime(10056): Process: com.his.mojak, PID: 10056
11-28 08:50:00.762: E/AndroidRuntime(10056): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN7android10MemoryBaseC1ERKNS_2spINS_11IMemoryHeapEEElj" referenced by "libdatabase_sqlcipher.so"...
11-28 08:50:00.762: E/AndroidRuntime(10056):    at java.lang.Runtime.loadLibrary(Runtime.java:364)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at java.lang.System.loadLibrary(System.java:526)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:143)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:136)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.model.db.DBManager.<init>(DBManager.java:24)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.model.db.DBManager.getInstance(DBManager.java:15)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.model.dao.db.DbAbstractDao.<init>(DbAbstractDao.java:13)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.model.dao.db.UserDataDao.<init>(UserDataDao.java:10)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.model.dao.db.UserDataDao.getInstance(UserDataDao.java:19)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.ui.activity.splash.SplashController.sessionExpired(SplashController.java:157)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.ui.activity.splash.SplashActivity.onSplashFinished(SplashActivity.java:55)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.his.mojak.ui.activity.splash.SplashController$1.handleMessage(SplashController.java:72)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at android.os.Handler.dispatchMessage(Handler.java:102)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at android.os.Looper.loop(Looper.java:137)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at android.app.ActivityThread.main(ActivityThread.java:4998)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at java.lang.reflect.Method.invokeNative(Native Method)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at java.lang.reflect.Method.invoke(Method.java:515)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
11-28 08:50:00.762: E/AndroidRuntime(10056):    at dalvik.system.NativeStart.main(Native Method)
解决方案

What's your sqlcipher version?

There is an issue with older(v2.2.0) versions for KitKat: https://github.com/sqlcipher/android-database-sqlcipher/issues/107

Get the latest release of the binaries (e.g. http://sqlcipher.net/downloads or directly here) or compile the latest source, and you should be fine!

这篇关于错误java.lang.UnsatisfiedLinkError中:在Android 4.4上运行应用程序时的dlopen失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-13 22:07