美文网首页
64位系统动态库debug之旅

64位系统动态库debug之旅

作者: 京生京世 | 来源:发表于2017-04-26 21:10 被阅读22次

前言

Android5.0系统(64位),开发的一个系统应用,声明了一个服务,进程名为system,调用armeabi-v7a的库时抛出了dlopen failed to load 32 bit instead of 64 bit library异常,并且系统重启。

Debug

dlopen failed to load 32 bit instead of 64 bit library异常时因为当前环境是64位,却打开的是32位的动态库。但是我的工程里面只有armeabi-v7a的库,不存在64位的库,所以运行环境应该是32位的,在stackoverflow上(下图)找到了线索。

图片.png
最后搜索到http://www.jianshu.com/p/8686931d31f0 64位系统的system进程是64位的,所以不能用32位库,这个进程已崩溃系统就重启了。系统应用加载库的路径只能/system/lib和/system/lib64,其他的路径都不可以。

解决办法

1.修改进程名,不要轻易使用system进程名。
2.增加64位的库。

相关文章

  • 64位系统动态库debug之旅

    前言 Android5.0系统(64位),开发的一个系统应用,声明了一个服务,进程名为system,调用armea...

  • iOS---10--- _read_images 浅析 类的加载

    [toc] 前言 在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统动态库...

  • 10--- _read_images 浅析 类的加载

    [toc] 前言 在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统动态库...

  • 动态库截图保存

    testLib 是自制的动态库 WebKit 系统的动态库。 可以看到,系统的动态库存储路径是在系统目录中,自制的...

  • Swift 静态库调研

    一、关于库的背景知识1、静态库和动态库静态库动态库系统动态库Cocoa Touch Framework静态库 v....

  • golang调用c动态库

    golang调用c动态库 简介 golang调用c语言动态库,动态方式调用,可指定动态库路径,无需系统目录下 核心...

  • Dynamic & Static Libraries

    Dynamic Libraries 所有的系统库都属于动态库 动态库的后缀名为.dylib或.framework ...

  • 【iOS逆向】Logos语法

    release版本debug=0; make package包含了make的操作。 加载动态库的时候执行%ctor...

  • iOS静态库开发制作

    库的种类 开源库 闭源库 闭源库分类 动态库链接时不复制,程序运行时由系统动态加载到内存中,供程序调用。系统只加载...

  • 零散的笔记

    系统 gdb gdb跟踪zlib库 编译debug版本 链到编译的库 gdb -derictory 指定目录 gd...

网友评论

      本文标题:64位系统动态库debug之旅

      本文链接:https://www.haomeiwen.com/subject/xxnvzttx.html