没有找到JNI_Onload(),虚拟机正在关闭

 2023-01-20    269  

问题描述

我是Android的新手,
我遵循链接上的说明 49.html 使用NDK创建基本应用程序.

我准确地遵循了这些步骤.我还创建了共享库.
当我运行应用程序时,catlog显示以下错误:

没有找到JNI_Onload(),虚拟机正在关闭

Trying to load lib /data/data/com.example.NDKDemo/lib/libndk_demo.so 0x4129dc18
01-30 04:50:58.856: D/dalvikvm(586): Added shared lib
                    /data/data/com.example.NDKDemo/lib/libndk_demo.so 0x4129dc18
01-30 04:50:58.856: D/dalvikvm(586): No JNI_OnLoad found in 
                    /data/data/com.example.NDKDemo/lib/libndk_demo.so 0x4129dc18,
                    skipping init
01-30 04:50:58.866: D/AndroidRuntime(586): Shutting down VM
01-30 04:50:58.866: W/dalvikvm(586): threadid=1: thread exiting with uncaught 
                    exception (group=0x409c01f8)
01-30 04:50:58.896: E/AndroidRuntime(586): FATAL EXCEPTION: main
01-30 04:50:58.896: E/AndroidRuntime(586): java.lang.RuntimeException:
                    Unable to instantiate activity ComponentInfo
                    {com.example.NDKDemo/com.example.NDKDemo.NativeLib}:
                    java.lang.ClassCastException:
                    com.example.NDKDemo.NativeLib cannot be cast to android.app.Activity

推荐答案

如前所述,JNI_ONLOAD不需要.这是您的问题:

无法实例化活动componentInfo
{com.example.ndkdemo/com.example.ndkdemo.nativelib}:
java.lang.classcastException:
com.example.ndkdemo.nativelib不能施放到android.app.activity

您的错误甚至都不是NDK问题,它看起来像:您的com.example.ndkdemo.nativelib不能将其施加到android.app.Activity.

您在androidmanifest.xml中列出的类是从活动中衍生的类.如果您像示例一样创建了NDKDEMO类,那么这就是您的活动,并且应该在AndroidManifest.xml中名称:

<activity android:name="NDKDemo" ... other options ... >

以上所述是小编给大家介绍的没有找到JNI_Onload(),虚拟机正在关闭,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26027.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。