草庐IT

NDK_DEBUG

全部标签

android - 使用 Android NDK 预构建静态库和共享库时出现链接问题

我有一个正在移植的程序,它在创建可执行文件时将多个库链接在一起。我已经使用独立工具链构建了所有这些库,并且使用独立工具链我能够创建可在Android设备上运行的可执行文件。所以,看起来我构建的库是有用的。现在我正在尝试将这些库与应用程序结合起来。所以,在我的android.mk中我有这样的东西:LOCAL_PATH:=$(callmy-dir)ROOT_PATH:=$(LOCAL_PATH)include$(callall-subdir-makefiles)include$(CLEAR_VARS)LOCAL_PATH=$(ROOT_PATH)LOCAL_MODULE:=test-lib

android - 需要帮助调试共享库加载失败的原因。安卓NDK

我正在尝试使用以下方式加载共享库:System.loadLibrary("sharedC");sharedC依赖于其他2个共享库sharedA和sharedB,这三个共享库都是使用独立工具链制作的,并作为预构建的共享库包含在内。我在sharedC之前加载sharedA和sharedB并且我不知道其他依赖项。但是当我尝试加载sharedC时,我得到了一个SEGV。当我运行strace时,这是我得到的:writev(3,[{"\3",1},{"dalvikvm\0",9},{"Tryingtoloadlib/data/data/com.example.hellojni/lib/libsha

android - NDK 位图操作使用 OpenCv 蓝色是橙色?

我正在测试使用OpenCv在JNI层上操作位图像素的性能。两种选择:1.传递整数数组,操作像素并将像素写回位图。[41毫秒]2.传递整个Bitmap。[35毫秒]我注意到传递位图比传递像素数组并将该数组分配给位图快大约5毫秒。问题是,使用选项2时,我失去了蓝色并得到了橙色,而不是我期望的蓝色。图片是ARGB,好像改成RGBA了?可能是什么问题?方法一:JavaBitmapout=Bitmap.createBitmap(width,height,Config.ARGB_8888);int[]rgba=newint[width*height];mSmasher.loadImage(imag

android - NDK 将一个库链接到另一个库“无法加载库 : link_image[1966]: 1765 could not load needed library. ..”

首先我想告诉你我想做什么。我有一个.h文件和一个.c文件,其中包含常用的C代码,我用它们创建了一个带有AndroidNDK的共享库。所以现在我有一个名为libtry.so的.so文件。此外,我想在我的AndroidEclipse项目中使用native代码。所以我创建了带有“Counter”类和内容的.java文件publicnativestaticintNumber(intn);和static{System.loadLibrary("test");}然后我使用javah工具从.java文件创建一个C头文件。然后我为C头文件创建了一个C源文件,我在其中实现了native代码。然后我用LO

android - 如何在 Android NDK 中使用 Asio(独立于 Boost)?

Asio(没有Boost)应该只与标题一起使用,对吗?Bydefault,Asioisaheader-onlylibrary.(http://think-async.com)我知道Asio在内部仍然依赖于Boost。这是我的设置。Android.mkLOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_MODULE:=gatelibLOCAL_SRC_FILES:=gatelib.cppLOCAL_C_INCLUDES+=/cygdrive/l/asio-1.5.3/includeLOCAL_C_INCLUDES+=/cygdrive/l

android - 无法检测到 Android NDK 工具链

我想使用工具链版本4.4.3(用于工作armeabi库)为Android构建Qt5.1.2我下载了最新的AndroidSDK、NDK和其他需要的工具我也下载了ndk-legacy-toolschains并复制“path_to_ndk/toolchains”下的内容我尝试使用以下脚本配置qt5./configure-android-archarmeabi-android-toolchain-version4.3.3-android-ndk-hostlinux-x86-developer-build-xplatformandroid-g++-nomaketests-nomakeexampl

android - Google Play 游戏服务 : Debug AND Release certificate

经过多次尖叫和撕扯头发后,我终于获得了应用内计费和Play服务登录,可以在我的Android应用程序中工作-有点像。谷歌真的应该为自己感到羞耻,这个过程说得委婉一点也很辛苦。教程页面上提到的一个极其重要的信息示例有点像事后的想法:“您必须在GooglePlay开发者控制台中创建新的客户端ID,而不是在Google开发者控制台中。”现在,我的调试APK可与游戏服务登录(排行榜和成就)配合使用,而我的发布APK可与应用内结算配合使用。但不能同时。我知道调试APK不允许应用内付费,但为什么在调试登录有效时游戏服务登录不起作用?我对包名称、客户端ID、应用程序ID、调试和发布证书SHA1指纹进

android - 突出显示 Android NDK 错误输出

是否有工具可以为androidndk构建输出添加高亮显示(可能在stderr上)。例如如果它会以红色突出显示单词“错误:”并以橙色突出显示“警告:”,那将是我的样子。但如果它也能为代码和错误消息赋予不同的颜色,那就太棒了!回答red=$(tputsetaf1)yellow=$(tputsetaf3)norm=$(tputsgr0)$ANDROID_NDK/ndk-build2>&1|sed-e"s/\(error:\)/${red}\1${norm}/i"|sed-e"s/\(warning:\)/${yellow}\1${norm}/i" 最佳答案

android - 如何使用 Android NDK 和 Gradle 构建单个 APK

我正在使用OpenCV(C++而不是Java)开发一个新的Android应用程序,我是opencv和NDK的新手。我使用下面的Gradle文件成功构建(并运行)了它,在AndroidStudio中我可以选择一个变体并点击构建(例如x86)。我有两个问题:有没有一种方法可以构建支持所有架构的APK变体?(我知道文件会更大)我能否在不为每个变体指定所有相同库的情况下实现构建?有什么方法可以让构建系统每次都只选取库,因为它们都在项目中并按体系结构名称组织?applyplugin:'com.android.application'android{compileSdkVersion21build

android - ndk-gdb : “No symbol table is loaded”

我仍在使用ndk-gdb,现在正试图解决导致我做另一个我自己回答的问题的主要问题xDndk-gdb告诉我,我当前的库没有符号表。这就像我正在调试的文件与模拟器正在执行的文件不同。但我重新上传了应用程序。它也说“使用文件命令”,但是只有在我调试本地程序时才使用文件,对吗?当我像使用android一样进行远程调试时,它不适合。那我该怎么办?三天以来我一直在寻找解决方案,但我仍然一无所知。也许我应该问一下,除了错误的文件问题之外,导致此消息的其他原因是什么?谢谢。一些信息:ndk-build和ndk-gdb在项目的父目录中调用。安卓API级别10(2.3.3)androidndkr7bAnd