SQLCipher导致Android Signed Release中的崩溃APK

SQLCipher导致Android Signed Release中的崩溃APK,第1张

概述我在一个Android项目中使用SQLCipher.一切在测试中都可以正常运行,但是每当我构建并签名的APK并安装它时,我都会收到以下错误并在每次致电时崩溃SQLCipher.loadLibs(context);这是崩溃03-0914:47:45.83324895-24895/?E/Database:Can'tfindSQLiteDatabase.mNativeHandle

我在一个Android项目中使用sqlCipher.一切在测试中都可以正常运行,但是每当我构建并签名的APK并安装它时,我都会收到以下错误并在每次致电时崩溃

sqlCipher.loadlibs(context);

这是崩溃

03-09 14:47:45.833 24895-24895/? E/Database: Can't find sqliteDatabase.mNativeHandle03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143] No pending exception expected: java.lang.NoSuchFIEldError: no "I" fIEld "mNativeHandle" in class "Lnet/sqlcipher/database/sqliteDatabase;" or its superclasses03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.classLoader, java.lang.String) (Runtime.java:-2)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at java.lang.String java.lang.Runtime.doload(java.lang.String, java.lang.classLoader) (Runtime.java:428)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID java.lang.Runtime.loadlibrary(java.lang.String, java.lang.classLoader) (Runtime.java:369)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID java.lang.System.loadlibrary(java.lang.String) (System.java:988)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID net.sqlcipher.database.sqliteDatabase.a(androID.content.Context, java.io.file) ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID net.sqlcipher.database.sqliteDatabase.a(androID.content.Context) ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID com.myapp.BBISDK.ax.o() ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID com.myapp.BBISDK.ax.<init>(java.lang.Integer, com.myapp.BBISDK.d.a, androID.app.Activity) ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at com.myapp.BBISDK.ax com.myapp.BBISDK.ax.a(java.lang.Integer, com.myapp.BBISDK.d.a, androID.app.Activity) ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID com.myapp.myapp.LoginActivity.onCreate(androID.os.Bundle) ((null):-1)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.Activity.performCreate(androID.os.Bundle) (Activity.java:5990)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.Instrumentation.callActivityOnCreate(androID.app.Activity, androID.os.Bundle) (Instrumentation.java:1106)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at androID.app.Activity androID.app.ActivityThread.performlaunchActivity(androID.app.ActivityThread$ActivityClIEntRecord, androID.content.Intent) (ActivityThread.java:2278)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.ActivityThread.handleLaunchActivity(androID.app.ActivityThread$ActivityClIEntRecord, androID.content.Intent) (ActivityThread.java:2387)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.ActivityThread.access0(androID.app.ActivityThread, androID.app.ActivityThread$ActivityClIEntRecord, androID.content.Intent) (ActivityThread.java:151)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.ActivityThread$H.handleMessage(androID.os.Message) (ActivityThread.java:1303)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.os.Handler.dispatchMessage(androID.os.Message) (Handler.java:102)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.os.Looper.loop() (Looper.java:135)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID androID.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:5254)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[], boolean) (Method.java:-2)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:372)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:903)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143]   at voID com.androID.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:698)03-09 14:47:45.834 24895-24895/? A/art: art/runtime/thread.cc:1143] 03-09 14:47:45.965 24895-24895/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x203a79ac in tID 24895 (kit.myapp) 03-09 14:47:45.965 24895-24895/? I/libc: Suppressing deBUGgerd output because prctl(PR_GET_DUMPABLE)==0

在调试中实时运行应用程序时,我收到类似的错误,但不会导致崩溃.

这里任何方向都很好.谢谢.

解决方法:

当您从调试转移到发行版本时,开始出现NoSuchFIEldError或类似的“嘿,这东西不见了!”错误,请先转到ProGuard设置.如果类或程序包的-keep解决了问题,则至少有权宜之计.不过,您可以添加一个Todo项目以提出更细粒度的解决方案.

总结

以上是内存溢出为你收集整理的SQLCipher导致Android Signed Release中的崩溃APK全部内容,希望文章能够帮你解决SQLCipher导致Android Signed Release中的崩溃APK所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存