2012-01-11 15 views
5

मैं ग्रहण में एक मध्यम आकार की परियोजना बनाने की कोशिश कर रहा हूं। इसमें मुख्य ऐप प्रोजेक्ट और दो एंड्रॉइड लाइब्रेरी शामिल हैं। सबकुछ ठीक काम करता है जब तक कि मैंने मुख्य परियोजना में एक बहुत ही सरल जेएनआई लाइब्रेरी नहीं जोड़ा।एंड्रॉइड एनडीके लाइब्रेरी: findLibrary वापस शून्य

01-11 17: 19: ०१.४२१:

जब मैं डिवाइस पर अनुप्रयोग चलाने मैं LogCat में इस अपवाद को देखने के ई/AndroidRuntime (26,569): java.lang.Runtime.loadLibrary पर (Runtime.java:429) xxx लोड नहीं कर सका: findLibrary लौटे अशक्त

मैं इसी तरह की समस्याओं के लिए आसपास googled और मुझे विश्वास है कि मैं सही ढंग से सब कुछ किया:

  1. केवल ग फ़ाइल और Android.mk फ़ाइल 'JNI' फ़ोल्डर में रखा जाता है
  2. मैं NDK-निर्माण उपकरण के साथ पुस्तकालय का निर्माण
  3. .so पुस्तकालय सही ढंग से 'libs \ armeabi' फ़ोल्डर
  4. में रखा गया है
  5. मुझे लगता है कि जिसके परिणामस्वरूप apk फ़ाइल वास्तव में मेरी देशी पुस्तकालय

में क्या है जब मैं एक परीक्षण परियोजना है और बहुत ही मूल कोड के लिए लिंक बना सकते हैं - यह ठीक काम करता है। समस्या मुख्य परियोजना में बनी हुई है। मैं पहले से ही खरोंच से ग्रहण परियोजना बनाने की कोशिश की, लेकिन यह मदद नहीं की

मैं Android SDK Tools v.16 का उपयोग

किसी को भी मुझे एक सुझाव के साथ मदद कर सकते हैं?

धन्यवाद!

उत्तर

4

ठीक है, एंड्रॉइड एसडीके से लड़ने के दो दिन बाद मैंने अपनी समस्या का समाधान करने में कामयाब रहा। यहां कुछ स्पष्टीकरण दिया गया है, अगर यह किसी और की मदद कर सकता है।

मेरे पिछले परियोजना संरचना:

  1. एंड्रॉयड Lib1 परियोजना (अपने आप JNI कोड के साथ)
  2. एंड्रॉयड Lib2 परियोजना (Lib1 पर निर्भर करता है)
  3. APP1 परियोजना (Lib2 पर निर्भर करता है)
  4. App2 प्रोजेक्ट (इसके स्वयं के जेनी कोड के साथ; लिब 2 पर निर्भर करता है)

जब मैंने जेनी लाइब्रर लोड करने का प्रयास किया तो मूल समस्या देखी गई है ऐप 2 में आर्य। मुझे अभी भी समझ में नहीं आता कि रनटाइम को ऐप 2 में जेनी ढूंढने से क्या रोक रहा था।

हालांकि समाधान कार्यक्षेत्र से लीब 1 प्रोजेक्ट को निकालना था और इसे लीआर 2 और दोनों ऐप्स में जेएआर फ़ाइल के रूप में जोड़ना था। अब मैं ऐप 2 में jni lib लोड का उपयोग करने में सक्षम हूं।

+1

क्या आप इसका अर्थ स्पष्ट कर सकते हैं? मुझे वर्तमान में एक ही समस्या है लेकिन आपके सेटअप से उलझन में है। मेरे पास एक एकल जेएनआई लाइब्रेरी के आधार पर एक एकल एंड्रॉइड प्रोजेक्ट है, जिसमें केवल एक .c/.h फ़ाइल है। – JuiCe

+0

@JuiCe मुझे लगता है कि आपकी समस्या जो मैंने अनुभव की है उससे संबंधित नहीं है। मेरी समस्या एक एंड्रॉइड लाइब्रेरी प्रोजेक्ट में रहने वाले जेएनआई लाइब्रेरी को लोड करने की कोशिश कर रही थी। आपको इस विषय पर अन्य पोस्टों की जांच करनी चाहिए – Anton

+0

हालांकि यह काम कर रहा है, हालांकि प्रतिक्रिया के लिए धन्यवाद। – JuiCe

संबंधित मुद्दे