2012-11-12 27 views
6

जैसा कि सभी जानते हैं, चोरी पर एंड्रॉइड पर एक गंभीर समस्या बन जाती है। क्या एंड्रॉइड के लिए मोनो देशी कोड को संकलित करते समय कोड obfuscation प्रदान करता है?एंड्रॉइड के लिए मोनो, कोड obfuscation

उत्तर

7

एंड्रॉइड के लिए मोनो इस कार्यक्षमता प्रदान नहीं करता है, हालांकि आप अभी भी obfuscation के लिए किसी तृतीय-पक्ष टूल का उपयोग कर सकते हैं। चूंकि एंड्रॉइड के लिए मोनो सीआईएल असेंबली का उत्पादन करता है जो एंड्रॉइड डिवाइस पर मोनो रनटाइम द्वारा जेआईटीड किया जाता है, आपको इन .NET असेंबली को खराब करने की आवश्यकता होती है। इसलिए एंड्रॉइड obfuscator Proguard जैसे उपकरण आपकी मदद नहीं करेंगे। नीचे .NET obfuscators को एंड्रॉइड के लिए मोनो के साथ काम करने की सूचना दी गई है।

आप Xenocode Postbuild का उपयोग करते हैं तो सुनिश्चित करें कि आप को निष्क्रिय "मेटाडेटा कमी" इतना है कि कक्षा नाम जावा में वैध रहेगा बनाते हैं।

अद्यतन

Xamarin.Android आप संकलित .NET DLLs की आवश्यकता के बिना APK फ़ाइलों को पैकेज करने की अनुमति देता है। इसका मतलब है कि आपको .NET बिंदु दृश्य से obfuscation लागू करने की आवश्यकता नहीं है। मैं अपनी रिलीज एपीके फ़ाइल निकाल सकता हूं और पाया कि केवल class.dex फ़ाइल और .so लाइब्रेरी फाइलें शामिल हैं। यह सक्षम करने के लिए "मूल कोड में असेंबली एम्बेड करें" बॉक्स को चेक करें (यह केवल एंटरप्राइज़ ग्राहकों के लिए उपलब्ध हो सकता है)।

+1

धन्यवाद। मैंने पाया है कि कुछ अन्य स्रोत Xenocode Postbuild का उपयोग करने का भी सुझाव देते हैं। मैं जाऊँगा और कोशिश करूँगा। –

+1

यदि आपको मेरा उत्तर पर्याप्त होने का पता चला है तो कृपया इसे अपने स्वीकृत उत्तर के रूप में चिह्नित करने में संकोच न करें। –

+0

@alexw आपने डीएलएल के बिना एपीके को कैसे पैकेज किया? – Ian