gpt4 book ai didi

android - 未找到 JNI_load..应用程序关闭并在循环中运行

转载 作者:行者123 更新时间:2023-11-29 18:00:00 25 4
gpt4 key购买 nike

我收到这条消息,它不允许我的应用程序运行,其中包含一些我使用 NDK 构建的 native C/C++ 文件。应用程序正在关闭并再次打开并循环崩溃。在 android.mk 中进行一些与 awk 相关的更改后,我收到编译警告C:/android-ndk-r8/build/core/add-application.mk 128:Android NDK:警告:APP-PLATFORM android-14 大于 ./AndroidManifest.xml 中的 android:minsdkVersion 8

我已经检查了与之关联的相关主题,但找不到任何可以帮助我的东西。任何人都可以帮助我,我在这里缺少什么。

Logcat 输出:

15:44:15.815: E/Trace(3026): error opening trace file: No such file or directory (2)
05-28 15:44:16.007: D/dalvikvm(3026): Trying to load lib /data/app-lib/com.example.raptorjni-2/libraptorq-test.so 0x40ce6428
05-28 15:44:16.035: D/dalvikvm(3026): Added shared lib /data/app-lib/com.example.raptorjni-2/libraptorq-test.so 0x40ce6428
05-28 15:44:16.035: D/dalvikvm(3026): No JNI_OnLoad found in /data/app-lib/com.example.raptorjni-2/libraptorq-test.so 0x40ce6428, skipping init
05-28 15:44:16.255: D/RaptorQ(3026): Entering the main function

调用 C 函数的 Java 主文件 fragment :

   Log.d(TAG,"isteps Ecoded" + isteps);
/* Call the JNI-ized version of DFRQEncPerfTest */
String res =
resultRQEncPerfString(nSrcSymbols, symbolSize, loss, niter,
mode, 0, header);

.C文件函数 fragment :

jstring 
Java_com_example_raptorjni_RaptorJni_resultRQEncPerfString
(JNIEnv *env, jobject thiz,
jint nSrcSymbols, jint symbolSize, jint lossrate, jint nLoop,
jint mode, jint nRepair, jint header)
{

Implementation ....

最佳答案

JNI_Onload 是自 JNI 1.4(或多或少)以来引入的可选初始化函数,它允许开发人员在加载库时执行一些初始化工作(例如,注册 native jvm 的方法)。

所以我们真的不需要 javah 或其他愚蠢的东西来在 c/c++ 中实现 native java 方法,只需在 JNI_Onload 中调用 JNIEnv::registerNatives 即可。

对于这个问题,我认为还有其他地方不对。

关于android - 未找到 JNI_load..应用程序关闭并在循环中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com