无法加载库“libdl.so.2”

2023-12-14

我一直在尝试将 linux 编译的预构建共享库与我的 android jni 应用程序一起使用,但是当我尝试运行该应用程序时,它会出现以下错误:

04-16 19:09:13.633:E / dalvikvm(11810):dlopen(“/data/app-lib/com.lXXXX.XXXX.connect-2/libXXX_embedded_shared.so”)失败:无法加载库:soinfo_link_image(链接器) .cpp:1636):无法加载库“libdl.so.2”“libXXX_embedded_shared.so”需要;由 load_library(linker.cpp:746) 引起:找不到库“libdl.so.2”

我在 android/system/lib 中找不到 libdl.so.2 但有一个库 libdl.so 我尝试加载但它仍然没有解决依赖关系。

你能指出我在这里缺少什么吗?


你不可以做这个。

Android 和普通的 Linux 具有截然不同的用户空间,特别是它们使用完全不同的 C 库和相关的不兼容的动态链接器。

对版本化库名称的渴望(.so.2 - Android 目前没有这样做)表明该库不是为 Android 构建的。

您需要使用 android ndk 重建所有库通过创建 Android.mk 和类似文件来驱动正常的 ndk 构建系统,或者使用 ndk 实用程序生成“独立工具链”并将项目的构建系统指向生成的针对 android 的 gcc、ld 等。

有些人通过在 chroot 中放置 debian-arm 或类似的整个最小安装,设法在 root 设备上使用正常的 Linux 用户空间组件,但这需要 root 来设置,并且无论如何都无法通过 jni 从应用程序进程链接。您的应用程序进程已经与 Android 的 C 库紧密相关,因此您无法真正替代另一个库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法加载库“libdl.so.2” 的相关文章

  • JKS、BKS 和 PKCS12 文件格式

    我正在设置一个无头服务器 该服务器使用用户提供的数据 JS CSS HTML 密钥库 为 Android 构建 Phonegap 混合应用程序 我想进行一些基本的客户端检查 以确保上传的密钥库有效 对于 JKS 文件 我发现可以通过确保提供
  • 启动画面反应本机后出现白屏

    编辑 似乎是因为 MainActivity 加载太重而生成白屏 我设法首先使用本机启动屏幕来解决 然后在本机被杀死后立即基于下一个插件的 js 实现 我做了一些修改完美匹配两个启动画面https github com crazycodebo
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • 应用程序启动时立即隐藏导航栏

    基于以下代码片段 我能够隐藏状态栏当应用程序启动时 但不是导航栏 由后退 主页和任务管理器按钮组成的栏 因为它隐藏了稍后在 MainActivity 的线程完成加载后 这是清单
  • Android ACTION_DATE_CHANGED 广播

    我有 Nexus S 当我在手机上手动更改日期时 ACTION DATE CHANGED 并不总是被广播 如果我将日期从 2014 年 2 月 13 日更改为 2014 年 2 月 14 日 我还没有获得 ACTION DATE CHANG
  • 如何以编程方式从 mipmap 文件夹加载图像? [复制]

    这个问题在这里已经有答案了 如何从 加载图像mipmap以编程方式保存文件夹 与可绘制对象一样 img setImageResource imageId 我使用的是Android Studio 1 2 1 In 安卓工作室我们有mipmap
  • Android 中的 XmlPullParser 陷入困境

    经过多个小时的搜索和调试后 我仍然停留在同一个地方 并且 Eclipse 没有帮助我 我试图解析这个 RSS 提要 http fr espnf1 com rss motorsport story feeds 0 xml type 2 这很简
  • 使用 appcelerator titan 在 android 中后退按钮退出应用程序

    我是钛开发的新手 在本机 android 中 如果我们按下后退按钮 则仅当前活动将被关闭 并且它将返回到上一个活动 但是当我使用 Titanium 在 Android 中按下后退按钮时 它会从应用程序退出 我怎样才能改变这种行为 有两种类型
  • 如何从另一个应用程序向一个应用程序添加视图

    我的应用程序叫做我的好应用 MyNiceApp 主要只是一个加载视图的核心coreView在主活动中onCreate coreView由用户根据需要下载的其他插件的视图填充 我定义了核心视图上的各个区域 这些区域可以通过 MyNiceApp
  • 如何设置上拉刷新SwipeRefreshLayout

    我看到很多 ListView 下拉刷新的库 但是当从上到下拉动时它们是工作的 但是从下到上拉动时我如何刷新 我可以用这个做吗滑动刷新布局 http developer android com reference android suppor
  • 创建用于 Android 库分发的 JAR

    我正在开发一个 android 库 并希望导出一个 JAR 文件 我可以分发该文件供其他人在他们的应用程序中使用 我不想分发源代码 因为它包含有关发布到我的网络服务器的详细信息 我尝试使用在 bin 目录中创建的 JAR 文件并将该 jar
  • EditText 不显示当前输入(Android 4)

    我的 Android 应用程序包含一个EditText http developer android com reference android widget EditText html查看可以在其中键入一些短消息 单行 按键盘的DONE键
  • SDK 管理器中缺少 Google Play 服务

    我想在我的应用程序中使用 Google 地图 我想在 SDK 管理器中安装 Google Play 服务 但是当我转到 SDK 管理器时 我没有看到 Google Play 服务 为什么 我该如何安装这个 我可以独立于 SDK Manage
  • Android Youtube API 可用吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有适用于 Android 的 YouTube API 吗 如果不是 除了通过网络浏览器之外 如何从 Yo
  • Android - 具有可序列化对象的 SharedPreferences

    我知道 SharedPreferences 有putString putFloat putLong putInt and putBoolean 但我需要存储一个类型的对象Serializable in SharedPreferences 我
  • Android 如何从我的应用程序使用 SD 卡中的文件路径预览图像

    文件存在于sdcard image jpg我想创建我自己的应用程序 活动 按下按钮时 需要使用内置图像查看器显示存储在 SD 卡中的图像 按图像查看器中的后退按钮后 它应该返回到我正在运行的应用程序 需要一些帮助 您可以为此创建一个具有适当
  • 如何将 currentTimeMillis 转换为可读的日期格式? [复制]

    这个问题在这里已经有答案了 我想用currentTimeMillis两次 这样我就可以计算持续时间 但我也想以用户可读的格式显示时间和日期 我遇到了麻烦currentTimeMillis有利于计算 但我看不到内置函数可以转换为合适的时间或时
  • 如何为工具栏上的溢出菜单中的菜单项设置字体

    我想更改项目的默认字体溢出菜单并设置自定义字体 我尝试添加一个工厂LayoutInflater并在onCreateView 方法我改变了TextView的字体 但这没有用 这是代码 在 onCreateOptionsMenu 内 getLa
  • 随着速度变化,速度表针规绕其中心旋转

    Hi all 我编写了一个应用程序 其中有一个速度计 其指针垂直设置为 90 度 我试图以每秒变化的速度绕其中心旋转指针 我在文本视图中显示变化的速度 从 0 到 120 随机 我正在从远程服务获取速度并显示在文本视图中 因此 当速度发生变
  • 如何检测文本是否可读?

    我想知道是否有一种方法可以告诉给定的文本是人类可读的 我所说的人类可读的意思是 它有一些含义 格式就像某人写的文章 或者至少是由软件翻译器生成的供人类阅读的文章 这是背景故事 最近我正在制作一个应用程序 允许用户将短文本上传到数据库 在部署

