2013-06-19 8 views
6

मैं एंडइंजिन-जीएलएस 2-एंकर सेंटर का उपयोग कर रहा हूं और मैं Google Play गेम सेवाओं को लागू करना चाहता हूं। एक ही util पैकेज में अपने प्रोजेक्ट के लिए -और Google Play गेम सेवाओं के साथ एंजिनिन

मैं BaseGameUtils (एंड्रॉयड नमूने Google Play गेम सेवाओं का हिस्सा) से BaseGameActivity और GameHelper कक्षाओं की नकल की।

क्योंकि AndEngine पहले से ही BaseGameActivity उपयोग करते हैं, मैं इसे GBaseGameActivity नाम दिया है और इस से तो BaseGameActivity (AndEngine वर्ग) के लिए विस्तारित वर्ग बदल गया है,:

public abstract class BaseGameActivity extends FragmentActivity 

रहे हैं:

public abstract class GBaseGameActivity extends BaseGameActivity 

तब मैं बढ़ाया मेरी GBaseGameActivity पर कक्षा (जब मैं बेसगैमएक्टिविटी (एंडइंजिन क्लास) का विस्तार करता हूं, तो यह काम करता है ... लेकिन GBaseGameActivity (बेसगेमउट्स क्लास) के साथ नहीं)

public class BaseActivity extends GBaseGameActivity 

मैं अपने प्रोजेक्ट संकलित की कोशिश की, लेकिन मुझे मिल गया:

... 
Could not find class 'com.xxx.xxx.util.GameHelper', referenced from method com.xxx.xxx.util.GBaseGameActivity.<init> 
Could not find class 'com.xxx.xxx.util.GameHelper', referenced from method com.xxx.xxx.util.GBaseGameActivity.onCreate 
FATAL EXCEPTION: main 
    java.lang.NoClassDefFoundError: com.xxx.xxx.util.GameHelper 
    at com.xxx.xxx.util.GBaseGameActivity.<init>(GBaseGameActivity.java:63) 
    at com.xxx.xxx.BaseActivity.<init>(BaseActivity.java:35) 
... 

GBaseGameActivity.java:63:

63| mHelper = new GameHelper(this); 

BaseActivity.java:35:

35| public class BaseActivity extends GBaseGameActivity 

कहां है मुसीबत?

+0

क्या आपको मेनिफेस्ट फ़ाइल को बदलने की ज़रूरत है? ([उदाहरण के लिए यहाँ देख] [1]) [1]: http://stackoverflow.com/questions/16822493/android-couldnt-find-class –

+0

मैं सिर्फ 1 गतिविधि है (' बेसएक्टिविटी') 'GBaseGameActivity' और' GBaseGameActivity' 'को' गेमहेल्पर 'लागू करता है, इसलिए मुझे इसे AndroidManifest में पंजीकृत करने की आवश्यकता नहीं है – Shaddow

उत्तर

3

समस्या यह थी कि google-play-services मॉड्यूल स्कोप Compile के बजाय Provided पर सेट किया गया था।

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