প্রতিক্রিয়া-নেটিভ, অ্যান্ড্রয়েড, জিনমোশন: এডিবি সার্ভার ACK করেনি


168

আমি ম্যাকের প্রতিক্রিয়া-নেটিভ, অ্যান্ড্রয়েড এবং জিনমোশন নিয়ে কাজ করছি। আমি যখন চালনা react-native run-androidকরি তখন লঞ্চ অপারেশন শেষে এই লাইনগুলি পাই:

...
04:54:40 E/adb: error: could not install *smartsocket* listener: Address already in use
04:54:40 E/adb: ADB server didn't ACK
04:54:40 E/ddms: '/Users/paulbrie/Library/Android/sdk/platform-tools/adb,start-server' failed -- run manually if necessary
04:54:40 E/adb: * failed to start daemon *
04:54:40 E/adb: error: cannot connect to daemon
:app:installDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: Timeout getting device list.
...

তবে, এটি adb devicesফেরত দেয়:

List of devices attached
192.168.59.101:5555 device

এখনও পর্যন্ত আমি এমুলেটরটিতে আমার অ্যাপ্লিকেশন চালনার কোনও সমাধান খুঁজে পাইনি। কেউ কি একই সমস্যার মুখোমুখি হয়েছেন?

ধন্যবাদ, পল


জিনমোশন চলমান নির্বিশেষে এই ত্রুটি ঘটতে পারে।
ইগোরগানাপলস্কি

উত্তর:


319

আরও গবেষণার পরে আমি বুঝতে পারি যে জিনমোশন ডিফল্টরূপে তার নিজস্ব অ্যাডাবিকে ব্যবহার করে।

এখানে চিত্র বর্ণনা লিখুন

আমি আমার মূল অ্যাডবিতে (একইভাবে প্রতিক্রিয়া-নেটিভ দ্বারা ব্যবহৃত) স্যুইচ করেছি এবং এটি সমস্যার সমাধান করেছে। আমার ধারণা যে জিনমোশনটির অ্যাডবিটি প্রথমে চালু হয়েছিল আমি Address already in useত্রুটি বার্তাটি পেয়েছি ।


4
এই পোস্ট করার জন্য আপনাকে ধন্যবাদ। আমার প্রায় একটি হার্ট অ্যাটাক হয়েছিল, আমি আমার অ্যান্ড্রয়েড স্টুডিওগুলি ২.১ কে গত রাতে পূর্বরূপ 3 এ আপডেট করেছি এবং জেনিমেশন আর সংযুক্ত হবে না। এটি আমাকে এটি সমাধান করতে সহায়তা করেছে।
সাইমন

7
আমি এই সমাধানটি চেষ্টা করেছিলাম, কিন্তু আমি এখনও একই ত্রুটি পেয়েছি। বিকল্প সমাধান আছে?
ক্যালক্লাভিয়া

1
@ user2254679 আপনি কি এই থ্রেডটিও পরীক্ষা করে দেখেছেন? stackoverflow.com/questions/5703550/…
পল

@ পল আপনি কি পথটি সরবরাহ করছেন তা দয়া করে বিশদভাবে বলতে পারেন? প্রতিক্রিয়া-স্থানীয় দ্বারা ব্যবহৃত হয় যা এই অ্যাডবি কোথায় অবস্থিত? আমি আমার অ্যান্ড্রয়েড এসডিকে পথ সরবরাহ করার চেষ্টা করছি কিন্তু এটি কার্যকর হচ্ছে না। ইংরেজি সেরা হবে।
কে পাল

@ কেপাল, পাথটি আপনার নিজস্ব সেটআপের জন্য নির্দিষ্ট। আমার ক্ষেত্রে এটি যে সময়ে ম্যাক মধ্যে অ্যান্ড্রয়েড ইনস্টলেশন থেকে মান পথ ছিল: /Users/$yourName/Library/Android/sdk। যদি আপনি অ্যান্ড্রয়েড ইনস্টল করেন তবে আপনার অ্যান্ড্রয়েড সংস্করণ / আপনার প্ল্যাটফর্মের ভিত্তিতে আপনার পথটি অনুসন্ধান করা উচিত।
পল

