রিমোট ডিবাগারটির সাথে সংযোগ করতে অক্ষম


149

আমি React.JS ব্যবহার করছি এবং যখন আমি করি react-native run-android(আমার ডিভাইসটি প্লাগ ইন করা আছে) আমি একটি ফাঁকা পৃষ্ঠা দেখতে পাচ্ছি। আমি যখন ডিভাইসটি কাঁপিয়ে তুলি এবং Debug JS Remotelyবিকল্প তালিকাটি থেকে নির্বাচন করি আমি নীচের স্ক্রিনটি দেখতে পাচ্ছি।

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

অবগতির জন্য:

OS: Ubuntu 16.04
Node version is: v4.6.2
java version "1.8.0_111"
react": "15.4.1
react-native": "0.38.0

1
অ্যান্ড্রয়েডে react-native startসার্ভার শুরু করার জন্য আপনাকে একটি পৃথক উইন্ডোতে চালানো দরকার ।
আলেকসন্দর পপোভিচ

এটি পরিবর্তন সম্পর্কে কী: compile "com.facebook.react:react-native:+"সংকলন বিভাগে।
শয়তান পান্ডেয়া

আপনার ডেভ মেনুতে "ডিবাগ" সক্ষম করা উচিত
ইউএ_

উত্তর:


280

আমার ক্ষেত্রে বিষয়টি ছিল এমুলেটরটি একটি অনুরোধ করছিল:

http://10.0.2.2:8081/debugger-ui

পরিবর্তে:

http://localhost:8081/debugger-ui এবং অনুরোধটি ব্যর্থ হয়েছিল।

সমস্যাটি সমাধান করার জন্য: আপনার এমুলেটরটিতে দূরবর্তী ডিবাগিং সক্ষম করার আগে , http://localhost:8081/debugger-uiক্রোমে খুলুন । তারপরে রিমোট ডিবাগিং সক্ষম করুন এবং ক্রোম পৃষ্ঠায় ফিরে যান যেখানে আপনার কনসোল লগগুলি দেখতে হবে।


1
আমার জন্য কাজ - thx! প্রথমে ক্রোম ট্যাবটি খুলতে না এড়াতে আপনি সর্বদা লোকালহোস্টের সাথে সংযোগ স্থাপনের চেষ্টা করার সেট করার কোনও উপায় খুঁজে পেয়েছেন?
izikandrw

26
আপনি আপনার এমুলেটরটিতে ডেভ সেটিংসে (Ctrl + M) যেতে পারেন এবং ডিবাগ সার্ভারকে 'লোকালহোস্ট: 8081' এ পরিবর্তন করতে পারেন।
ড্যানিমোশে

শেষ অনুচ্ছেদটি আমার পক্ষে কাজ করেছে।
পেড্রো ওটারো

3
ধন্যবাদ. এটি প্রথম স্থানে 10.0.2.2 এ সেট হবে কীভাবে?
চার্লিব

3
আপনার এমুলেটর থেকে তৈরি 'লোকালহোস্ট'-এর একটি অনুরোধ আপনার পিসিতে নয়, এমুলেটরটিতে লুপব্যাক পোর্ট অ্যাক্সেস করার চেষ্টা করবে (আপনি আপনার পিসির লুপব্যাক চান)। এটি সমাধানের জন্য, অ্যান্ড্রয়েড আপনাকে আপনার পিসিতে চলমান পরিষেবাগুলিতে অ্যাক্সেস করার অনুমতি দেওয়ার জন্য 10.0.2.2 নামটি তৈরি করে (দেখুন ডেভেল রেফারেন্সের জন্য developer.android.com/studio/run/emulator- নেটওয়ার্কিং )। যতক্ষণ না অনুরোধটি নিশ্চিত না হ'ল তবে এটি মনে হয় এটি প্রতিক্রিয়া / অ্যান্ড্রয়েডের সাথে একটি ডকুমেন্টেড ইস্যু github.com/facebook/react-native/issues/17970 দেখুন
ড্যানিমোশে

181

নিম্নলিখিত সমস্যার সমাধান:

  • Cmd + Mএমুলেটর স্ক্রিনে টিপুন
  • যাও Dev settings > Debug server host & port for device
  • সেট localhost:8081
  • অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি পুনরায় চালু করুন: react-native run-android

ডিবাগার এখন সংযুক্ত!


