草庐IT

android - cmake 失败与 android ndk

我正在尝试使用AndroidNdK独立工具链构建一些东西。但是,我遇到了这些错误。CMakeWarningatcmake/android.toolchain.cmake:387(message):UsingvalueofobsoletevariableANDROID_NDK_TOOLCHAIN_ROOTasinitialvalueforANDROID_STANDALONE_TOOLCHAIN.Pleasenote,thatANDROID_NDK_TOOLCHAIN_ROOTcanbecompletelyremovedinfutureversionsofthetoolchain.Call

Android NDK 不满意链接错误 : "dlopen failed: empty/missing DT_HASH"

我正在使用崩溃报告服务跟踪我们的Android应用程序(使用NDK加载自定义C++库)的崩溃。少数用户遇到以下崩溃:java.lang.UnsatisfiedLinkError:dlopenfailed:empty/missingDT_HASHin"cpplibrary.so"(builtwith--hash-style=gnu?)atjava.lang.Runtime.loadLibrary(Runtime.java:365)atjava.lang.System.loadLibrary(System.java:526)我可以在Internet上找到关于此错误的几次提及(例如这个Goo

android - Android NDK 中的 JNIEXPORT 和 JNICALL

在处理一些用C++编写的资源时,我发现了那些宏:JNIEXPORTreturn_typeJNICALLfunction_name(...){但是,AndroidNDK示例不使用它们。我阅读了Oracle的一些文档,但我仍然感到困惑。我在使用AndroidNDK时是否一定要使用它们?询问的原因之一-eclipseCDT中突出显示的那些宏中断语法:) 最佳答案 基本上是windows的问题,如果你看一下oracleJavajdk附带的文件jni_md_win32.h这是宏定义:/**@(#)jni_md.h1.1403/12/19**C

c++ - 无法解析 Eclipse 类型 size_t 中的 Android NDK

我在androidndk项目上收到以下错误:“Type'size_t'couldnotberesolved”,但我已经添加了库路径:/Users/ademar/android-ndk-r8e/platforms/android-8/arch-arm/usr/include/Users/ademar/android-ndk-r8e/sources/cxx-stl/stlport/stlport/Users/ademar/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include所以我不明白为什么会出现这个错误。出现错误的代码:sta

android - 在最近的 NDK 更新后,ndk-build 无法构建 Superpowered 音频库

2016年3月19日更新:Superpowered发布了新的二进制文件,可以与NDKr11正常工作我正在尝试在AndroidStudio中构建Superpowered库CrossExample示例项目。直到最近的NDK更新,它才像魅力一样工作,但现在执行ndk-build会出现错误:Error:error:undefinedreferenceto'__page_size'我尝试使用不同的工具链构建,删除/添加几个构建标志,但到目前为止都没有成功。在使用SuperpoweredSDK和几乎相同配置的不同项目中,我得到了一些其他错误详细信息。部分输出消息日志:/android/ndk/pl

Android Native - 何时使用 64 位 NDK?

根据NDK官方下载页面:http://goo.gl/vI7Oek有两个目标版本:x86目标x64目标我想知道(作为NDK方面的新手),这是否意味着我应该在为配备x64处理器的设备编译应用程序时使用x64NDK?如果我只需要一个“.apk”文件,如何让它同时包含x86和x64版本?(当然如果可能的话) 最佳答案 更新:这个问题现在有点过时了。从10c版本开始NDKisdistributedinasinglepackageforalltargetplatformsagain.答案已更新以反射(reflect)这一事实。首先,您应该区分您

Android NDK 异常失败 : dlopen failed: cannot locate symbol "_ZN7Tangram11setPositionEdd" referenced by "libtangram.so"

我正在尝试运行Library的演示应用程序其中集成了androidndk。我已经导入了thisAndroidStudio中的代码,还下载了ndk并将其与项目链接。代码编译并成功构建。它给出了异常崩溃“初始化时抛出异常ljavalangunsatisfiedlinkerror”“失败:dlopen失败:无法定位符号”_ZN7Tangram11setPositionEdd“被”libtangram.so“引用......”应用程序.mk:APP_STL:=c++_sharedAPP_CPPFLAGS:=-frtti-fexceptionsAPP_ABI:=armeabiarmeabi-v7

android - Eclipse-CDT 无法在 NDK 项目中找到 stdlib 符号

我正在尝试使用NDK和C++编写一个简单的Android应用程序。具体来说,我想使用最新版本的NDK(r7)中包含的gnustdc++。JNI库已经像C一样编译和工作得很好,但现在我正在尝试引入C++,我遇到了一些问题。我已经添加了${NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/include/我项目的包含路径,以及#includes内联得到解决。但是,尝试实际使用任何STL类(例如vector)会导致Symbol'vector'couldnotberesolved。.从导入的所有标准C符号这样的工作也是如此,直到我尝试替换#include与.然后失

android - 将 <cmath> 与 android ndk 结合使用时出现构建问题

我有一个简单的文件stlTest2.cpp像这样:#include#includeboolisnan(void);我正在移植的一些代码中有一些更复杂的东西。我的问题是这样的。为什么在NDK之外使用GCC构建时这会起作用,但在使用NDK时却不行?它给出的错误是:jni/stlTest2.cpp:6:error:expectedunqualified-idbefore'sizeof'jni/stlTest2.cpp:6:error:expected')'before'sizeof'这样做的直接原因是math.h(包含在中)定义了isnan作为宏。为什么ndk之外的构建不包括#define来

c++ - Android NDK 优缺点

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在研究AndroidNDK。NDK的优点和缺点是什么?有什么好的学习AndroidNDK的引用资料吗?