45

আমি জিনমোশন ব্যবহার করছি, তবে পলের সমাধান একাই ত্রুটিটি ঠিক করেনি (ম্যাকের জন্য)।

আমি বাধ্য ছিলাম:

SDK পরিচালকের মাধ্যমে অ্যান্ড্রয়েড এসডিকে সর্বশেষ সংস্করণে (24.4.1) আপডেট করুন

androidকমান্ড লাইনে টাইপ করুন

এসডিকে পরিচালকের মধ্যে সর্বশেষতম এসডিকে সরঞ্জাম এবং ইনস্টল করুন।

একবার ইনস্টল হয়ে এসডিকে পাথের নীচের মতো নতুন এসডিকে অবস্থান আপডেট করা উচিত।

এখানে চিত্র বর্ণনা লিখুন

তারপরে নতুন এসডিকে ব্যবহার করতে $ ANDROID_HOME আপডেট করুন

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

নিশ্চিত করুন যে এটি আপনার পথটি দিয়ে যুক্ত করে যুক্ত করা হয়েছে echo $PATH

তারপরে জেনিমোশনে @ পল উপরে যা বলেছে তা করুন এবং জেনিমোশন এডিবিতে একই এসডিকে ব্যবহার করতে নির্দেশ করুন

এখানে চিত্র বর্ণনা লিখুন


এটি উবুন্টু 16.04 এর জন্য কাজ করে। কোনও কারণে আমি ভেবেছিলাম $ANDROID_HOME/toolsক্লাসপথে ডিরেক্টরিটি প্রয়োজনীয় হবে না। আপনাকে অ্যাডবিতে সংযুক্ত করতে যুক্ত করতে হবে।
ওড়ার

10

সিস্টেম: উইন্ডোজ 10

আমার সমস্যা: কাস্টম এসডিকে নির্দেশ করার জন্য জিনমোশন সেট করা কোনও প্রভাব ফেলেনি। আমি এখনও পেয়েছি:

অ্যান্ড্রয়েডে প্রকল্প শুরু করা যায়নি: স্মার্টসকেট শ্রোতা ইনস্টল করতে পারেনি: 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

এক্সপো ADB সংস্করণটি চালাচ্ছিল তা আমাকে দেখার অনুমতি দিয়েছে:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

কাস্টম এসডিকে ব্যবহার করে জিনমোশনটির সংস্করণ ছিল (সি: \ ব্যবহারকারীগণ \ কাইল \ অ্যাপডাটা \ লোকাল \ অ্যান্ড্রয়েড \ এসডিকে \ প্ল্যাটফর্ম-সরঞ্জামসমূহ \ adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

একটি পরীক্ষা হিসাবে আমি এডবি ফাইলগুলি নিয়েছি (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll)

c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe

এবং এগুলিকে একটি ব্যাকআপ ফোল্ডারে রাখে। আমি তখন অবস্থিত অ্যাডবি ফাইলগুলি সরিয়ে নিয়েছি

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

একই জায়গায়। আমি এর সাথে অ্যাডবি মেরেছিলাম:

adb kill-server

যা আমার জিনমোশন ডিভাইসটি ইতিমধ্যে চালু থাকার কারণে স্বয়ংক্রিয়ভাবে অ্যাডবি সার্ভারটি পুনঃসূচনা করতে পারে। আমি এক্সপো এক্সডিডি-র ভিতরে "পুনঃসূচনা" বোতামটি চাপলাম এবং এটি অবিলম্বে কাজ শুরু করে। এখানে লগটি যেখানে আমি 1:13:04 এ পুনরায় চালু বোতামটি চাপলাম:

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).