আপনারা যাদের সিএমডি + এম বোতামটি কাজ না করে সমস্যা রয়েছে তাদের জন্য, আমি './adb শেল ইনপুট কীভেন্ট 82' শেলটিতে ব্যবহার করেছি যেখানে এটি ট্রিবিড করার জন্য অবস্থিত b শর্টকাট কীগুলি তার পরে কাজ শুরু করে!
জেফ এল

আপনি স্যার একটি রক্তাক্ত কিংবদন্তি। এক্স
নিউবিএইড

এখন এটি কেবল
চিরকালীন

44

আমি এটি করার adb reverse tcp:8081 tcp:8081পরে reloadএবং আমার ফোনে সমাধান করেছি ।


36

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

  • চালান adb reverse tcp:8081 tcp:8081
  • http://localhost:8081/debugger-uiআমার ক্রোম ব্রাউজারের ঠিকানা ক্ষেত্রে আটকান । আপনার স্বাভাবিক ডিবাগিং স্ক্রিনটি দেখতে হবে তবে আপনার অ্যাপ্লিকেশনটি এখনও সংযুক্ত হবে না।

যে সমস্যাটি সমাধানের উচিত। যদি তা না হয় তবে আপনাকে নিম্নলিখিত অতিরিক্ত পদক্ষেপ গ্রহণ করতে হবে:

  • আপনার অ্যান্ড্রয়েড ডিভাইস থেকে অ্যাপটি বন্ধ এবং আনইনস্টল করুন
  • এর সাথে অ্যাপটি পুনরায় ইনস্টল করুন react-native run-android
  • আপনার অ্যাপে দূরবর্তী ডিবাগিং সক্ষম করুন।
  • আপনার অ্যাপটি এখন ডিবাগারের সাথে সংযুক্ত হওয়া উচিত।

2
টম ... আপনাকে ধন্যবাদ! এর আগে আমি আমার আইপি ঠিকানা ("দেব সেটিংস" -> "ডিভাইসের জন্য ডিবাগ সার্ভার হোস্ট") xxxx: 8081
এট্রিওন

11

আমার একটি অনুরূপ সমস্যা ছিল যা আমাকে এই প্রশ্নের দিকে নিয়ে গিয়েছিল। আমার ব্রাউজার ডিবাগারে আমি এই ত্রুটি বার্তাটি পেয়েছিলাম:

' Http: // লোকালহোস্ট: 8081 / index.delta? প্ল্যাটফর্ম = অ্যান্ড্রয়েড এবং দেব = সত্য এবং মিনিফাই = মিথ্যা ' উত্স থেকে ' http://127.0.0.1:8081 ' এ CORS নীতি দ্বারা অবরুদ্ধ করা হয়েছে: কোনও 'অ্যাক্সেস-নিয়ন্ত্রণ অনুরোধ করা সংস্থানটিতে -অ্যালও-অরিজিনের শিরোনাম উপস্থিত রয়েছে। যদি কোনও অস্বচ্ছ প্রতিক্রিয়া আপনার প্রয়োজনগুলি সরবরাহ করে তবে অনুরোধের মোডটি 'নো-কর্স' এ সেট করুন CORS অক্ষম করে রিসোর্স আনতে।

আমি আমার ডিবাগারের 127.0.0.1:8081পরিবর্তে ব্যবহার করছি তা বুঝতে আমার কিছুটা সময় লেগেছে localhost:8081

এটি ঠিক করার জন্য, আমাকে কেবল ক্রম থেকে এটিকে পরিবর্তন করতে হয়েছিল:

http://127.0.0.1:8081/debugger-ui/

প্রতি

http://localhost:8081/debugger-ui/

1
আসলে আমার জন্য বিপরীত ছিল। তবে বাস্তবে "লোকালহোস্ট" সাধারণত 127.0.0.1 এর সমান। এটি স্থানীয় হোস্ট হিসাবে ঠিকানার জন্য কী সেট করা আছে তার উপর নির্ভর করে। যদিও সর্বদা সুস্পষ্টভাবে বলা ভাল
কারমিন তম্বাসিয়া

2

নিশ্চিত হয়ে নিন যে বান্ডিলটি সরবরাহ করার নোড সার্ভারটি পটভূমিতে চলছে is সার্ভারটি চালানোর জন্য ব্যবহার করুন npm startবা react-native startবিকাশের সময় ট্যাবটি খোলা রাখুন


1
এখনও কাজ করে না।
উভয়ই

1
আপনি কি
চার্লসের

না, আমি কোনও প্রক্সি চালাচ্ছি না
বিভক্ত

2

