问题标签 [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.
android - 在 NDK 项目中引用本机库
我正在尝试使用 CMAKE 从 NDK 项目中引用本机库,但我运气不佳。我的第一次尝试是简单地为我感兴趣的本机库添加包含。(例如)
但是,这不起作用,它只是说找不到文件。那么,它会是我放在 CMakeList.txt 中的东西吗?为了清楚起见,我想直接从我的 NDK 项目中的 C++ 代码中引用本机库方法/类。
PS:(在这里阅读过去不是必需的,它只是为我接下来要做的事情增加了更多色彩)我觉得我应该分享我的真正目标是获得通过应用程序框架不允许访问的东西。我想覆盖/使用本机库中我无权访问的类。我希望我不必重新编译内核来执行此操作。
android - 有没有办法在安装后使用 Platstore 的动态交付在运行时下载本机库(.so)?
正如问题所说,我可以使用动态交付功能来交付我的应用在安装后使用的 .so 文件吗?我的 .so 文件大小为 15 MB,这会导致应用程序的大小增加两倍。
如果没有,有没有其他方法可以在运行时向应用程序提供本机库?开发者计划内容对此非常清楚:
通过 Google Play 分发的应用程序不得使用 Google Play 更新机制以外的任何方法修改、替换或更新自身。同样,应用程序不得从 Google Play 以外的来源下载可执行代码(例如 dex、JAR、.so 文件)。此限制不适用于在虚拟机中运行且对 Android API 具有有限访问权限的代码(例如 web 视图或浏览器中的 JavaScript)。
以下是一些常见违规行为的示例: 从 Google Play 以外的来源下载可执行代码(例如 dex 文件或本机代码)的应用程序或第三方代码(例如 SDK)。
谢谢您的帮助!!
android - Android 工作室:构建 -> 构建 APK 与运行应用程序(播放按钮)
我是 Android Studio 的新手,我想知道使用 Build -> Build APK(s) 生成的 APK 与使用“播放”按钮 (Ctrl+F5) 生成的 APK 之间的区别。
问题如下:我正在使用一些本机库,并且在使用 Ctrl+F5(播放按钮)进行调试时,我收到 UnsatisfiedLinkError,因为找不到该库。事实上,如果我打开 APK(构建 -> 分析 APK),我会看到没有“lib”文件夹,所以没有 .so lib。
但是,当我 Build -> Build APK(s) 然后分析这个新 APK 时,我可以看到包含所有 .so 库的“lib”文件夹。然后,如果我将这个 APK 复制到我的手机中并安装该应用程序,一切正常(我使用 Native Libs Monitor,它可以识别里面的原生库)。
当然我不能每次都这样做,所以我正在寻找差异,以便我可以理解为什么在第一种情况下没有在 apk 内创建库。
java - Is it possible to start a native executable from android native layer?
I have two "test" native executables and I'm trying to execute/start them as from native callback method. This is how "test" applications look:
I've checked the appName.apk file and they are indeed part of the application (placed in the assets/bin folder when unpacked). This is how I'm currently fetching assets related to the executable files:
Is it possible to somehow use the fetched assets (m_OhmTest and m_OmbTest) to run the executable?
android - Android NDK - 执行 .so 返回 0 但不工作
如果 process = new ProcessBuilder(new String[]{"su", "-c", "exec " + mylib.so).start() 返回 0 而没有任何执行迹象,如何执行 .so 文件。
我已经使用 cmake 编译了一个 .c 文件并将其存储为库 (.so)。但是,当尝试执行库(必须运行 main() 函数)时,进程退出值为 0(无错误)时什么也没有发生。
我试图写入我创建的文件以测试该库是否正在执行,但也没有任何反应。该文件仍然是空的。
此外,我找不到cmake日志文件是因为库没有执行吗?如果我在 cmakelist.txt 中添加日志库,我如何访问日志文件,如下所示:
android - 为什么构建实际运行时我的 Android.mk 文件中的斜线消失了?
在我的 Android.mk 中,我有以下行:
这就是我启动时看到的mm()
:
/bin/bash -c "PWD=/proc/self/cwd prebuilts/clang/host/linux-x86/clang-r383902b/bin/clang++ -I frameworksavinclude
这是预期的吗?我可以/应该做些什么来把它变成“-I frameworks/av/include”吗?
android - 在 Android 上添加新的光传感器和新的加速度计
我在一个项目中,将开发一张运行 Android 10 的卡。
它将有一个环境光/接近传感器 (SFH207779) 和一个加速度计传感器 (LIS2DH12TR),两者都通过 I2C 协议连接。
我有为使用的 SOM(模块上系统)定制的 Android 10 源代码。
我希望传感器可以由用 Java 编写的用户应用程序访问,通常由 SensorManager 和 Sensor 类使用。
在Android IIO 传感器上,您可以很好地回答以下步骤:
- 查找/编写具有合适设备模型(输入、iio、hwmon 等)的驱动程序
- 使板子识别设备(通过向设备树或板子配置文件中添加信息)
- 查找/编写合适的 Sensor-HAL 或将传感器添加到现有 HAL。
但它没有指定,甚至没有示例,必须在 Android 源代码中创建/更改的文件。