2012-02-20 9 views
5

मेरा एंड्रॉइड एप्लिकेशन ओपनसोर्स है, और मैं गीथब पर कोड साझा करने के लिए थोड़ा डर रहा हूं, क्योंकि मेरी एपीआई कुंजी भी साझा की गई थीं।github पर अपना कोड साझा करते समय मैं अपनी Google मानचित्र API कुंजी को कैसे छिपा सकता हूं?

मैं अपने strings.xml फ़ाइल को अनदेखा कर सकता हूं, लेकिन मुझे उम्मीद है कि एक विकल्प है और मैं कुछ चालाक करने में सक्षम हूं, इसलिए मुझे इसके बारे में चिंता करने की ज़रूरत नहीं है।

कोई विचार या सुझाव?

+1

एक 'गिट अनदेखा' क्यों नहीं है "चालाक नहीं"? – vcsjones

+0

क्योंकि मैं अपने संभावित अनुवादकों को अपनी डिफ़ॉल्ट अंग्रेजी string.xml फ़ाइल साझा नहीं कर सकता ... –

उत्तर

3

स्थानीय प्रोजेक्ट्स (जिसे आप अनदेखा करने के लिए जोड़ते हैं) से mapskey.xml (तार) उत्पन्न करने के लिए अपनी प्रोजेक्ट की चींटी बिल्ड स्क्रिप्ट को कस्टमाइज़ करें। जो लोग सिर्फ अपने स्थानीय .properties बनाते हैं, Google मानचित्र के लिए डीबग और रिलीज कुंजी के साथ।

3

कुंजी को एक अलग फ़ाइल में रखें और इसे वहां से पढ़ें, और केवल प्लेसहोल्डर फ़ाइल को रिपॉजिटरी में करें।

+2

इसके लिए एक टेक्स्ट एसेट एक अच्छी जगह होगी। आप यह जांच सकते हैं कि कोई संपत्ति मौजूद है या नहीं, इसलिए आपको कोई स्थान धारक फ़ाइल भी नहीं रखना है: यदि यह अस्तित्व में नहीं है, तो कुछ ध्वज सेट करें और पहली बार ऐप चलाने पर चेतावनी संदेश प्रदर्शित करें। –

+0

मुझे यह विचार पसंद है। – kindall

+0

मैंने यह लगभग 2 साल पहले पूछा था: मैं प्रोग्राम एपीआई प्रोग्राममैटिक कैसे सेट कर सकता हूं? http://stackoverflow.com/questions/3517833/mapactivity-set-apikey-programmatically –

-1

यदि strings.xml प्रोग्राम द्वारा आवश्यक है, तो इसे स्रोत में शामिल किया जाना चाहिए, लेकिन स्रोत के प्रत्येक उपयोगकर्ता के लिए विशिष्ट तारों को छोड़ दिया जाना चाहिए। उनके स्थान पर, दस्तावेज प्रदान करें जहां विशिष्ट तारों को शामिल किया जाना चाहिए।

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