问题标签 [ndk-build]
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.
android-ndk - build alljoyn sample chat failed on android
I want to use the NDK to build the sample application chat (cpp version) of alljoyn on android. But I got the error undefined reference to 'typeinfo for ajn::BusObject'. And I have checked the alljoyn library path and I could find the libajdaemon.a and liballjoyn.a. The NDK version is r9c. The alljoyn android SDK version is 3.4.6. Can someone help me? Thanks!
The detail information is following: /Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-g++ -Wl,-soname,libChat.so -shared --sysroot=/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android-17/arch-arm ./obj/local/armeabi/objs-debug/Chat/Chat_jni.o ./obj/local/armeabi/libstdc++.a -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android-17/arch-arm/usr/lib -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/platforms/android-8/arch-arm/usr/lib -L../..//lib -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/sources/cxx-stl/gnu-libstdc++/libs/armeabi -L/Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi -L./libs ../..//lib/BundledDaemon.o -lajdaemon -lalljoyn -llog -lz -ldl -lssl -lcrypto -lm -lc -lstdc++ -lgcc -lgnustl_static -lstdc++ -lc -lm -o ./obj/local/armeabi/libChat.so /Volumes/MacintoshHD/Users/wshu_cn/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/Chat/Chat_jni.o: in function typeinfo for ChatObject:Chat_jni.cpp(.data.rel.ro._ZTI10ChatObject+0x8): error: undefined reference to 'typeinfo for ajn::BusObject' collect2: ld returned 1 exit status
android - 如何将我的 Android.mk 编译配置为默认导出所有符号以仅用于调试构建?
我的应用程序中有一个本地共享库 (.so),我想在其上运行单元测试。特别是,我的 . 中有几个函数,所以我想直接从我的单元测试中调用。但是,我不希望这些功能在发布版本中可见。
我目前计划这样做的方式是在构建调试时删除 -fvisibility=hidden 编译选项(NDK_DEBUG=1)。但是,我似乎无法从 Android.mk 文件中弄清楚如何做到这一点。
这是我当前的 Android.mk(有点简化):
谢谢!
android - 执行 ndk-build 时出错-“未知类型名称 'time_t'”
我已经尝试使用 JNI 的 HelloWorld 应用程序,它工作正常。然后我修改它有一个头文件: custom_header.h 的内容是
HelloJNI.c 的内容是
当我在 /home/sattu/workspace_jni/AndroidHelloJNI/jni 目录中执行“ndk-build”时出现以下错误
会错过什么?
android - 解决 Android makefile 中的循环依赖
我们正在开发一个项目,我们需要从静态库创建一个共享库。我们面临的问题是静态库包含循环依赖。以下是我的 makefile 示例:
当我给出 ndk-build V=1 时,我可以在输出中清楚地看到 -Wl,--start-group 和 -Wl,--end-group 在要创建共享库时从编译中删除。那么是否还有其他明显的标志而我错过了相同的标志?
我在 Windows 7 64 位上使用 NDK R9。
android - alsa-utils + ndk-build 不工作
我有来自http://www.alsa-project.org/main/index.php/Main_Page的源代码 alsa-utils-1.0.27.2 我需要将它构建到我的 android:
user@vbUbuntu1204:~/Android-alsa/alsa-utils$ cat jni/Android.mk
user@vbUbuntu1204:~/Android-alsa/alsa-utils$ cat jni/Application.mk
用户@vbUbuntu1204:~/Android-alsa/alsa-utils$ ../../android-ndk-r9d/ndk-build
/home/user/android-ndk-r9d/build/core/build-all.mk:89:Android NDK:警告:此项目中没有要构建的模块!
如何纠正这个?
android - Android NDK 构建,方法无法解析
我有一个带有本机代码的 Android 项目。我可以通过调用ndk-build
命令从命令行构建本机代码,而不会出现错误或警告。但是当我在 ADT 中打开它时,它会显示以下错误。
错误信息:Method CallStaticIntMethod could not be resolved.
项目中有很多文件有类似的错误。
我仔细检查了配置,这就是我所拥有的。Android 构建、工具链和包含已正确配置(见下图)
所需的包含在项目资源管理器中也可见并且它们是有效的(不是空的并且指向正确的头文件)。
但是当我Clean
的项目和Build
它时,错误仍然存在。关于如何解决这个问题的任何想法?
配置:ADT 22.6.2、NDK r9d(64 位)、OSX 10.9.2
android-ndk - 警告:覆盖目标 Android Makefile 的命令
我在使用 NDK r9d 构建 C++ 代码时遇到问题,因为我尝试使用 C++ 编译器 (G++) 编译 C 文件,因此收到以下警告:
在我不需要用 C++ 11 编译并且我的 C 文件是用 GCC 编译之前,我没有任何问题,但是因为我有LOCAL_CPP_EXTENSION := .cpp .c
,所以出现了这个警告(仅适用于 C 文件)。
我发现其他人也有同样的问题(Overriding commands for target Android Makefile)但没有得到任何答案。
这是我的文件:
我使用 NDK r9d 并在激活 G++ 4.8 和 C++ 11 的情况下进行编译。谢谢你的帮助。
android - Android ndk-build 错误 make.exe: *** create_child_process: DuplicateHandle(In) failed (e=6)
我对 Android 比较陌生,使用 ndk-build 命令时遇到问题。我在 Windows 7 64 位下使用 NDK r9d。
当我运行创建我的 Android 项目(makefile 等)的构建系统,然后创建一个运行 ndk-build.cmd 的进程(我检查它是否在 Android 项目中调用)时,我收到错误:
make.exe: *** create_child_process: DuplicateHandle(In) 失败 (e=6)
但是,当我在由我的构建系统(或任何 Android 项目)创建的同一个 Android 项目中的 Windows 命令控制台中“手动”运行 ndk-build.cmd 时,一切正常。
我确实在这里找到了一些相关的问题:
https://cygwin.com/ml/cygwin/2004-09/msg01506.html
但是我发现要么是make版本的问题,这不是(我认为)因为ndk-build在我“手动”使用它时工作正常,要么它说它与stdin处理有关,我不认为就是这里的问题。加上我发现的所有答案都与类似的错误有关,但并不完全相同:
process_easy: DuplicateHandle(In) 失败 (e=6)
也许有人知道我的错误信息的含义。我不认为这是特定于 Android ndk-build 但也许。
感谢您的阅读(对于任何英语错误,我深表歉意,我是法国人,英语不流利)
android - 如何通过 Ndk-build 静态构建可执行文件?
我正在尝试在windows中构建一个静态链接android系统库的可执行文件,我使用以下命令:
有时可能需要添加选项:
输出文件是我构建后想要的。
但是,如果我想通过ndk-build构建可执行文件,请使用jni\Android.mk和jni\Application.mk,哪个选项:
我应该追加,我应该选择哪个.mk文件?
我尝试添加:</p>
进入jni\Andorid.mk,但输出没有改变。
如何解决.mk问题?
android - 在 Eclipse for Android NDK 项目(Mac) 中包含 c++ 头文件
我正在开发一个 Android NDK 项目,在该项目中我必须使用需要 c++ 头文件的功能,例如iostream
,sstream
等。我已经通过添加选项卡在 linux/usr/include/c++/4.7..
中做到了这一点。C++ Paths & Symbols
但仍然找不到在 Mac 中执行此操作的方法。我尝试了以下方法:
我只是简单地包含了 iostream 标头
#include<iostream>
,它在使用 ndk-build 构建时显示以下错误,fatal error: iostream: No such file or directory
添加
android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/include
在 中C++ Paths and Symbols->Includes tab->cpp
,它不会改变任何东西。在我的 Android.mk 文件中,
它给出了以下错误:
致命错误:bits/c++config.h:没有这样的文件或目录
我也尝试在 Android.mk 文件中添加预构建的共享库,这给出了同样的错误。
然后搜索文件
bits/c++config.h
,将其复制到它正在寻找的实际位置,它显示相同的错误osdefines.h
,我已经复制了它正在寻找的所有文件,最后它要求bits/memoryfwd.h
,但我找不到文件在我的 Mac 中的任何位置。
这里的实际问题是什么?我应该怎么做才能在我的 Android NDK 项目的 cpp 文件中包含这些标头?