2016-01-28 5 views
10

मैं एंड्रॉइड डेवलपमेंट पर कुछ संगतता समस्या पर काम कर रहा हूं, मेरे एंड्रॉइड ऐप्स एक दुर्लभ डिवाइस रोम पर दुर्घटनाग्रस्त हो गए हैं, जिसने क्रैश का कारण बनने के लिए कुछ ढांचे (app.widget) कोड को संशोधित किया है।क्या एवीडी एमुलेटर या जीनमोशन में डिवाइस रोम को फ्लैश करना संभव है?

मैं डिवाइस के बिना अपने स्वयं के क्रैश को पुन: उत्पन्न करना चाहता हूं, मेरे पास डिवाइस का स्वामित्व नहीं है और 2-हाथ बाजार को छोड़कर आसानी से सही डिवाइस नहीं मिल सकता है।

लेकिन रॉम मैं डिवाइस के फ़ोरम (system.img, userdata.img) से डाउनलोड कर सकता हूं, क्या मैं रोम को AVD या Genymotion से सीधे फ्लैश कर सकता हूं? इसे प्राप्त करने के लिए कोई गाइड?

+3

"क्या मैं रोम को एवीडी या जेनिमोशन में सीधे फ्लैश कर सकता हूं?" -- मुझे शक है। आखिरकार, एमुलेटर हार्डवेयर नहीं है, और रोम में हार्डवेयर ड्राइवरों के साथ काम करने की अपेक्षा रखने वाले हार्डवेयर ड्राइवर होंगे। – CommonsWare

+0

पहले पुन: उत्पन्न करने की कोशिश करने के बजाय, सटीक त्रुटि क्या है? –

+0

@ जोनासकोइटज़ यह रॉम निर्दिष्ट बग है, क्योंकि रॉम का फ्रेमवर्क कोड (टेक्स्ट व्यू सामान) सामान्य कोड से थोड़ा अलग है। मेरा कस्टम टेक्स्ट व्यू टेक्स्ट व्यू बढ़ाता है, ऑपरेशन के निर्दिष्ट सीरियल में चयन तर्क क्रैश करेगा। मुझे पहले से ही दुर्घटना का कारण मिल गया है, और इसे प्रतिबिंब का उपयोग करके रोम में रोकें, रोम के फ्रेमवर्क कोड को डंप करके कारण ढूंढें। अपवाद स्टैक पर इसे मानचित्र करें। – Gohan

उत्तर

0

सरल उत्तर: नहीं आप नहीं कर सकते। डिवाइस रोम पूरी तरह से डिवाइस विशिष्ट हैं। जेनिमोशन x86 (आपका कंप्यूटर) पर चलता है जो ज्यादातर मामलों में आपके डिवाइस के समान वास्तुकला नहीं होगा। यहां तक ​​कि यदि आप "फ्लैश-स्टोरेज" जीनिमोटेशन के लिए "फ्लैश" कर सकते हैं, तो कर्नेल और बूटलोडर समेत कोई निष्पादन योग्य नहीं होगा।

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