问题标签 [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.

0 投票
1 回答
98 浏览

android - 在 NDK 项目中引用本机库

我正在尝试使用 CMAKE 从 NDK 项目中引用本机库,但我运气不佳。我的第一次尝试是简单地为我感兴趣的本机库添加包含。(例如)

但是,这不起作用,它只是说找不到文件。那么,它会是我放在 CMakeList.txt 中的东西吗?为了清楚起见,我想直接从我的 NDK 项目中的 C++ 代码中引用本机库方法/类。

PS:(在这里阅读过去不是必需的,它只是为我接下来要做的事情增加了更多色彩)我觉得我应该分享我的真正目标是获得通过应用程序框架不允许访问的东西。我想覆盖/使用本机库中我无权访问的类。我希望我不必重新编译内核来执行此操作。

0 投票
1 回答
112 浏览

android - 有没有办法在安装后使用 Platstore 的动态交付在运行时下载本机库(.so)?

正如问题所说,我可以使用动态交付功能来交付我的应用在安装后使用的 .so 文件吗?我的 .so 文件大小为 15 MB,这会导致应用程序的大小增加两倍。

如果没有,有没有其他方法可以在运行时向应用程序提供本机库?开发者计划内容对此非常清楚:

通过 Google Play 分发的应用程序不得使用 Google Play 更新机制以外的任何方法修改、替换或更新自身。同样,应用程序不得从 Google Play 以外的来源下载可执行代码(例如 dex、JAR、.so 文件)。此限制不适用于在虚拟机中运行且对 Android API 具有有限访问权限的代码(例如 web 视图或浏览器中的 JavaScript)。

以下是一些常见违规行为的示例: 从 Google Play 以外的来源下载可执行代码(例如 dex 文件或本机代码)的应用程序或第三方代码(例如 SDK)。

谢谢您的帮助!!

0 投票
0 回答
133 浏览

android - 设置ANativeWindow android的高度宽度

我正在开发一个应用程序,我想在其中设置表面视图和本机窗口的高度宽度。我正在使用布局参数设置表面视图高度宽度。例如,如果我将 500 高度和 500 宽度设置为表面视图和原生窗口,那么我的原生窗口不适合我的表面视图。表面视图似乎需要一些额外的宽度和高度。下面是我的代码。

表面视图

反窗口:

设置 500 宽度和高度后,我的视图根据下图设置。 在此处输入图像描述

为什么我的本机窗口总是设置一些矩形结构。在设置这些本机窗口参数时,我做错了什么或缺少任何参数吗?我为本机窗口尝试了一些缩放模式,但没有奏效。关于相同的任何帮助?

0 投票
1 回答
157 浏览

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 内创建库。

0 投票
0 回答
22 浏览

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?

0 投票
1 回答
26 浏览

android - 从手机启动器中获得多项活动的选项?

你好,见下图

在此处输入图像描述

当长按 chrome 应用程序图标时,我可以快速选择隐身并打开新标签

所以我怎么能用我自己的应用程序做到这一点

0 投票
0 回答
31 浏览

android - 本机 Android java 方法没有找到任何参考

我有两个模块首先有 Jni Android.MK 文件,第二个有 CMakeList.txt 第一个模块具有第二个模块的依赖项。现在,当我从第一个模块调用任何本机 java 方法时,它会在第二个模块中找到该方法并说 **

找不到“方法名称”的实现

**

在此处输入图像描述

在此处输入图像描述 任何解决方案或任何建议请。先感谢您

0 投票
1 回答
62 浏览

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 中添加日志库,我如何访问日志文件,如下所示:

0 投票
0 回答
31 浏览

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”吗?

0 投票
0 回答
246 浏览

android - 在 Android 上添加新的光传感器和新的加速度计

我在一个项目中,将开发一张运行 Android 10 的卡。

它将有一个环境光/接近传感器 (SFH207779) 和一个加速度计传感器 (LIS2DH12TR),两者都通过 I2C 协议连接。

我有为使用的 SOM(模块上系统)定制的 Android 10 源代码。

我希望传感器可以由用 Java 编写的用户应用程序访问,通常由 SensorManager 和 Sensor 类使用。

Android IIO 传感器上,您可以很好地回答以下步骤:

  1. 查找/编写具有合适设备模型(输入、iio、hwmon 等)的驱动程序
  2. 使板子识别设备(通过向设备树或板子配置文件中添加信息)
  3. 查找/编写合适的 Sensor-HAL 或将传感器添加到现有 HAL。

但它没有指定,甚至没有示例,必须在 Android 源代码中创建/更改的文件。