2013-03-13 8 views
6

के लिए हेडर फ़ाइल बनाना मैंने अपने एंड्रॉइड Activity कक्षा में कुछ मूलभूत विधियां जोड़े हैं.अब मैं उस class के लिए हेडर फ़ाइल बनाना चाहता हूं।एंड्रॉइड गतिविधि वर्ग

मुझे कमांड लाइन से हेडर फ़ाइल बनाने के दौरान निम्न त्रुटि मिलती है।

C:\AndroidProjects\JniTest\bin\classes>javah -classpath .; 
C:\adt-bundle-windows-x86\sdk\platforms\android.jar com.example.jnitest.JniTest 
Error: cannot access android.app.Activity 
class file for android.app.Activity not found 

मूल रूप से गतिविधि वर्ग तक पहुंचने में असमर्थ जार का निर्माण करने में असमर्थ।

कृपया सलाह दें।

+3

[ट्यूटोरियल देखें : एंड्रॉइड जेएनआई] (http://blog.edwards-research.com/2012/04/tutorial-android-jni/) यहां आप जेएनआई हेडर बनाने के लिए चरण-दर-चरण मार्गदर्शिका पा सकते हैं। –

+0

धन्यवाद .. वैसे भी ... मुझे आईडी मिली है ... यह सी जैसा होगा: \ AndroidProjects \ JniTest \ bin \ classes> जावा-क्लासपाथ सी: \ adt-bundle-windows-x8 6 \ sdk \ प्लेटफार्मों \ एंड्रॉयड-8 \ android.jar ;. com.example.jnitest.JniTest – amj

+0

@amj - कृपया अपने निष्कर्षों को उत्तर के रूप में पोस्ट करें और इसे स्वीकार करें। – Perception

उत्तर

1

कमांड यह होगी (उपयोग बैकस्लैश (\), के बजाय आगे स्लैश (/) विंडोज cmd का उपयोग करते समय):

javah -bootclasspath $ANDROID_SDK_ROOT/platforms/android-17/android.jar -classpath bin/classes com.example.jnitest.JniTest 

आप -classpath के बजाय -bootclasspath का उपयोग करना चाहिए के बाद से android.jar फिर से लागू करता Java Class Library

अनुमान:

  • आपका वर्तमान निर्देशिका है: C:\AndroidProjects\JniTest;
  • आपका एंड्रॉइड एसडीके $ANDROID_SDK_ROOT (%ANDROID_SDK_ROOT% विंडोज़ के लिए) में स्थापित है;
  • आपका लक्ष्य API स्तर android-17 है।

तदनुसार अपने आदेश को संशोधित करें।

2

ग्रहण में निम्नलिखित का प्रयास करें,

> रन पर जाएं | बाहरी उपकरण | कार्यक्रम के तहत बाहरी उपकरण विन्यास छोटे आइकन पर क्लिक करके नई कॉन्फ़िगरेशन बनाते हैं।

इसे नाम दें।

स्थान होगा: C: \ Program Files \ जावा \ jdk1.7.0_04 \ बिन \ javah.exe

कार्य निर्देशिका होगा: $ {workspace_loc:/My_First_NDK/bin/वर्गों} और

तर्क होंगे: -classpath $ {workspace_loc:/My_First_NDK/bin/classes} -bootclasspath "सी: \ adt-bundle-windows-x86-20140624 \ sdk \ platforms \ android-19 \ android.jar" -v -d $ {workspace_loc:/My_First_NDK/JNI} com.mypackage.ndk.HelloNDK

enter image description here

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