2013-01-31 26 views
6

मेरे पास फोटो फ़िल्टर के समूह के साथ एक एंड्रॉइड ऐप है। फ़िल्टर ओपनजीएल ईएस 2.0 के साथ कार्यान्वित किए जाते हैं, इसलिए जब मैं अंतिम छवि को सहेजना चाहता हूं तो मैं glReadPixels कॉल करता हूं। यह हर डिवाइस पर काम करता है जिस पर मैंने परीक्षण किया है, हालांकि ऐसा लगता है कि यह नेक्सस 4 पर काम नहीं करता है। उपयोगकर्ता रिपोर्ट करते हैं कि वे फ़िल्टर लागू कर सकते हैं लेकिन जब वे अंतिम छवि को सहेजते हैं तो वे इसे डिवाइस पर नहीं ढूंढ सकते हैं। मैं जानना चाहता हूं कि मेरे लिए नेक्सस 4 का अनुकरण करने और एम्यूलेटर पर मेरे ऐप का परीक्षण करने का कोई तरीका है या नहीं? मैंने एमुलेटर पर परीक्षण किया है और यह ठीक काम करता है यह जानना अच्छा होगा कि किसी को नेक्सस 4 के साथ समान समस्या है या नहीं।डिवाइस के बिना नेक्सस 4 पर OPENGL ES 2.0 त्रुटि को डीबग कैसे करें?

मेरी glReadPixels कॉल करें।

GLES20.glReadPixels(0, 0, saveWidth, saveHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, mPixels); 
+0

कहां फ़ाइल सहेज रहे हैं? क्या आपने इसे अन्य जेबी 4.2 उपकरणों पर परीक्षण किया है? 4.1 से 4.2 तक एसडी कार्ड लेआउट में बदलाव आया था। – Clyde

उत्तर

1

अतिरिक्त लॉगिंग जोड़ें और कुछ परीक्षण उपयोगकर्ता आपको आउटपुट भेजने के लिए प्राप्त करें; यह आपको उस समस्या को कम करने में मदद कर सकता है जहां विशिष्ट समस्या है, चाहे वह glReadPixels के साथ है, या फ़ाइल सेव करें। विशेष रूप से, glGetError() का उपयोग करें और इसके मान को लॉग करें, और फ़ाइल I/O:

try { 
    .... file ops 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

आप अपने उपयोगकर्ताओं को यह जानकारी भेजने में मदद करने के लिए ACRA (Acra - Android for Crash Report - Google Project Hosting) जैसे टूल का भी उपयोग कर सकते हैं। –