问题标签 [android-ndk-r5]

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 回答
9441 浏览

android - 在android ndk中链接静态库

我正在尝试从http://developer.nvidia.com/tegra-resources编译 nvfile 库,在 android ndk 示例 libs 文件夹中。无论如何,因为我并不真的需要整套库,所以我取出了我需要的那个,似乎是它的依赖项。这是用于编译它们的 Android.mk 文件。

nvapkfile 库似乎能够与 nvthread 很好地链接,但 nvfile 库似乎根本不想链接到 nvapkfile 库。源代码中的包含文件工作正常,只是每当我尝试编译它时,我都会得到一个未定义的引用。这是一个输出示例:

我根本没有修改实际的 c 或 h 文件。但作为参考,这里有一段相关的 C 文件:

这是 nv_file.c 的第 22-32 和 46-51 行

如您所见,标头已包含在内,但没有链接。有谁知道我在这里缺少什么?谢谢你。

0 投票
2 回答
1557 浏览

c++ - Eclipse for Android NDK 中的 C++ static const 多重声明错误

我已经阅读了类似的问题,但回答我的问题仅适用于 VisualStudio。我正在使用 Eclipse 并使用 Cocos2d-X 开发一个 Android 应用程序,这是一个使用 Android NDK 的框架。我创建了一个名为 Config 的类,其中包含所有应用程序的常量,例如球的大小和 fps。下面是我如何安排代码。

配置文件

配置文件

它编译没有错误,但是当它开始链接时,我收到以下错误:

前面的错误发生在所有声明的常量上。我没有在任何报告的源文件的源代码中包含 Config.cpp。

我不知道如何纠正这个问题。我发现了一个非常相似的问题,但答案是针对微软的 VisualStudio 指定的。另外,我很抱歉使用“cocos2d”标签,即使这适用于 cocos2d-X,但我希望有人知道如何解决这个问题。

0 投票
7 回答
17827 浏览

android - 在摩托罗拉手机上运行 ndk-gdb 时找不到包错误

我有一个 C++ Android 应用程序,我正在尝试使用 ndk-gdb 进行调试。该应用程序确实使用了多个线程,但据说 ndk 的 r5 支持多个线程。另外,我什至没有达到 gdb 启动的地步。我运行命令:

然后它会为 ndk 和 sdk(或至少 adb)以及所需的 ABI 等找到正确的路径。

然后它查找 gdb 服务器,并找到它,包括正确的 PID,然后启动活动。

但是,它告诉我找不到该包:

然后它会吐出如果您不正确地使用 adb(帮助文件)会得到什么,然后是:

我查看了 /data/system/packages.list,是的,我的 apk 肯定在其中,并且它指向的位置在文件系统上是正确的。所以这不是问题。

本教程: http: //vilimpoc.org/blog/2010/09/23/hello-gdbserver-a-debuggable-jni-example-for-android/建议删除并重新安装,以及清理您的 Eclipse 构建。

我没有使用 eclipse 来构建包,但我确实清理了所有内容并从头开始编译、删除并重新安装,但没有成功。

有没有人遇到过类似的问题,你是怎么解决的?谢谢你。

编辑:哦,我尝试了不同的端口无济于事,无论如何,5039(默认端口)上似乎没有任何东西。而且,我没有任何防火墙阻止该连接。我也在 Ubuntu 11.04 上进行开发。

Edit2:嗯......看起来新的ndk(r5c),错误消息现在也发生了变化:

是的,debuggable 在清单中设置为 true,并且所有本机代码都是使用以下内容构建的:

0 投票
1 回答
228 浏览

android - 用于 3D 开发的最佳 Android 设备

我打算将我的 iPhone 游戏移植到 Android,因为 Android 模拟器不支持 GLES v2,我需要购买设备来移植游戏。

我正在寻找的是具有以下功能的设备:

安卓 v2.3.x 操作系统

图形芯片组(来自 Imagination Technologies)

有什么建议么?

另外我想知道它是如何为Android开发的,它与iOS相似吗?通过 USB 插入设备,然后使用 Android SDK 和 NDK 从 Eclipse 插入设备,然后启动和调试?或者是否需要执行其他步骤才能直接在设备上进行开发和调试?

提前感谢您的投入!

0 投票
1 回答
4510 浏览

android-ndk - Android NDK r5b 外部构建和 supc++ 链接问题

