Cha*_*ndu 5 java-native-interface android android-ndk
我是Android新手,我按照http://marakana.com/forums/android/examples/49.html链接上的说明使用NDK创建基本应用程序.
我完全按照这些步骤.我还创建了共享库.当我运行应用程序时,CatLog显示以下错误:
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
Run Code Online (Sandbox Code Playgroud)
如前所述,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 中列出的类是从 Activity 派生的类。如果您像示例中那样创建了 NDKDemo 类,那么这就是您的 Activity,您应该在 AndroidManifest.xml 中命名它:
<activity android:name="NDKDemo" ... other options ... >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3527 次 |
| 最近记录: |