问题标签 [android-ndk-r7]

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 投票
2 回答
3467 浏览

android - 在 NDK 上编译 protobuf-2.4.1 代码,版本 (android-ndk-r8-windows.)

大家好,我正在尝试在 NDK 版本(android-ndk-r8-windows)上编译 protobuf-2.4.1 代码。

我在下面设置:

我在进行 NDK 构建时遇到以下问题:

0 投票
2 回答
3537 浏览

build - 使用 gnustl_static 构建外部模块时找不到 libstdc++

我正在将 gnustl_static 添加到外部 Android 模块,并且在构建它时出现以下错误。

当我查看“prebuilt/ndk/android-ndk-r7/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/”时,我找不到 libstdc++.a 有一个 fild libsupc++.a

构建系统正在从它声明的“build/core”文件夹中的 binary.mk 文件中获取它

问题是我不知道如何克服这个错误。

预建文件夹中有许多 libstdc++ 副本,但在列出的位置中找不到它们。发现于

这是我的 Android.mk 文件的缩写形式:

任何人都知道如何解决“无规则制定目标”构建问题?

0 投票
2 回答
7797 浏览

android - 如何使用 JNI 更改 java 类的字段

我正在使用 ac 本机函数来更改 java 类的整数字段。基本上我想看看如何使用 JNI 实现引用调用。但我收到错误“没有为本地找到实现”。谁能帮我解决这个问题。我是android和java的新手。以下是我编写的代码。如果有人可以改变这个来满足我想要的,我一定会感谢他的帮助。

爪哇代码:

c 本机方法:

下面是我得到的日志:

请帮我

0 投票
10 回答
27037 浏览

android - Android ICS 4.0 NDK NewStringUTF 正在崩溃应用程序

我在 JNI C/C++ 中有一个方法,它接受 jstring 并返回 jstring,如下所示,

该代码与之前的 android 4.0 版本(如 2.2、2.3 等)完美配合。使用 ICS 4.0 检查 JNI 默认情况下处于启用状态,因此应用程序崩溃并引发以下错误

我对我错在哪里一无所知。如果您在上面看到 NewStringUTF 正在向 c Char* bytes 添加一些垃圾值。

  1. 关于为什么会发生这种情况的任何想法
  2. 欢迎任何实现上述目标的替代解决方案

如果你们中的一个人能帮助我,我真的很感激。提前致谢

看我

0 投票
1 回答
1087 浏览

android - 使用 dlclose(Android NDK) 从应用程序中删除本机库的实例

我已经编译了FFmpeg库,NDK并使用它来修剪视频并从我的应用程序中的视频中获取缩略图,所以基本上我已经启动ffmpeg.sovideo-trimmer.so运行了库。

然而问题很奇怪,trim 或 getThumbnail 操作成功但只有一次,即第一次,第二次操作失败。但是第三次​​成功了,我用谷歌搜索了两个与我的问题相关的类似帖子

帖子 1:

帖子 2:

有趣的是,他们提出了相同的解决方案,而我无法解决C编程语言幼稚的问题。

这是我所做的

尽管调用dlclose库实例仍然存在于内存中,但我在这里做错了什么?

我知道库实例仍然存在,因为当我在其他活动中再次加载库时,错误消息显示库已经存在于 CL 中。

我想从内存中删除该库的实例,请帮助...

0 投票
0 回答
1246 浏览

android - 如何在 cocos2d-x 中包含 libprotobuf.a

我需要在我的 cocos2d-x android 项目中使用 google 的 protobuf。我在项目中包含头文件和 C++ 文件。但是当我尝试通过 NDK 编译项目时,编译器返回错误:

jni/../../Classes/PromowallLibrary/protocol.pb.cpp:55: error: undefined reference to 'google::protobuf::DescriptorPool::generated_pool()' jni/../../Classes/PromowallLibrary/protocol.pb.cpp:55: error: undefined reference to 'google::protobuf::DescriptorPool::FindFileByName(std::basic_string, std::allocator > const&) const' jni/../../Classes/PromowallLibrary/protocol.pb.cpp:56: error: undefined reference to 'google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel, char const*, int)'

等等。如何指向 -lprotobuf 库?我试过了:
LOCAL_LDLIBS := -lprotobuf \
但这不起作用

更新:
现在我尝试这样做 - 我创建静态模块:


现在我得到这样的错误:
/home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(common.o): incompatible target /home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(generated_message_util.o): incompatible target /home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(message_lite.o): incompatible target /home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(repeated_field.o): incompatible target /home/ivan/android/android_ndk/toolchains/arm-linux-androideabi-4.6.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6.3/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/libprotobuf.a(wire_format_lite.o): incompatible target

0 投票
1 回答
3442 浏览

android - 如何使用 arm-linux-androideabi-gcc 制作可执行文件(.exe)?

我有一个共享库,它使用 arm-linux-androideabi-gcc 编译器在 c 构建中编写,现在我想测试我的共享库,所以我编写了一个示例 c,它调用该共享库(.so)并且我想制作 .exe ,所以当我编译时出现这样的错误,这是我的make文件

我收到以下错误

我希望我在我的 make 中给出了正确的链接,我无法理解这背后的错误,有人知道如何使用 arm-linux-androideabi-gcc 制作 exe。

0 投票
1 回答
1647 浏览

android - 安卓版 ImageMagic

嗨,我尝试为 android 编译https://github.com/lilac/Android-ImageMagick 库,但它没有用。然后我发现了这个库https://github.com/puelocesar/android-lib-magick我不需要编译。当我运行此库时,它已安装在我的 Galaxy 4.1 设备上,但除了黑屏外没有显示任何内容,并且在一段时间后退出应用程序而不会在 log cat 中显示任何错误。谁能告诉我如何使这个库正常工作?

0 投票
0 回答
161 浏览

android - -Android 中的 O2 标志

当我使用“-O2”标志时,在 linux 中的性能会大大提高,但是当我转到 android 时速度很慢,我想在 android 中构建我的共享库,我使用 -O2 标志,但性能很慢,

android中是否有任何其他标志可用于提高性能。

0 投票
2 回答
11541 浏览

android - android ndk未定义对方法的引用

嗨对不起,我正在尝试编译一些静态类,即 jsmn.c、json.c 和 buf.c,它们是我从https://github.com/alisdair/jsmn-example下载的 jsmn json 库的一部分/下载

我正在编译两个 STATIC_LIBRARIES lib1 和 json_library.lib1 具有依赖于 json_library 的本机代码。然后我将两个库制作成一个包含 gnustl_static 和 lib1的共享库

我的文件夹结构如下

jni/lib1/ANdroid.mk

jni/Android.mk

jni/应用程序.mk

所以在 lib1 我有一个类,它从名为 json_tokenise的 json 库中调用一个方法

我收到以下错误

当我查看 [obj/local/armeabi-v7a/ 内部时,我可以看到 libjson_library.a liblib1.a libgnustl_static.a正在为 armabi-v7 生成,并且由于错误而无法生成 lib2。

请帮助或指导我哪里出错了我花了两天时间做这件事,我是 NDK 的新手。