12

मैंने ट्यूटोरियल https://developers.google.com/cloud-messaging/android/client का पालन किया है। यह काम करता है - मैं सूचनाएं भेजने और प्राप्त करने में सक्षम हूं।लिंट ने अनुवाद नहीं किया है gcm_defaultSenderId स्ट्रिंग

लेकिन जब मैं रिहाई एप्लिकेशन बनाने की कोशिश, Android Lint शिकायत:

Error: "gcm_defaultSenderId" is not translated in ... 

तो मैं असफल रहने के निर्माण निष्क्रिय कर सकते हैं जब एक प्रकार का वृक्ष build.gradle में इस के साथ शिकायत:

lintOptions{ 
    abortOnError false 
} 

लेकिन स्पष्ट रूप से यह नहीं है एक तरकीब। मेरे ऐप में हार्डकोडिंग senderId भी अच्छा विचार नहीं है (हमारे पास gcm_defaultSenderId मान्य है google-services.json में, इसलिए यह दोगुनी है कि यह भविष्य में समस्याओं की मांग कर रहा है)।

क्या Google Play Services डेवलपर्स से इस स्पष्ट निरीक्षण के आसपास कोई रास्ता है?


संपादित 02 दिसंबर 2015 OMG! आज Google actuallt ने इस मुद्दे पर कुछ करना शुरू कर दिया, see here


अस्वीकरण: इस Can't generate APK Release because of GCM SenderId Android का डुप्लिकेट नहीं है - स्वीकार किए जाते हैं जवाब मेरे लिए स्वीकार्य नहीं है।

+0

यह समस्या गूगल को संबोधित करता था, अभी भी कोई जवाब नहीं है, अगर मैं एक मैं इसे यहाँ पोस्ट करेंगे मिलता है। –

उत्तर

2

मुझे लगता है कि यह प्रश्न वास्तव में Can't generate APK Release because of GCM SenderId Android का डुप्लिकेट है, भले ही मैं स्वीकृत उत्तर के बारे में आपकी राय से सहमत हूं।

समाधान बहुत सरल है, तुम सिर्फ अद्यतन गूगल सेवा निर्भरता संस्करण की जरूरत है, answer पर एक नज़र मैं जानकारी के लिए वहाँ दे दी है ले लो।


संपादित समाधान मैं दे दी है इस मुद्दे को हल करने के लिए पर्याप्त नहीं है। मैंने सोचा कि यह ठीक था क्योंकि मैं एक मल्टीफ्लॉवर ऐप पर काम कर रहा हूं और, कारणों से मैं अभी भी जांच कर रहा हूं, Google सर्विसेज ग्रेडल प्लगइन मुख्य के अलावा स्वादों में केवल gcm_defaultSenderId स्ट्रिंग उत्पन्न करता है।

इस link के अनुसार,

इस मुद्दे के साथ 8.3.0 Google Play सेवाओं और 1.5.0-beta2 निर्भरता किया जाना चाहिए।

लेकिन वास्तव में, जबकि gcm_defaultSenderId स्ट्रिंग अब सही तरीके से उत्पन्न होता है (translatable="false" विशेषता के साथ), google_app_id और ga_trackingID तार नहीं हैं।

टी एल; डॉ मैं इस निष्कर्ष पर हम गूगल लोग एप्लिकेशन स्तर तक build.gradle फ़ाइल को जोड़कर इस मुद्दे इस बीच में त्रुटि को ठीक और अनदेखी करने के लिए के लिए

... 
android { 
    lintOptions { 
     abortOnError false 
    } 
} 
... 
+0

यह थोडा एक डुप्लिकेट है। लेकिन कृपया मेरा प्रश्न देखें "अस्वीकरण: यह जीपीएम सेंडरआईडी एंड्रॉइड की वजह से एपीके रिलीज उत्पन्न नहीं कर सकता है इसका एक डुप्लिकेट नहीं है - स्वीकृत उत्तर मेरे लिए स्वीकार्य नहीं है।" मूल प्रश्न मालिक ने सबसे हास्यास्पद उत्तर को संभवतः स्वीकार कर लिया ताकि मुझे अन्य, उम्मीदवारों को सही, उत्तर इकट्ठा करने के लिए एक और प्रश्न बनाना पड़े। कृपया वास्तव में यह बताने के लिए अपना प्रश्न अपडेट करें कि क्या करने की आवश्यकता है और मैं जांच करूंगा कि यह मदद करता है या नहीं। –

+0

वैसे भी इससे मदद नहीं मिली। –

+0

मुझे खेद है कि मैंने अच्छी तरह से व्याख्या नहीं की है, मैं इस तथ्य से आपसे सहमत हूं कि स्वीकार्य उत्तर समस्या को हल करने का सबसे अच्छा अभ्यास नहीं है, यहां तक ​​कि मेरी राय में भी अनुशंसित नहीं है क्योंकि यह केवल एक कामकाज है जो वास्तविक समस्या को दूर करता है। असल में, मेरे जवाब के एक दिन बाद मुझे पहले से संबंधित कुछ अन्य समस्याएं थीं, अन्य उत्पन्न तार मुझे समस्याएं दे रहे थे (हालांकि "gcm_defaultSenderId" इनमें से नहीं है क्योंकि अपडेट के बाद यह "अनुवाद करने योग्य" संपत्ति को झूठी पर सेट किया गया है)। मैं वर्तमान में जांच कर रहा हूं कि मैं इन अन्य समस्याओं को हल करने के लिए क्या कर सकता हूं, जब मैं पता लगाता हूं तो मैं अपडेट करूंगा। – Ultimecia

0

इस प्रयास करें इंतजार करना है कि के लिए आया था

android { 
lintOptions { 
    disable 'MissingTranslation' 
} 

}

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