2013-01-02 52 views
10

मैं अपने ऐप आकार को कम करना चाहता हूं और ऐप से रिवर्स-इंजीनियरिंग से बचाना चाहता हूं। क्या कोई साधारण जवाब के साथ मदद कर सकता है?ग्रहण आईडीई में मेरे एंड्रॉइड प्रोजेक्ट को कैसे खराब करें?

+1

आप प्रोगुआर्ड का उपयोग करना चाहते हैं। आपने इसे पहले ही टैग के रूप में जोड़ा है। इसे पढ़ें [परिचय] (http://developer.android.com/tools/help/proguard.html)। यदि आपके पास विशिष्ट प्रश्न है, तो StackOverflow पर वापस आएं और उनसे पूछें। – Codo

+0

आप ऐप आकार को कम करना चाहते हैं। आप obfuscate नहीं करना चाहते हैं। – dcow

उत्तर

20

Proguard एंड्रॉइड ग्रहण प्लगइन का हिस्सा है, इसलिए आपको इसे मैन्युअल रूप से आमंत्रित करने की आवश्यकता नहीं है। आपको बस इसे अपने निर्माण पर सक्रिय करने की आवश्यकता है।

ProGuard को सक्षम करने के लिए ताकि यह एंटी या ग्रहण निर्माण के हिस्से के रूप में चलता है, <project_root>/project.properties फ़ाइल में proguard.config संपत्ति सेट करें। पथ परियोजना के रूट से संबंधित एक पूर्ण पथ या पथ हो सकता है।

कुछ स्थितियों के लिए, proguard.cfg फ़ाइल में डिफ़ॉल्ट कॉन्फ़िगरेशन पर्याप्त होगा। हालांकि, ProGuard के लिए सही ढंग से विश्लेषण करने के लिए कई स्थितियां कठिन होती हैं और यह उस कोड को हटा सकती है जो सोचती है कि इसका उपयोग नहीं किया जाता है, लेकिन आपके एप्लिकेशन को वास्तव में आवश्यकता है। कुछ उदाहरणों में शामिल:

  • एक वर्ग है कि AndroidManifest.xml में केवल संदर्भित है फ़ाइल
  • एक विधि JNI से कहा जाता
  • सक्रिय रूप से संदर्भित क्षेत्रों और तरीकों

डिफ़ॉल्ट proguard.cfg फ़ाइल सामान्य मामलों को कवर करने का प्रयास करता है, लेकिन आपको ClassNotFoundException जैसे अपवादों का सामना करना पड़ सकता है, जो तब होता है जब ProGuard आपके पूरे एप्लिकेशन को कॉल करने वाली पूरी कक्षा को हटा देता है।

ProGuard proguard.cfg फ़ाइल में -keep लाइन जोड़कर आपके कोड को हटा देता है तो आप त्रुटियों को ठीक कर सकते हैं।

+0

जहां मुझे proguard.cfg मिल सकता है? ग्रहण के अंदर ऐसी कोई फ़ाइल नहीं है – Erum

0

हाँ, यह अपनी परियोजना में ProGuard सक्षम करने के उपयोग रिवर्स इंजीनियरिंग के लिए एप्लिकेशन को प्रतिबंधित करने के लिए संभव है आपका के लिए यह Proguard for Android app

और एप्लिकेशन आकार को कम से कम आप .9patch छवियों, और चयनकर्ता पर मुकदमा करना चाहिए के लिए ..

इस ट्यूटोरियल पढ़ना चाहिए
0

आप इसके लिए प्रोगार्ड का उपयोग कर सकते हैं। यह एक ही उद्देश्य के लिए Google द्वारा प्रदान किया गया एक उपकरण है।

http://developer.android.com/tools/help/proguard.html

9

1) "http://sourceforge.net/projects/proguard/files/" से नवीनतम ProGuard डाउनलोड: यहाँ आधिकारिक मार्गदर्शिका देखें। वर्तमान नवीनतम संस्करण proguard4.7

2) नवीनतम डाउनलोड किया ProGuard फ़ोल्डरों के साथ "बिन" और "lib" फ़ोल्डर "अपने एसडीके \ उपकरणों का पथ \ ProGuard" बदलें है।

3) इसमें रिक्त स्थान के लिए ग्रहण में एसडीके स्थान की जांच करें और इसके लिए विंडो> प्राथमिकताएं> एंड्रॉइड पर जाएं। वहाँ है, तो खाली जगह तो साथ बदलें:

Android के Pathe एसडीके

4) जाँच करें कि proguard.cfg फ़ाइल अपनी परियोजना के रूट फ़ोल्डर में है और "proguard.config = proguard.cfg" परियोजना में। एंड्रॉइड परियोजना की गुण फ़ाइल।

5) अब अपने प्रोजेक्ट को अपर्याप्त एपीके प्राप्त करने के लिए निर्यात करें।

+0

यह मेरे लिए काम करता है। अपनी .apk फ़ाइल को खराब करने के लिए सरल चरण :) – Sujay

+0

** त्रुटि: तर्क संख्या 1 में अज्ञात विकल्प '040 9' ** –

0

आप डेक्सगार्ड https://www.guardsquare.com/dexguard पर प्रयास कर सकते हैं, स्ट्रिंग एन्क्रिप्शन, कक्षा एन्क्रिप्शन और प्रतिबिंब लागू करने, obfuscation की अधिक परतें जोड़ सकते हैं। यह मुफ़्त नहीं है, लेकिन यह प्रोगार्ड से परे चला जाता है।

पीडी) यह स्पैम नहीं है, मेरे पास इस उत्पाद के साथ कोई संबंध नहीं है, केवल जानकारी।