我是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发布于 2012-07-12 04:33:40
如前所述,JNI_OnLoad是不必要的。你的问题是:
无法实例化活动{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 ... >https://stackoverflow.com/questions/9062237
复制相似问题