随机推荐

  • 如何在Python查询中按名称获取字段?

    我在Python脚本中使用Mysql连接 如何按名称从表中获取结果 cursor conn cursor cursor execute SELECT FROM local 现在我通过索引来做到这一点 results cursor fetch
  • 使用 VBA 合并 Excel 工作表

    我有一个 Excel 工作表 例如 OG xls 其中已有一些数据 其中有大约 5000 行 标题位于第一行 最多为 AN 列 这个行数 5000 全年都不会改变 现在我有 5 个 XL 文件 比如 A B C D E 这些文件中的数据每次
  • 使用批处理根据分辨率重命名我的视频文件

    我想根据视频文件的分辨率重命名它们 例如 对于 1080p 的视频 bla bla mp4 我想将其重命名为 bla bla H 264 1080p 该脚本应该能够自动检测视频的分辨率 而且如果文件已经被重命名 则不应重命名它 我无法找到检
  • 使用 iPhone 在 UIView 中嵌入视频

    我想编写一个在视图中下载 或流式传输 视频 根据需要编码 的应用程序 我不想使用 SDK 中的 MPVideoPlayer 因为它会全屏打开视频 我想在视频上放置另一个 UIView 透明 以便我的用户可以在视频上进行注释 任何人有任何想法
  • 限制 App Engine 对自定义域中的 G Suite 帐户的访问

    不久前 Google Apps 现在称为 G Suite 域的 App Engine 相关设置已移至 Google Cloud Console 截至目前 限制关联 G Suite 用户访问 App Engine 实例的记录方法是通过此 Go
  • 在 Jquery 中选择元素之前的同级?

    DOM 看起来像这样 div A div div B div div C div div D div div E div div F div div G div 现在我可以选择 div D div using div selected 那么
  • setInterval at 1ms 似乎实际上不是 1ms

    我正在尝试使用 HTTPRequest 来计算下载文件所需的时间 如下所示 function getFile use strict var url data bin var rawFile new XMLHttpRequest var ti
  • Openssl 和 PHP

    我正在尝试使用 PHP 加载 openssl cli 工具生成的私钥 我使用了以下命令和 PHP 代码 openssl genrsa des3 4096 out private key if key openssl pkey get pri
  • 来自纬度经度位置的国家/地区代码(不使用地理编码服务)

    如何从纬度经度位置获取国家 地区代码 我知道有许多地理编码服务可用 但它们不能满足我的要求 因为我的应用程序在上线几个小时后就被阻止 许多地理编码请求 大多数地理编码服务还提供商业服务 但它们还不是一种选择 因为该项目还处于起步阶段 我做了
  • 拆分函数添加: \xef\xbb\xbf...\n 到我的列表

    我想打开我的file txt并从此文件中分割所有数据 这是我的file txt some data1 some data2 some data3 some data4 some data5 这是我的 python 代码 gt gt gt f
  • 如何在codeigniter中将时间戳转换为日期

    我想转换1373892900000 to Monday 2013 07 15 8 55 AM在代码点火器中 但是 通过使用我编写的函数转换时间戳 我不断收到完全不同的结果 请注意 我需要根据不同的时区更改日期 这就是为什么我想这样写 pub
  • jqGrid loadonce 不适用于 asp.net

    有谁知道如何用 asp net asmx jqGrid 排序解决这个讨厌的问题 因为 为了从 jqGrid 调用 pagemethods 或 asmx Web 服务 需要像这样进行攻击 datatype function ajax url
  • 如何通过 Javascript 设置循环 iMacros?

    1 我无法通过javascript添加设置循环imacros 我该如何添加它 var macro macro CODE macro VERSION BUILD 8011895 n macro TAB T 1 n macro SET ERRO
  • Android - 获取对 Manifest 中定义的 BroadcastReceiver 的引用

    有什么方法可以从代码中获取 Manifest xml 中定义的 BroadcastReceiver 的引用吗 就我而言 我们使用的 BroadcastReceiver 需要包含在 Manifest xml 中 然而 它具有我想在我们的代码中
  • 使用 typeahead 和 Bloodhound 单击时显示完整的建议列表

    我将 Typeahead js 与 Bloodhound 建议引擎一起使用 并希望用户在搜索框中单击后立即显示该列表 我发现了这个 stackoverflow 问题 Twitter TypeAhead 以编程方式显示所有结果 这与我相同 答
  • 与具有依赖关系的动态库链接

    考虑以下场景 共享库 libA so 没有依赖项 共享库 libB so 以 libA so 作为其依赖项 我想编译一个与 libB 链接的二进制文件 我应该仅将二进制文件与 libB 链接还是与 libA 链接 有没有办法只链接直接依赖项
  • 仅在有效文本选择的情况下启用 CKEditor 工具栏按钮?

    我正在开发一个 CKEditor 插件 用于注释文本和添加边距注释 但我希望仅当用户已经选择了一系列文本时才启用一些自定义工具栏按钮 每当用户打字或光标位于单个点 而不是范围 时 按钮 及其关联的命令 都应该被禁用 我是一位经验丰富的插件作
  • 导入错误:无法导入名称“Deque”

    我正在尝试在 Heroku 上托管我的 Discord py 机器人 当我的机器人启动时出现以下错误 2020 01 31T20 49 31 501236 00 00 heroku worker 1 State changed from s
  • 如何使用 git filter-repo 作为带有 Python 模块接口的库?

    我知道我在命令行中将 Python 代码作为字符串给出 例如 git filter repo name callback return name replace b Wiliam b William 但特别是当我进入更复杂的脚本时 这会变得
  • 无法加载库“libdl.so.2”

    我一直在尝试将 linux 编译的预构建共享库与我的 android jni 应用程序一起使用 但是当我尝试运行该应用程序时 它会出现以下错误 04 16 19 09 13 633 E dalvikvm 11810 dlopen data