উপসংহার: জিনোমোশন এবং এক্সপোতে একই সংস্করণের অ্যাডবি ব্যবহার করা দরকার যাতে এক্সপো সঠিকভাবে সিমুলেটেড ডিভাইসের সাথে যোগাযোগ করতে পারে। আপনার অ্যান্ড্রয়েড এসডিকে অবস্থানের প্রতি জিনমোশনটি নির্দেশ করার পাশাপাশি এক্সপো এক্সডিইর একই সংস্করণটি ডিভাইসের মধ্যে সঠিক যোগাযোগের অনুমতি দেবে তা নিশ্চিত করে। আমি এক্সপো এক্সডিই সংস্করণটি এসডিকে লোকেশনে স্থানান্তরিত করেছি, তবে আপনি অন্য উপায়ে যেতে সক্ষম হতে পারেন (এসডিকে এডিবি ফাইলগুলি নিতে এবং এগুলি এক্সপো এক্সডিডি রিসোর্স লোকেশনে স্থাপন করতে পারেন)।

PS আমি এই সমস্যার সাথে সম্পর্কিত স্ট্যাকওভারফ্লো পোস্টগুলি দিয়েছি। ঠিক তাই আপনি ছেলেরা জানেন আমার টাস্ক ম্যানেজার অ্যাডবি.এক্সই চলমান তিনটি দৃষ্টান্ত দেখায়। আপনি যদি তাদের কাউকে হত্যা করেন তবে তারা কেবল ফিরে আসবে।

আশা করি এটি সাহায্য করে / চিয়ার্স করবে


8

হতে পারে আপনার অ্যাডাবির সংস্করণগুলি মেলেনি

পরীক্ষা করে দেখুন:

adb version 

তারপর:

cd /Path/to/Android/Sdk/platform-tools && ./adb version

যদি এই দুটি ভিন্ন হয় তবে আপনার এখানে একটি ত্রুটি রয়েছে, কেবল সিস্ট থেকে অ্যাডবি মুছে ফেলুন এবং প্ল্যাটফর্ম-সরঞ্জামগুলিতে থাকা একটিকে / usr / bin / এ অনুলিপি করুন


4

যদি আপনার সিস্টেমটি পরিষ্কার রাখতে চান তবে আপনি অ্যান্ড্রয়েড স্টুডিও ছাড়াই জিনমোশনও ব্যবহার করতে পারেন :

  1. জিনমোশন এর অনুলিপি খুঁজুন adb। ম্যাকোজে এটি সাধারণত হয় /Applications/Genymotion.app/Contents/MacOS/tools/
  2. আপনার পথে জিনমোশন সরঞ্জাম ডিরেক্টরি যুক্ত করুন - চালনা করুন / export PATH=/Applications/Genymotion.app/Contents/MacOS/tools/:$PATHআপনার ~/.bash_profileবা এতে লাইন যুক্ত করুন ~/.bash_rc
  3. আপনি আপনার টার্মিনাল থেকে adb চালাতে পারেন তা নিশ্চিত করুন।

