2010-12-16 13 views
11

एंड्रॉइड के साथ प्रोगार्ड का उपयोग करते समय, विधियों को केवल प्रतिबिंब के माध्यम से बुलाया जाता है (उदाहरण के लिए, ऑनक्लिक एक्सएमएल विशेषताओं में परिभाषित कॉलबैक) गलती से छीन लिया जाता है।एंड्रॉइड के प्रोगार्ड को मार्गदर्शन करने के लिए जावा एनोटेशन का उपयोग कैसे करें?

One solution इस समस्या के लिए प्रत्येक प्रभावित कक्षा और विधि को अपने proguard.cfg में जोड़ना है।

मैं उसी प्रभाव को प्राप्त करने के लिए जावा एनोटेशन का उपयोग कैसे कर सकता हूं?

मुझे लगता है कि कोड स्वयं-दस्तावेज़ बना देगा और यह कोड और proguard.cfg सिंक से बाहर निकलने से बच जाएगा। हालांकि, एंड्रॉइड प्रोगार्ड एनोटेशन के साथ जहाज नहीं लग रहा है .jar ने अपने दस्तावेज में उल्लेख किया है।

उत्तर

7

आप annotations.jar और एक अधिकारी को ProGuard रिलीज से annotations.pro प्राप्त कर सकते हैं। इसके बाद आपको एनोटेशन का उपयोग करने में सक्षम होना चाहिए क्योंकि here

सभी आवश्यक विकल्प proguard.cfg में जा सकते हैं।

5

मैं हाल ही में इस समस्या में भाग गया। यहाँ आप क्या करने की जरूरत है:

onClick घटनाओं Proguard सेटिंग्स में जोड़ना

-keepclassmembers class * extends android.app.Activity{ 
    public void *(android.view.View); 
} 

एनोटेशन

-keepattributes ** या -keepattributes *Annotation*

अधिक जानकारी जोड़ रखने के लिए ठीक करने के लिए यहाँ उपलब्ध है http://www.simpligility.com/2010/12/hints-for-using-proguard-on-your-android-app/ मैं एंड्रॉइड ऐप संकलित करने के लिए मेवेन-एंड्रॉइड-प्लगइन का उपयोग करता हूं और यह आलेख एंड्रॉइड के लिए काम करने के लिए जो कुछ करता है, उससे काफी अधिक बताता है। उम्मीद है की यह मदद करेगा!

+0

हालांकि आपकी पहली युक्ति प्रश्न का काफी जवाब नहीं देती है, यह शायद मेरी समस्या के लिए एक बेहतर समाधान है। धन्यवाद! –

+1

+1 के लिए +1: - रखरखाव ** या - रखरखाव * एनोटेशन *। अन्यथा, आपकी टिप्पणियां अभी भी छीन ली जाएंगी – Entreco

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