问题标签 [android-native-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - LDD:/usr/lib/aarch64-linux-gnu/libdl.so:找不到版本“LIBC”(./libNative.so 需要)
我想使用.SO
我提取的 APK 中的本机库文件。在修复了很多错误之后,我发现了这个我不明白的地方。
我该如何解决?
android - 错误:无法解析“:app@debug/compileClasspath”的依赖关系:无法下载twitter.aar(com.twitter.sdk.android:twitter:3.1.0)
有人请帮我解决这个问题。尝试了 Stack Overflow 和其他博客中提供的所有可能的解决方案。错误:
我已经尝试过的一些解决方法: 1. 取消选中离线模式 2. sdk 更新和更改目标 sdk 和最低 sdk 级别 3. gradle 版本和分发(url)版本应该相同 4. 将 Android Studio 更新到最新版本(3.5 .3) 并将所有依赖项迁移到 androidx
我的构建 gradle 文件:
android - Android Studio 中未定义函数 getauxval
所以我试图在我在 Android Studio 中编写的本机库中使用 getauxval 函数,但不幸的是我无法编译代码,因为该函数似乎不存在。
当我包含定义函数的标题 auxv.h 时,我可以在那里找到带有条件宏的函数:
我的 Android api 变量大于 18,无论如何我试图编辑和删除这个条件宏,它仍然没有工作......有谁知道如何修复它?谢谢!
android - Android Q 在发布版本上执行二进制文件
我有这段代码试图获取可执行二进制文件的名称,以便稍后执行它。该代码在 Q 之前的 Android 设备上运行良好,在 Android Q 设备上以调试模式执行时也运行良好,但null
在发布模式下执行时返回。
我为此添加了一些日志记录,似乎该文件nativeLibraryDir
在发布模式下不存在。
当谈到原生的东西时,我不是很擅长,我真的无法理解这里发生了什么。
尝试android:extractNativeLibs
在清单中设置为任一值true
,或者false
我也按照一些建议android.bundle.enableUncompressedNativeLibs=false
在文件中尝试了gradle.propreties
但什么都没有!请帮忙。
android - android 项目在 Linux 上构建,但不在 Windows 上
我正在尝试构建包含本机代码的存储库。它在 Ubuntu 上构建没有任何问题,但在 Windows 上构建失败,显示此错误:
我通过为 Windows 安装 make 并将其添加到路径中解决了这个问题。但出现了另一个错误:
整个错误是:
还安装在 sdk 管理器和我的 local.properties 中的 LLDB、Cmake 和 NDK:
android - Nexus7 无法加载原生库
我尝试构建本地库(在我的例子中是 SQLite)以将它们添加到我的 Android 项目中。
我的问题:我的 Nexus7 与 Android 6.0.1 尝试从../lib/arm/libsqlite3.so
路径加载它。但这条路不存在。
从一开始就:
在这个文件夹中,我创建了一个
CMakeLists.txt
包含以下内容的文件:
- 我用这个命令(后跟
make
)构建了库:
我为这 4 个 ABI 做了这个:armeabi-v7a
、、arm64-v8a
和。x86
x86_64
之后,我将文件复制到.so
文件app/src/main/jniLibs/<abi>
夹中,文件夹结构如下所示:
当我现在运行该应用程序时,我收到以下错误消息:
为什么 Android 会尝试从lib/arm
文件夹而不是从加载 lib lib/armeabi-v7a
?当我对使用 Android 7.1.1 的不同设备执行相同操作时,它可以工作。
顺便说一句,Android Native Lib 演示项目也可以工作。当我查看它的 apk 时,本机库位于lib/armeabi-v7a
文件夹中。那么,为什么当 Android Studio 编译原生代码时它可以工作,而当我添加预编译的原生库时却不行呢?
android - 检查失败:receiver != nullptr virtual (SIGABRT) 写入本地存储时
我有一个方法
写一个序列化的对象
以 JSON 文件的形式存储到本地存储。
当在 Gson 构建过程中对标识对象调用 .toJson() 时,会在本机层发生崩溃,该层提供了一个非常长的日志列表,以
并以
不生成墓碑。这是一段看似微不足道的代码,过去一直有效,不确定是什么变化导致了这种情况开始发生。我该如何调查是什么原因造成的?
android - 在 Android 中从 SDK 28 迁移到 SDK 29 后,我的应用程序崩溃并面临:信号 11 (SIGSEGV)、代码 2 (SEGV_ACCERR)、Android Studio 3.4.1 中的错误
我只在 Android OS 版本 10 的 OnePlus、Samsung、Poco F1 中面临这个问题。
它适用于搭载 Android 10 的像素设备。
请在下面找到错误日志
任何人都可以帮助解决这个问题提前谢谢
android - 了解原生 android 崩溃日志中的不同部分
我有一个 android 崩溃日志,需要帮助理解一些事情
1) r0-r9, sl, fp, ip 代表什么
2)如何利用r0,r1,sl等附近的内存。有时有一些可读的字符可以用来解释。所以想了解如何将其与实际崩溃联系起来 3)
java - 了解导致信号 11 (SIGSEGV)、代码 1 (SEGV_MAPERR) 几秒钟后出现错误的 Android 问题
我正在运行传感器和位置服务,数据被传递到 TraceManager 文件,在该文件中处理并传递给 TraceCWrapper 以映射到共享 C 库 .so ,看起来传感器和位置数据很好并收到在 TraceManager 中,它然后被传递到 TraceCWrapper,但是应用程序在几秒钟后崩溃,我得到的唯一错误行是:
A/libc:致命信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR),tid 29938 (AsyncTask #1) 中的故障地址 0x8,pid 29870 (pp.traceandroid)
我没有足够的空间来添加 TraceCWrapper 文件,但是库被加载为:
作为主要示例,方法 traceCWrapper.provideDeviceMotion() 在 TraceCWrapper 中被接收为:
您将不得不原谅大量的日志记录和多余的代码,因为我已经为此苦苦挣扎了一段时间。
传递我的 TCIMUEvent 时,我使用如下结构注释:
所需的 Java C 映射:
新的映射看起来像这样,对象的结构都与原始问题中的上述格式相同:
现在引发的错误与我的 Structure 对象中的空构造函数有关: