问题标签 [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 回答
194 浏览

android - 如何从相机预览中检测现有图像?

我必须从相机预览中检测 android 项目中的现有图像而不拍摄图像我到处查看,我发现我必须使用 opencv 但我没有找到一个很好的例子(解决方案必须看起来像条形码检测)如果有任何想法请告诉我谢谢。

0 投票
1 回答
603 浏览

android - android错误java.lang.UnsatisfiedLinkError:无法加载stlport_shared:findLibrary返回null

我使用 greendao 时遇到错误,并且在 gradle 文件中正确导入了 sqlcipher 的依赖项,我还导入了 armeabi、armeabi-v7a 和 x86 本机库,但无法弄清楚如何添加 mips,因为我可以'找不到它,我的模拟器是 mips 系统映像所以这个错误来了,我想是的

请帮帮我

应用程序.java

错误来了

0 投票
0 回答
322 浏览

java - linux下runinig android java的原生库

我有运行良好的简单 android 应用程序(图形上什么都不做,但计算一些数据),它使用本机库,这些库用于 x86,所以我希望使该代码在 x86 ubuntu 下作为一个简单的编译 java 二进制文件工作。因此,在找到所有库依赖项后,编译器告诉我:

经过一番谷歌搜索后,我发现__sF是某种 android 指定的参数数组,可以在 android env(或其他地方,我实际上不知道)中访问。 libgnustl_shared.so依赖于libm.solibdl.so,它们是 ubuntu 自带的。

我应该尝试找到 android x86 libm.solibdl.so吗?或者尝试在java代码中实现一些__sF ?

(重点是解决libgnustl_shared.so的问题,其他库是由我的同事手动编写的,所以我不希望它们有任何伤害)

我希望任何人都有这些知识来帮助我使它工作。感谢任何帮助。

0 投票
1 回答
1432 浏览

android - 如何允许特定本机库的特定 ABI?

我需要过滤我的第 3 方本机库,并且只允许所有这些库使用“armeabi”。有一个例外!- 特定库必须包含在其“armeabi-v7a”变体中。

如何根据库以不同方式过滤我的 3rd 方本机库?(或在应用程序模块上)

我最终在我的 APK 中想要的是:

  • armeabi / lib-1.so
  • armeabi / lib-2.so
  • armeabi / lib-3.so
  • armeabi-v7a / special-lib.so

完整的故事:

我有一个内置在几个模块中的应用程序。它使用了一些 3rd 方本机库。到目前为止,我们只使用所有库的“armeabi”版本,因为它们最兼容,而且我们的目标是小应用程序大小(没有多个 APK)。但是,现在我们需要包含一个新的 3rd 方库,该库仅以“armeabi-v7a”形式提供。

我们一直在使用过滤器:

它位于主应用程序模块中。它从所有模块和库中过滤所有本机库。现在我们被迫使用这个过滤器:

这使应用程序工作,但也显着增加了它的大小。我们不想使用它。它允许新库的 armeabi-v7a 版本,但也允许我们不想包含的其他一些库的 armeabi-v7a 版本。

问题:我们希望仅允许“armeabi-v7a”用于驻留在我们的一个应用程序模块中的一个特定库。我们可以通过 ABI 过滤器或其他方式来实现吗?

关于 64 位的注意事项:我知道,如果您有任何 64 位本机库,则需要拥有所有这些库(因为如果应用程序找到一个 64 位库,它将以 64 位模式启动并且不会能够使用 32 位库)。但是,在 armeabi 与 armeabi-v7a 的情况下,没有这样的问题,您不必提供每个库的两个版本。

0 投票
1 回答
1477 浏览

gradle - 如何将 Gradle 链接到本机 Android 库并解决“找不到方法 externalNativeBuild()”?

尝试在 Android Studio ( https://github.com/DrKLO/Telegram ) 中构建 Telegram 源代码时遇到问题。

我已经安装了 NDK、CMake、LLDB。但我收到此错误:“Gradle 同步失败:找不到方法 externalNativeBuild()”

这是我的 build.gradle:

Gradle 似乎还没有链接到现有的 C++ 库。但是,我不知道如何手动将 Gradle 链接到存在 Android.mk。有任何想法吗?

0 投票
0 回答
147 浏览

java - 如何在 Eclipse 中构建 tzutalin dlib 库?

我可以在 Eclipse 中使用“ tzutalin dlib ”库进行人脸检测,但我不知道如何构建本机库。谁能帮我?

我已经使用了所有必需的类,但总是弹出错误消息,并且总是在 forVisionDetRet ret : new PeopleDet().detBitmapFace();方法中出错。

0 投票
2 回答
2356 浏览

android - Cmake:如何在android studio中包含一个.h文件并从android代码中调用头文件的方法

我在 Android Studio 中有一个 Android 应用程序。我想用本地语言(c 或 cpp)编写我的加密逻辑。为此,我安装了 Cmake 插件。我从这里得到了 AES 代码。

Android studio中项目的目录结构

CMakeLists.txt

这是我用来引用包含库并使用其中定义的函数的类。

分析.c

我面临的问题是,当我从 MainActivity 调用 invokeAESFunction() 时,我收到一个名为“未定义对 AES128_ECB_encrypt() 的引用”的错误。有人请帮助我。

0 投票
1 回答
135 浏览

android - 在 Android N 中编译项目时面临原生库的问题

我在当前项目中使用项目CSipSimple作为参考。

项目工作正常,直到我没有在 Android N 中测试它。

当我在 Android N 中运行我的项目时,我遇到了奇怪的错误。

在此处输入图像描述

我已经为此做了一些谷歌搜索,并开始知道通过更改项目的编译 SDK 版本将帮助我摆脱这个错误,但在我的情况下这对我没有帮助。

那么还有其他解决方法吗?

如果您提出任何更改/指南以避免此问题,我们将不胜感激。

提前致谢

0 投票
0 回答
200 浏览

android - 如何在 Android 应用程序中调用 Strace 原生库?

我正在开发一个 android 应用程序,我在其中导入了包含 .c 文件的Strace for Android,如下图所示。

cpp 文件夹中的 .c 文件

cpp当我给出文件路径时,所有 .c 文件都会自动添加到文件夹中Android.mk。Android.mk 文件在此链接中给出,MainActivity.java内容如下:

在此处输入图像描述

问题是,当我将 starce.c 命名为本机库时,应用程序会意外停止。任何人都知道为什么会这样?

提前致谢

0 投票
1 回答
532 浏览

android-studio - Android Studio 2.3 CMake 不显示错误,也不会编译 C++ 代码

所以我正在尝试编写我的第一个本机库以在 Android 和 iOS 中重用我的 C++ 代码,但无法让它在 Android Studio 2.3 下运行

我遵循了这封信的说明(我希望),其中主要包括:

编写一个 CMakeLists.txt 文件,其中包含(在我的情况下):

然后将 CMake 文件链接到模块 build.gradle 文件中的 gradle

这应该足够了。可悲的是它不是。我只是无法弄清楚我在这里缺少什么。一次(实际上只有一次)我实际上从 CMake 收到了一条错误消息,因为 cpp 文件中故意放置了一个错字,但这是我从中看到的唯一内容。没有创建库 *.so 文件,当然也没有与 apk 打包,因此应用程序在尝试加载它时立即崩溃。

更新:我找错地方了,实际上在 app/.externalNativeBuild/cmake 中有一些来自 CMake 的文件,它们反映了构建配置和 cpu 架构,它们甚至包括一个test-lib.dir目录,但这是空的。我浏览了这些文件,看看是否有一些线索,但找不到任何有趣的东西。

欢迎任何建议!