草庐IT

android - 我们可以为 android-ndk r10c 中的共享库启用 pie(即位置独立可执行文件)吗?

我们可以为android-ndkr10c中的共享库启用pie(即位置独立可执行文件)吗?如果是,那么该怎么做?我读到我们应该为动态库使用PIC,为可执行文件使用PIE,但看起来androidNDK不支持PIC。我尝试在LDFLAGS中启用-pie标志,但出现以下错误:/android-ndk-r10c/platforms/android-19/arch-arm/usr/lib/crtbegin_dynamic.o:infunction_start:crtbrand.c(.text+0x8c):error:undefinedreferenceto'main'请帮助我解决这个问题,因为我了

android - 使用 Android NDK 在 C 或 C++ 中创建 react-native Native 模块?

我必须创建一个Javanative接口(interface)(JNI)才能从用于Android的react-nativenative模块访问C或C++代码吗?我的目标是在支持两者的react-nativeNativeModule中重用常见的C和C++算法(非UI)安卓和iOS。从ObjectiveC*.m模块调用C或从ObjectiveC++*.mm模块调用C++很简单。但是,Android的reactnativeNativeModule在java中实现了NativeModule代码。https://facebook.github.io/react-native/docs/native

Android Studio、Gradle、OpenCV 和 NDK

我正在尝试在AndroidStudio上测试OpenCVAndroid,我对如何包含NDK感到困惑。我想做的是运行OpenCV附带的示例。在提供的6个示例中,我成功运行了4个。异常(exception)情况是面部检测和nativeActivity。我怀疑原因是我没有正确设置我的NDK。谷歌搜索我发现了一堆讨论,但并不真正理解它们。这是我第一次尝试同时使用NDK和OpenCV,我对Gradle的了解有限。我在我的.bash_profile中设置了一个环境变量导出ANDROID_NDK=pathTo/android-ndk-r9我不明白如何把它带到工作室。我看到对jniFolder的引用,

android - ndk-build : undefined reference to . 。静态链接到 libxml.a 时出错

当我使用ndk-build工具编译我的单个c++源文件时,我得到了很多undefinedreferenceto...错误。作为记录,我在Linux主机系统上使用NDKr6。首先,我整天都在为这个问题苦思冥想,所以如果我遗漏了一些东西或解释得有点快,我深表歉意。请向我询问任何其他信息。我的源代码有很多我想静态链接到的依赖库。我在我的Android.mk文件中定义了所有不同的依赖库,如下所示:include$(CLEAR_VARS)LOCAL_MODULE:=LOCAL_SRC_FILES:=lib.aLOCAL_EXPORT_C_INCLUDES:=include$(PREBUILT_S

android - 在前缀为 : mips64el-linux-android 的 ABI 的 NDK 工具链文件夹中找不到工具链

这个问题在这里已经有了答案:Error:NotoolchainsfoundintheNDKtoolchainsfolderforABIwithprefix:llvm(54个答案)关闭4年前。谁能告诉我为什么会收到此错误?我已经从GitHub下载了Udacity类(class)的一系列项目。由于repo中大约有50或60个项目(练习和解决方案),我认为这与每个项目本身都是一个单独的项目有关。当我fork一个repo并在本地克隆它时,我通常没有问题。我已经阅读了其他关于在sdk中卸载和重新安装ndk的帖子。但我真的很想知道为什么会这样,以及如何在不盲目卸载和重新安装的情况下修复。任何帮助表

android - android ndk开发中gnuSTL和STLport有什么区别?

我想知道它们的性能/稳定性是否彼此不同,并简要说明它们的许可证。欢迎现实世界的经验。 最佳答案 截至昨天(NDKr9d),gnuSTL仍然更加全面,例如支持、和其他一些C++11特性。即使这些也取决于工具链:您无法使用默认的ARMgcc4.6来启用它们。OTOH,STLport许可证是免费的,就像AOSP的其余部分一样,而gnuSTL的GPLv3链接异常(exception)并不容易理解。参见https://groups.google.com/d/topic/android-ndk/OWl_orR0DRQ进行一些较早的讨论。如果您查

Android NDK UnsatisfiedLinkError - 一个令人惊讶的原因

2013年8月7日更新:现在问题已经解决了,但是错误的原因很出乎意料,一开始就排除了所有常见的此类错误嫌疑,我又学到了一些新东西。请参阅下面我的回答。我在这里很绝望。有一个带有native库的Android应用程序,我从那里调用一个方法。在我测试的所有系统上都没有问题,该程序已在GooglePlay中发布,没有任何故障报告,被成千上万的用户使用。现在,显然是一款适用于HTCOne手机的新ROM-Android版本4.2.2已经推出。用户声称这是官方构建,从官方channel升级而来。当他们尝试启动我的应用程序时,它崩溃了,堆栈跟踪显示:java.lang.UnsatisfiedLink

android - 导入现有的 c++ 库(.a 或 .so 文件)ndk android

我刚刚完成了android的原生开发。我成功地让我的AndroidStudio2.2.2准备好进行原生开发我还构建了示例hello-jni项目我正在努力实现的目标我正在尝试使用用c++设计的现有库(我将获得静态库.a扩展名或.so文件)关于原生开发的一些困惑1)我应该使用现有c++库的.cpp和.h文件而不是.a或.so文件吗?2)我需要制作CMakeLists.text吗:据我搜索,我的.a文件不是使用ndk-build生成的>,所以我需要做到这一点。如果我使用.cpp和.h文件,我应该制作Android.mk和Application.mkCMakeLists.text将我新开发的a

android - 在路径中找不到 ndk-build

这个问题在这里已经有了答案:SetBuildpathinEclipseforndkprogram(3个答案)关闭8年前。我正在尝试设置ndk以在eclipse中使用。我不断收到这条消息,说在路径中找不到ndk-build。我已将它添加到环境变量->路径,但仍然无法正常工作。有什么帮助吗?!

android - 如何构建共享库并在其他ndk程序中调用

我想建立一个共享库。要构建它,我需要调用另一个共享库。这是我所做的:1.新建一个Android工程,命名为“BuildLib”,在工程目录下新建一个文件夹“jni”。jni文件夹的内容:jni-->Android.mk-->Application.mk-->add.cpp-->add.hadd.cppjustdotwonumbersaddition:添加.h:intadd(inta,intb);添加.cpp:#include"add.h"intadd(inta,intb){returna+b;}Android.mk:LOCAL_PATH:=$(callmy-dir)include$(C