Jis*_*ike 4 sqlite java-native-interface android spatialite android-ndk
我刚开始使用Android并使用Spatialite而无法弄清楚为什么我的应用程序因为这个错误而在一些设备上崩溃:
java.lang.UnsatisfiedLinkError:在jsqlite.Database的jsqlite.Database.internal_init(本机方法)中找不到void jsqlite.Database.internal_init()(尝试过Java_jsqlite_Database_internal_1init和Java_jsqlite_Database_internal_1init__)的实现.(Database.java:25)
此崩溃报告来自带有Android 6.0的Nexus 5(hammerhead),但已在Xoom上报告了Android 4.1和其他一些未知设备.我认为它可能与这些问题中提到的NDK版本有关:
将".so"库添加到我的android工作室项目
Android NDK java.lang.UnsatisfiedLinkError:findLibrary返回null
https://bitbucket.org/almworks/sqlite4java/issues/71/arm64-bit.(虽然这是针对sqlite4java)
除此之外我还得到这个错误/警告(取决于设备):libjsqlite.so有文本重定位.这会浪费内存并防止安全性增强.请修理.虽然它没有像其他错误一样崩溃应用程序.
我通过设置应用程序built.gradle(或在AndroidManifest.xml中)解决了这个问题:
targetSdkVersion 21
Run Code Online (Sandbox Code Playgroud)
它的工作原理!我知道这不是一个好的解决方案,它是一个补丁,但我工作!
***UPDATE
如果无法将目标版本更改为21,则可以执行以下操作:
geopaparazzispatialitelibrary并集成到您的项目中这是一个复杂的过程,但它的工作原理.
特别感谢andrea antonello,他帮助我解决了这个问题,并且做了很好的工作.
| 归档时间: |
|
| 查看次数: |
1449 次 |
| 最近记录: |