( Https://docs.expo.io/versions/latest/workflow/genymotion থেকে )


4

আপনার সিস্টেমে অ্যাডবি সংস্করণটি অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম-সরঞ্জামগুলির অ্যাডবি সংস্করণ থেকে আলাদা। নীচের পরামর্শটি আমার জন্য লিনাক্স অপারেটিং সিস্টেমের জন্য কাজ করছে

  1. নীচের কমান্ডটি চালনা করুন সিএসএস এডিবি সংস্করণ

অ্যাডবি সংস্করণ

অ্যান্ড্রয়েড ডিবাগ ব্রিজ সংস্করণ 1.0.39

  1. এসডিকে অ্যাডবি সংস্করণ পরীক্ষা করুন

সিডি / রুট / অ্যান্ড্রয়েড / এসডিকে / প্ল্যাটফর্ম-সরঞ্জামগুলি

./adb সংস্করণ

অ্যান্ড্রয়েড ডিবাগ ব্রিজ সংস্করণ 1.0.32

  1. কপি

আরএম / ইউএসআর / বিন / অ্যাডবি

[দ্রষ্টব্য: উপরের কমান্ডটি বিদ্যমান অ্যাডাবিকে সরিয়ে ফেলুন তারপর এসডিকে / প্ল্যাটফর্ম-সরঞ্জাম ডিরেক্টরি থেকে অ্যাডবিটি অনুলিপি করুন]

sudo সিপি / রুট / অ্যান্ড্রয়েড / এসডিকে / প্ল্যাটফর্ম-সরঞ্জাম / অ্যাডবি / ইউএসআর / বিন / অ্যাডবি

তারপরে এই কমান্ডটি ব্যবহার করে প্রকল্পটি চালান

নেটিভ রান অ্যান্ড্রয়েড প্রতিক্রিয়া


এটি লিনাক্সের জন্য একটি ভাল সমাধান, এটি ইনস্টল করা অ্যান্ড্রয়েড স্টুডিওর সাথে বা ছাড়াই কাজ করে
মারুফ শিট্টু

3

এক্সপো ইউআই থেকে চালানোর চেষ্টা করার সময় আমার একই জিনিস ছিল। উত্তরে বর্ণিত একই জিনিসগুলি করেছেন, তবে অ্যাপটি চলছিল না। exp androidকমান্ড লাইন (প্রকল্প ফোল্ডারে) থেকে একবার চালানোর চেষ্টা করা হলে , অ্যাপ্লিকেশনটি সফলভাবে চলে এবং পরের বার এক্সপো ইউআই থেকে রান সাফল্যের সাথে চলে।


2

আমারও একি দশা.

প্রথমত, আমি অ্যাপটি আনইনস্টল করেছি। তারপরে, আমি অ্যান্ড্রয়েড স্টুডিও নেক্সট থেকে সরবরাহ করা অ্যান্ড্রয়েড এসডিকে জেনিমোশনটি নির্দেশ করেছিলাম, আমি টার্মিনালে "অ্যাডবি কিল-সার্ভার" চালিয়েছি। অবশেষে, আমি "রিএ্যাক্ট-নেটিভ রান-অ্যান্ড্রয়েড" পুনরায় চালিত করেছি এবং একটি বিল্ড সাফল্য পেয়েছি।


2

আমার জন্য কাজ করা পদক্ষেপগুলি হ'ল:

  • kill adb হত্যা-সার্ভার

  • b adb স্টার্ট সার্ভার

  • d সিডি অ্যান্ড্রয়েড

  • /। / গ্রেডলিউ ক্লিন

  • $ সিডি ..

  • native দেশীয় রান অ্যান্ড্রয়েড প্রতিক্রিয়া


2

উবুন্টুর জন্য

এটা আমার জন্য কাজ করে!!

  1. sys adb সংস্করণটি পরীক্ষা করুন

অ্যাডবি সংস্করণ

অ্যান্ড্রয়েড ডিবাগ ব্রিজ সংস্করণ 1.0.39

2 এসডিকে অ্যাডবি সংস্করণ পরীক্ষা করুন

সিডি / হোম / ব্যবহারকারীর নাম / অ্যান্ড্রয়েড / এসডিকে / প্ল্যাটফর্ম-সরঞ্জামগুলি

./adb সংস্করণ

অ্যান্ড্রয়েড ডিবাগ ব্রিজ সংস্করণ 1.0.32

  1. কপি

sudo সিপি / হোম / ব্যবহারকারীর নাম / অ্যান্ড্রয়েড / এসডিকে / প্ল্যাটফর্ম-সরঞ্জাম / অ্যাডবি / ইউএসআর / স্থানীয় / বিন

এখানেই শেষ! এটি এখন কাজ করবে।


1

1. জিনমোশনে কাস্টম এসডিকে পাথ ব্যবহার করুন ((ধরুন এটির কাজটি হবে না, দ্বিতীয়টি কার্যকর করার চেষ্টা করুন)

২.অনুষ্ঠানিকভাবে কার্যকর করতে এই কমান্ডটি ব্যবহার করুন (এসডিকে পাঠ / এডিবি তিনি স্টার্ট-এন / প্যাকেজের নাম / মেইনএকটিভিটি)।

সি: \ ব্যবহারকারীগণ \ অ্যাপডাটা \ স্থানীয় \ অ্যান্ড্রয়েড \ এসডিকে / প্ল্যাটফর্ম-সরঞ্জামগুলি / অ্যাডবি সে শুরু করবে- com.example / com.example.ManiActivity

এবং রিএ্যাক্ট-নেটিভ রান-অ্যান্ড্রয়েড ব্যবহার করে অ্যাপ্লিকেশনটি চালানোর চেষ্টা করুন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.