2023-01-21 270
可能的重复:
应用程序在debug/run中的应用程序可起作用,但是.apk在解析包含自定义视图的XML布局时给出.classNotFoundException
我从另一个应用程序重新使用现有的NDK编译库.
当我尝试使用system.loadlibrary()加载库时,它会用sigsegv.
崩溃
简单地说,我正在这样做:
static {
System.loadLibrary("testlib");
}
我有信心图书馆很好,因为它在另一个应用程序中使用(无需修改).
我也可以以这种方式加载其他库.
我对使用Android/ndk很陌生 – 我需要谨慎地指定或设置一些我错过的东西吗?
这是我在日志中看到的:
04-17 09:33:37.725 6100 6100 D dalvikvm: Trying to load lib /data/data/com.test.android/lib/libtestlib.so 0x4051617
0
04-17 09:33:37.733 6100 6100 D dalvikvm: Added shared lib /data/data/com.test.android/lib/libtestlib.so 0x40516170
04-17 09:33:37.733 6108 6108 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-17 09:33:37.733 6108 6108 I DEBUG : Build fingerprint: 'verizon/venus2_vzw/cdma_venus2:2.3.4/4.5.1-110-VNS-35/120113:user/release-keys'
04-17 09:33:37.733 6108 6108 I DEBUG : pid: 6100, tid: 6100 >>> com.test.android <<<
04-17 09:33:37.733 6108 6108 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018
04-17 09:33:37.733 6108 6108 I DEBUG : r0 00000005 r1 aca83d13 r2 000415a6 r3 81db5c4c
04-17 09:33:37.733 6108 6108 I DEBUG : r4 00000000 r5 00000000 r6 81db5c4c r7 81db5c40
04-17 09:33:37.733 6108 6108 I DEBUG : r8 0000cec8 r9 81c8734d 10 002b1284 fp 00000000
04-17 09:33:37.733 6108 6108 I DEBUG : ip fffffe8c sp bef91e48 lr aca6661b pc aca45c0e cpsr 20000070
04-17 09:33:37.733 6108 6108 I DEBUG : d0 643a64696f72646e d1 6472656767756265
04-17 09:33:37.733 6108 6108 I DEBUG : d2 81dbd63081dc20c8 d3 81dc30a081c84481
04-17 09:33:37.733 6108 6108 I DEBUG : d4 81c844b981db6ccc d5 81dc20b481dc209c
04-17 09:33:37.733 6108 6108 I DEBUG : d6 81dc20cc81c844ad d7 81c844a181dbb618
04-17 09:33:37.733 6108 6108 I DEBUG : d8 0000000000000000 d9 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d10 0000000000000000 d11 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d12 0000000000000000 d13 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d14 0000000000000000 d15 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d16 bef91b68405515a8 d17 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d18 0707070703030303 d19 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d20 0100010001000100 d21 0100010001000100
04-17 09:33:37.733 6108 6108 I DEBUG : d22 0000000000000000 d23 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d24 0000000000000000 d25 0000000000000000
04-17 09:33:37.733 6108 6108 I DEBUG : d26 0100010001000100 d27 0100010001000100
04-17 09:33:37.733 6108 6108 I DEBUG : d28 0100010001000100 d29 0100010001000100
04-17 09:33:37.733 6108 6108 I DEBUG : d30 00c7000000c10000 d31 00d3000000cd0000
04-17 09:33:37.733 6108 6108 I DEBUG : scr 20000012
如果我在模拟器上运行它,则可以正常工作.
找到答案.
我的线索是,如果我通过Eclipse运行它,它的运行良好,并且只有在我创建.APK文件时才有这个问题.
我在这里找到了解决方案:应用程序从Eclipse进行调试/运行,但是.apk在解析包含自定义视图的XML布局时给出.classNotFoundException
System.loadLibrary() loads library from current project and System.load(fullPathLibName) load library from specific path.
所以,使用system.load().
以上所述是小编给大家介绍的Android JNI: 调用System.loadLibrary()导致SEGV,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26297.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态