我正在尝试使用 Ubuntu 10.10 上的 r5b NDK 为 Android 平台交叉编译我们的 C++ 代码库(使用 CMake)。编译阶段成功,但是在 .so 的最终链接阶段,有许多未解析的对 libsupc++.a 文件(我指定链接)中的符号的引用。我也试过 -lsupc++ 没有区别。

在构建 test-gnustl-1 NDK 测试应用程序时,我尝试尽可能地遵循官方 ndk-build 系统生成的命令行。

在 arm-linux-androideabi/lib/libsupc++.a 文件上运行 arm-linux-androideabi-nm 工具会显示错误输出中引用的已定义符号 (T)。

在 libsupc++ 中它无法找到的符号示例如下:__gxx_personality_v0

这是我的示例链接行和生成的错误示例。

/home/user/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ -fPIC -Wall -Wextra -Wno-unused -Wno-multichar -fno-rtti -MMD -MP -MF -ffunction-sections -fexceptions -funwind-tables -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack -DANDROID -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -O0 -DDEBUG -D_DEBUG -g --sysroot=/home/user/android-ndk-r5b/platforms/android-9/arch-arm -Wl,--gc-sections -Wl,-z,nocopyreloc -Wl,--no-undefined,-z,noexecstack -L/home/user/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib -L/home/user/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi/lib -Wl,-rpath-link=/home/user/android-ndk-r5b/platforms/android-9/arch-arm/usr/lib /home/user/android-ndk-r5b/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libstdc++.a -lc -lsupc++ -shared -o ../../lib/Debug/libFoo.so CMakeFiles/Foo.dir/Foo.c.o CMakeFiles/Foo.dir/Bar.cpp.o CMakeFiles/Foo.dir/Baz.cpp.o

我尝试创建一个简单的 hello-world 应用程序,该应用程序在一个简单的 .a 文件中使用异常和链接。在我直接链接到 libsupc++.a 库而不是使用“-lsupc++”之前,我遇到了同样的错误。但是,这种相同的技术不适用于较大的项目链接步骤。NDK 文档还建议在使用外部构建工具时应使用“-lsupc++”。

我对如何解决这个链接问题一无所知。我已经尝试过尽可能多地重新排序链接线。我知道链接通常是一个变化无常的过程。任何帮助是极大的赞赏。

0 投票
4 回答
1697 浏览

android-ndk-r5 - stlport_shared.so 没有被推送到设备上

我正在定义 Application.mk APP_STL := stlport_shared

当我运行 ndk-build 依次生成文件: stlport_shared.so in obj/local/armeabi/ 但它没有将此文件复制到 libs/armeabi/ 因为它不会被复制到设备和 System.loadLibrary () 抛出 UnsatisfiedLinkError。

任何人都可以帮忙吗?

0 投票
1 回答
3735 浏览

android - UnsatisfiedLInkError 使用 NDK 链接到 FFMPEG

我使用 bambuser 的文件为 android 编译了 FFMPEG。编译运行良好。没有错误。我还确保更改 build.sh 中的包名称。但是,一旦我尝试链接到文件,手机就会抛出 UnsatisfiedLinkError。这是 Androkd.mk 文件:

Video.c 非常简单:

对应的Java代码也很简单:

但我得到这个错误:

我尝试在 Java 中手动加载预构建的共享库(bambuser 文件)(使用 System.loadLibrary),但它告诉我找不到文件。

如果有帮助,这是 readelf 的输出:

哦耶。我正在使用 ndk r5。

0 投票
1 回答
451 浏览

android - 在我的 Nexus S 上调试 JNI 代码

如何在我的设备上调试 JNI 代码!我启用了调试,我能够成功地在 Java 中设置断点并能够使用 Eclipse 进行调试。

但是当涉及到我的 JNI C/C++ 代码时,我无法调试!Eclipse 在我设置的断点上没有得到任何反馈。

请帮忙!

ps:我在 MacOS Snow Leopard 上使用 Android SDK 2.3.4、NDK r5b

0 投票
1 回答
903 浏览

java - 无法从 JNI 调用回调函数

问题描述

Android应用程序中,我有课程MainClass ,在那个课程中,我MainClass有公共功能Callback,可以做一些工作。

问题

我如何Callback从 JNI 调用方法,我使用这种方式,但我的应用程序崩溃了。

0 投票
4 回答
705 浏览

android - 提供使用 Android NDK 的帮助

我想在我的项目中使用 android NDK。所以我的问题是,如何从 android NDK 集成和执行 hello-jni 的默认示例项目?请为我提供逐步解决方案...我对此一无所知...