আমার কেসটি হ'ল আমি যখন রিমোট জেএস ডিবাগিং সক্ষম করব তখন এটি ক্রোম চালু করবে, তবে এটির সাথে সংযোগ স্থাপন করতে পারে না।

আমি চালানোর চেষ্টা করেছি:

adb reverse tcp:8081 tcp:8081 

, কিন্তু কাজ হয়নি।

আমি আমার ক্রোমটি পুরোপুরি আনইনস্টল করে একটি নতুন ইনস্টল করেছি। এবং এটি কাজ করে।


1
  1. স্থানীয় ট্যাবটিতে রিসেট-নেটিভ শুরু - রিসেট-ক্যাশে এবং অন্যটিতে নেটিভ রান-অ্যান্ড্রয়েডকে প্রতিক্রিয়া জানান
  2. অ্যাডবি বিপরীত টিসিপি: 8081 টিসিপি: 8081 (যাতে আপনি এটি আপনার স্ক্রিপ্টগুলিতে যুক্ত করতে পারেন এবং সুতা চালানোর জন্য অ্যাডবি-রিভার্স চালাতে পারেন )
  3. আপনি যদি অ্যান্ড্রয়েড ব্যবহার করছেন তবে আপনার ফোনটি কাঁপানোর পরিবর্তে একটি দুর্দান্ত টিপ হ'ল অ্যাডবি কমান্ডগুলি।

সুতরাং আপনি চালাতে পারেন:

  • অ্যাডবি শেল ইনপুট কিয়েভেন্ট 82 ( মেনু বিকল্প )
  • অ্যাডবি শেল ইনপুট কেভেন্ট 46 46 ( পুনরায় লোড )

1

এখানে অন্যান্য উত্তরগুলি আমার জন্য একটি গুরুত্বপূর্ণ পদক্ষেপ অনুপস্থিত ছিল। অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল-এ আমার ক্লিয়ারটেক্সট ট্র্যাফি ব্যবহারের দরকার ছিল:

    <application
      ...
      android:usesCleartextTraffic="true">

আপনি যদি অনিরাপদ HTTP অনুরোধগুলি সমর্থন না করতে চান তবে আপনি সম্ভবত আপনার অ্যাপটির প্রযোজনা রিলিজে রাখতে চান না।

আমি এটিকে আমার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএলে যুক্ত করার পরে, পরে আমি টম আরান্দার উত্তর অনুসরণ করেছি এবং এমুলেটরটি শেষ পর্যন্ত ডিবাগারের সাথে সংযোগ করতে সক্ষম হয়েছিল।


0

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

#!/usr/bin/env bash

# packager
adb reverse tcp:8081 tcp:8081
adb -d reverse tcp:8081 tcp:8081
adb -e reverse tcp:8081 tcp:8081

echo "🚧 React Native Packager Redirected 🚧"

0

আপনার অ্যাপ্লিকেশন আনইনস্টল করুন, তারপরে দেশীয় রান-অ্যান্ড্রয়েড প্রতিক্রিয়া চালান। তারপরে ক্রোমে রিপ্লেজ করুন http: // লোকালহোস্ট: 8081 / ডিবাগার-ইউআই / , এন্ড রান চালিয়ে নেটিভ রান-অ্যান্ড্রয়েড এ ডিবাগিং এন্ড ক্লিক করুন । আপনি যদি এখনও সফল না হন তবে আবার চেষ্টা করুন


0

বিশেষজ্ঞ বিকাশকারীদের বিশেষভাবে Ribamar Santosপ্রদত্ত সমস্ত চিত্তাকর্ষক উত্তর জোগানো, আপনি যদি এটি কাজ না করে থাকেন তবে আপনাকে আরও জটিল কিছু পরীক্ষা করতে হবে!

Airplane modeআপনার (এমুলেটেড) ফোনের মতো কিছু ! অথবা আপনার network status of Emulator( Data status and Voice status on Cellular tab of Emulator configuration) এটিকে নেটওয়ার্ক প্রকাশ না করার জন্য চালিত করা যেতে পারে! কিছু অনুকরণ প্রয়োজন!

আমি এই কৌশল দ্বারা এই সমস্যা কাটিয়ে উঠেছে! এই গর্তটি খুঁজে পেতে এটি কিছুটা শ্বাসরুদ্ধকর ডিবাগ ছিল!


0

আমার ক্ষেত্রে এটি এনপিএম প্যাকেজ ইনস্টল করা দরকার

সুতরাং

npm install react-native-debugger -g

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