सिस्टम: विंडोज 10
मेरा मुद्दा: कस्टम SDK को इंगित करने के लिए Genymotion सेट करने का कोई प्रभाव नहीं पड़ा। मुझे अभी भी प्राप्त हुआ:
एंड्रॉइड पर प्रोजेक्ट शुरू नहीं कर सका: स्मार्टसोकेट श्रोता स्थापित नहीं कर सका: 127.0.0.1:5037 पर बांध नहीं सकता: प्रत्येक सॉकेट एड्रेस (प्रोटोकॉल / नेटवर्क एड्रेस / पोर्ट) के केवल एक उपयोग की अनुमति है। (10048) एडीबी सर्वर से ठीक नहीं पढ़ सका * डेमॉन शुरू करने में विफल रहा * त्रुटि: डेमन से कनेक्ट नहीं हो सकता
मुझे पता चला कि पूरे सिस्टम में इस्तेमाल होने वाले एडीबी संस्करणों में अंतर था। यहाँ मैं उन्हें खोजने के लिए इस्तेमाल किया कमान है:
where /r C:\ adb.exe
इससे परिणाम सामने आए:
C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
प्रत्येक निर्देशिका में नेविगेट करना और चलाना:
adb.exe version
मुझे यह देखने की अनुमति है कि एक्सपो एडीबी संस्करण चला रहा था:
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
हालांकि कस्टम SDK का उपयोग करने वाले Genymotion का संस्करण था (c: \ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
परीक्षण के रूप में मैंने adb files (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) से लिया
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
और उन्हें एक बैकअप फ़ोल्डर में रखा। मैंने तब स्थित adb फ़ाइलों को स्थानांतरित किया
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
उसी स्थान पर। मैंने एडीबी को मार दिया:
adb kill-server
जो पहले से चल रहे मेरे Genymotion डिवाइस होने के कारण स्वचालित रूप से adb सर्वर को पुनरारंभ करता है। मैंने एक्सपो XDE के अंदर "रिस्टार्ट" बटन मारा और यह तुरंत काम करना शुरू कर दिया। यहां वह लॉग है, जहां मैंने 1:13:04 AM पर पुनः आरंभ बटन दबाया है:
12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
निष्कर्ष: Genymotion और Expo को adb के एक ही संस्करण का उपयोग करने की आवश्यकता हो सकती है ताकि एक्सपो सिम्युलेटेड डिवाइस के साथ ठीक से संवाद कर सके। अपने एंड्रॉइड एसडीके स्थान के साथ-साथ एक्सपो एक्सडीई को सुनिश्चित करने के लिए जीनोमिशन की ओर इशारा करते हुए कहा गया है कि एक ही संस्करण उपकरणों के बीच सही संचार की अनुमति देगा। मैंने एक्सपो एक्सडीई संस्करण को एसडीके स्थान पर स्थानांतरित किया, लेकिन आप दूसरे तरीके से जाने में सक्षम हो सकते हैं (एसडीके एडीबी फ़ाइलों को लें और उन्हें एक्सपो एक्सडीई संसाधन स्थान में रखें)।
पुनश्च मैं इस मुद्दे से संबंधित स्टैकओवरफ़्लो पोस्ट के माध्यम से सभी रहा हूँ। बस आप लोग जानते हैं कि मेरा कार्य प्रबंधक adb.exe चलाने के तीन उदाहरण दिखाता है। यदि आप उनमें से किसी को मारते हैं तो वे वापस आ जाते हैं।
आशा है कि यह मदद करता है / चीयर्स