मैं अपने एंड्रॉइड एप्लिकेशन में संपत्ति या एसडीकार्ड से बाहरी जार का उपयोग कर रहा हूं। ऐसा करने के लिए मैं DexClassLoader का उपयोग कर रहा हूँ।एंड्रॉइड डेक्सक्लासलोडर सभी कक्षाओं की सूची प्राप्त करें
DexClassLoader cl = new DexClassLoader(dexInternalStoragePath.getAbsolutePath(),
optimizedDexOutputPath.getAbsolutePath(),
null,
getClassLoader());
एक वर्ग लोड करने के लिए:
Class myNewClass = cl.loadClass("com.example.dex.lib.LibraryProvider");
यह वास्तव में अच्छा काम करता है लेकिन अब मैं अपने DexClassLoader मैं this पाया जावा में काम करने में सभी वर्गों के नामों की सूची प्राप्त करना चाहते हैं लेकिन कोई इस तरह है एंड्रॉइड में बात।
प्रश्न मैं कैसे एक classes.dex
फ़ाइल आप DexFile
का उपयोग करें, नहीं DexClassLoader
, उदा युक्त एक .jar फ़ाइल में सभी वर्गों को सूचीबद्ध करने के DexClassLoader
http://developer.android.com/reference/dalvik/system/DexFile.html#loadDex(java.lang.String, java.lang.String, पूर्णांक में टिप्पणी के बावजूद) है कि "इस फ़ंक्शन को सीधे किसी एप्लिकेशन द्वारा नहीं कहा जाना चाहिए" 'DexFile.loadDex()' एक डेक्स फ़ाइल की जांच करने का एकमात्र तरीका प्रतीत होता है - एक सरल 'नई DexFile (फ़ाइल)' 'IoException' फेंकता है। –
जब मैं जार से सभी कक्षाओं को पढ़ने की कोशिश कर रहा हूं, तो मुझे केवल मौजूदा चल रहे एप्लिकेशन से सभी कक्षाएं मिल रही हैं, लेकिन जार फ़ाइल से कक्षाएं नहीं। मुझे नहीं पता कि –
पर क्या चल रहा है क्या आप वास्तविक कक्षाएं प्राप्त कर सकते हैं? – TheRealChx101