2012-01-30 11 views
5

बंद कर रहा है मैं एंड्रॉइड, पर नया हूं, मैंने एनडीके का उपयोग करके मूल एप्लिकेशन बनाने के लिए http://marakana.com/forums/android/examples/49.html लिंक पर दिए गए निर्देशों का पालन किया।कोई जेएनआई_ऑनलोड() नहीं मिला और वीएम

मैंने उन चरणों का पालन किया। मैंने साझा लाइब्रेरी भी बनाई। जब मैं आवेदन चलाने के लिए, 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 
+0

यह ठीक है अगर देशी साझा लाइब्रेरी JNI_OnLoad समारोह प्रदान नहीं करता है। यह एक त्रुटि नहीं है। –

+0

उत्तर के लिए धन्यवाद, जब मैं एक ही एप्लीकेशन चला रहा हूं, मुझे Catlog में निम्न त्रुटि मिल रही है – Chandu

उत्तर

1

जैसा कि बताया जा 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 ... > 
संबंधित मुद्दे