अपग्रेड नहीं किया जा सकता है, मैं ऑपरेटर के लिए काम करता हूं, और हम एंड्रॉइड फोन पर प्रीलोड लोड करते हैं।.so लाइब्रेरी फ़ाइल के साथ प्रीलोडेड एंड्रॉइड एप्लिकेशन को
हालांकि, कुछ प्रीलोड किए गए एप्लिकेशन, एक बार बाजार, क्रैश से अपग्रेड किए गए।
समस्या यह है: - आवेदन एक .so पुस्तकालय फ़ाइल
शामिल हैं -
आदेश में एक फोन पर पूरा आवेदन पहले से लोड करने में, .so पुस्तकालय फ़ाइल lib निर्देशिका में अलग रखा जाना है (/ सिस्टम/lib/libXXXXjni.so)
- जब प्रीलोड किए गए एप्लिकेशन को बाजार से चलाया जाता है और चलाया जाता है, तो नए एपीके में .so लाइब्रेरी फ़ाइल के बजाय, पुरानी प्रीलोडेड .so फ़ाइल पहले पाई जाती है - जिससे क्रैश होता है, क्योंकि दो .so fiels में अलग-अलग सामग्री हैं
क्या किसी के पास कोई सुझाव दिया गया है, या लाइब्रेरी-खोज अल्गर्थिम का ज्ञान जो मेरी मदद कर सकता है इसका समाधान करो?
लाइब्रेरी फ़ाइल का नाम बदलने का एक संभावित समाधान हो सकता है, लेकिन क्या यह पर्याप्त है?
अग्रिम धन्यवाद ...
किसी भी प्रकार की प्रीलोड स्थिति के लिए, डिवाइस को उस डेटा/डेटा स्थान में किसी फ़ाइल का नाम बदलने के लिए रूट पहुंच नहीं होगी? – Maximus
मैं सोच रहा था कि लाइब्रेरी को अपग्रेड किए गए संस्करण में नया नाम मिलता है। नामकरण डेवलपर की मशीन पर होगा (और System.loadLibrary (...) में कोड में कॉल करें।) सबसे अच्छा मुझे लगता है कि लाइब्रेरी को सिस्टम/lib के बजाय ऐप की lib निर्देशिका में प्रीलोड करना है। – abh