2012-07-05 34 views
72

मैं नई Google क्लाउड मैसेजिंग सिस्टम का उपयोग करने की कोशिश कर रहा हूं लेकिन मुझे कुछ समस्याएं हैं।com.google.android.gsf पैकेज नहीं मिला

मैंने पढ़ना शुरू किया दस्तावेज़ और डेमो ऐप की समीक्षा की; उसके बाद मैं अपने आवेदन करने के लिए आवश्यकताओं को तो मैं एपीआई 16.

के साथ एक नई वर्चुअल डिवाइस बनाया लागू किया लेकिन जब मैं GCM में मेरे डिवाइस रजिस्टर करने के लिए प्रयास करते हैं, यह इस लाइन के कारण विफल रहता:

GCMRegistrar.checkDevice(getApplicationContext()); 

logcat में मैं इन त्रुटियों को देखें: मेरी कक्षा पथ के लिए

07-05 07:06:31.925: E/AndroidRuntime(691): FATAL EXCEPTION: main 
07-05 07:06:31.925: E/AndroidRuntime(691): java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf 
07-05 07:06:31.925: E/AndroidRuntime(691): at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:83) 
07-05 07:06:31.925: E/AndroidRuntime(691): at aero.tav.mobile.genel$4.onClick(genel.java:201) 
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166) 
07-05 07:06:31.925: E/AndroidRuntime(691): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-05 07:06:31.925: E/AndroidRuntime(691): at android.os.Looper.loop(Looper.java:137) 
07-05 07:06:31.925: E/AndroidRuntime(691): at android.app.ActivityThread.main(ActivityThread.java:4745) 
07-05 07:06:31.925: E/AndroidRuntime(691): at java.lang.reflect.Method.invokeNative(Native Method) 
07-05 07:06:31.925: E/AndroidRuntime(691): at java.lang.reflect.Method.invoke(Method.java:511) 
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
07-05 07:06:31.925: E/AndroidRuntime(691): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
07-05 07:06:31.925: E/AndroidRuntime(691): at dalvik.system.NativeStart.main(Native Method) 

मैं जोड़ा था gcm.jar; मुझे नहीं पता कि क्या गलत है।

+6

क्या आप एमुलेटर का उपयोग कर रहे हैं? यदि ऐसा है तो यह Google एपीआई एमुलेटर है? यदि नहीं, तो यह आपकी समस्या है – thepoosh

+0

हाँ मैं एमुलेटर पर कोशिश कर रहा हूं। –

+2

क्या यह Google एपीआई एमुलेटर है? – thepoosh

उत्तर

140

ऐसा लगता है कि आप गलत एमुलेटर का उपयोग कर रहे हैं।

डिफ़ॉल्ट एमुलेटर नियमित एंड्रॉइड एमुलेटर का उपयोग करता है जिसमें कोई Google पैकेज नहीं है और यह सभी प्रकार की चीजें जैसे मानचित्र, सी 2 डीएम और इस तरह की सभी चीजें नहीं चला सकता है।

जो आप करना चाहते हैं, वह एक नया एमुलेटर तैयार करता है जो Google API का समर्थन कर सकता है।

तब, जब आप प्रोजेक्ट को चलाने, एमुलेटर लक्ष्य नाम Google APIs (Google Inc).

सौभाग्य चलाता है कि चुनें।

+2

यदि आप एंड्रॉइड एसडीके प्रबंधक में अपने एपीआई स्तर के लिए Google एपीआई पैकेज नहीं ढूंढ पा रहे हैं तो उपयोगी लिंक: http://stackoverflow.com/a/7860557/775437 – mjama

+0

धन्यवाद मैंने आपका उत्तर उपयोगी पाया। –

+0

हमेशा एक खुशी – thepoosh

11

यह शायद ऐसे डिवाइस पर चल रहा है जो जीसीएम का समर्थन नहीं करता है, इसलिए आपका कॉल GCMRegistrar.checkDevice (यह) पर है; एक अपवाद फेंक रहा है। सुनिश्चित करने के लिए अपने logcat की जांच करें।

यदि आप इसे एक एमुलेटर पर परीक्षण कर रहे हैं, तो सुनिश्चित करें कि आपके पास Google एपीआई का उपयोग करने के लिए एमुलेटर स्थापित है। जब आप एमुलेटर बनाते हैं, तो नई एवीडी विंडो बनाएं "लक्ष्य" बॉक्स होता है। उस बॉक्स में कुछ चुनें जो "Google एपीआई" कहता है।

enter image description here

+0

कैप्चर अपलोड करने के लिए धन्यवाद। अनुसरण करने में आसान – beginners

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