আমার প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশনটি ডিবাগ করার জন্য ডেভ মেনু আনতে আমি কীভাবে অ্যান্ড্রয়েড এমুলেটারের মধ্যে একটি Android ডিভাইস "ঝাঁকুনি" করব?


201

আমি একটি ক্রস প্ল্যাটফর্মের প্রতিক্রিয়া নেটিভ মোবাইল অ্যাপে কাজ করছি। আমি বিকাশ করার সাথে সাথে কনসোল.লগ বিবৃতি লিখছি। আমি ডিফল্ট অ্যান্ড্রয়েড এমুলেটরটিতে অ্যান্ড্রয়েড অ্যাপটি চালানোর সময় ক্রোমে এই লগিং স্টেটমেন্টগুলি দেখতে চাই। ফেসবুকের ডক্স অনুসারে আমার কেবল "ডিভাইসটি কাঁপানো" দরকার। অ্যান্ড্রয়েড এমুলেটরটিতে আমি এটি কীভাবে করব?

অ্যাপ্লিকেশন বিকাশকারী মেনু অ্যাক্সেস করতে:

আইওএসে ডিভাইসটি কাঁপুন বা সিমুলেটারে নিয়ন্ত্রণ + ⌘ + z চাপুন। অ্যান্ড্রয়েডে ডিভাইসটি কাঁপুন বা হার্ডওয়্যার মেনু বোতাম টিপুন (পুরানো> ডিভাইসগুলিতে এবং বেশিরভাগ এমুলেটরগুলিতে পাওয়া যায়, যেমন জেনিমোশনে আপনি হার্ডওয়ার মেনু বোতামে ক্লিক করে ⌘ + এম টিপতে পারেন)

উত্তর:


220

আপনার অ্যাপ্লিকেশনের মধ্যে অ্যান্ড্রয়েড এমুলেটরটিতে Command + Mওএসএক্স বা Ctrl + Mলিনাক্স এবং উইন্ডোজ টিপুন ।


2
দুঃখজনকভাবে F2 আর অ্যান্ড্রয়েড এমুলেটর 2 বিটাতে লিনাক্সে কাজ করে না। এখন কি?
জাজেপ্পান হোয়েসজেউস্কি

7
@ জাজিজেপানহোজিজেউসকি আমি এটি যুক্ত করতে চাই, বর্তমানে লিনাক্সে
সিটিটিএল

<kbd> এফ 1 </kbd>, ... <kbd> f12 </kbd> বেশিরভাগ কম্পিউটারে বিভ্রান্তিকর এবং টিপতে অসুবিধা
অ্যারিকান

223

এমুলেটরে একটি প্রতিক্রিয়া নেটিভ চলমান সহ,
প্রেস ctrl+ m(লিনাক্সের জন্য, আমি মনে করি এটি উইন্ডোজ এবং ম্যাক ওএস এক্সের জন্য + সমান m) বা টার্মিনালে নিম্নলিখিতটি চালান:

adb shell input keyevent 82

2
তাত্ক্ষণিকভাবে আমার পক্ষে কাজ করছেন না। আমাকে "সেটিংস" ("...")> সেটিংস> কীবোর্ড শরকটগুলি> এমুলেটর নিয়ন্ত্রণগুলিতে (ভার্চুয়াল ডিভাইস নয়) প্রেরণ করা দরকার ছিল তখন এটি কার্যকর হয়েছিল।
রায়ান Kelll

ctrl + m লিনাক্সে কাজ করে না। এই অ্যাডবি শেল কমান্ডটি এমনকি যদি আমি শর্টকাট পছন্দ করি তবে কাজ করে .... অনুমান করুন যে আমি এই কমান্ডটি আরম্ভ করতে পারি যদি আমি অন্য কোনও উপায় না খুঁজে পাই তবে
লরেন্ট

একটি ডিভাইস নির্দিষ্ট করতে adb -s <device id/serial> shell input keyevent 82। আমি একটি এমুলেটর এবং একটি শারীরিক ডিভাইস উভয় ব্যবহার করার সময় এটি ব্যবহার করি।
গ্রিসাইটিস

79

আপনি যদি অ্যান্ড্রয়েড স্টুডিও ২.০ সহ নতুন এমুলেটর ব্যবহার করেন তবে জেনোমোশনের মতো মেনু কীটির কীবোর্ড শর্টকাট এখন সিএমডি + এম।

বিকল্পভাবে, আপনি সর্বদা adbএকটি টার্মিনাল ব্যবহার করে মেনু বোতাম টিপুন :

adb shell input keyevent KEYCODE_MENU

এছাড়াও নোট করুন যে মেনু বোতাম শর্টকাট একটি কঠোর প্রয়োজনীয়তা নয়, এটি কেবল ReactActivityজাভা শ্রেণীর সরবরাহিত ডিফল্ট আচরণ (যা আপনি যদি আপনার প্রকল্পটি তৈরি করেন তবে এটি ডিফল্টরূপে ব্যবহৃত হয় react-native init)। এখানে থেকে প্রাসঙ্গিক কোড আছে onKeyUpমধ্যে ReactActivity.java:

if (keyCode == KeyEvent.KEYCODE_MENU) {
  mReactInstanceManager.showDevOptionsDialog();
  return true;
}

আপনি যদি কোনও বিদ্যমান অ্যাপ্লিকেশনটিতে প্রতিক্রিয়া নেটিভ যোগ করছেন ( এখানে ডকুমেন্টেশন ) এবং আপনি ব্যবহার করছেন না ReactActivity, আপনাকে একইভাবে মেনু বোতামটি হুক করতে হবে। আপনি ReactInstanceManager.showDevOptionsDialogঅন্য যে কোনও প্রক্রিয়া মাধ্যমে কল করতে পারেন । উদাহরণস্বরূপ, আমি যে অ্যাপটিতে কাজ করছি তাতে আমি একটি ডিভ-অ্যাকশন বার মেনু আইটেম যুক্ত করেছি যা মেনুটি উপস্থিত করে, যেহেতু আমি কোনও শারীরিক ডিভাইসে কাজ করার সময় ডিভাইসটি কাঁপানোর চেয়ে বেশি সুবিধাজনক বলে মনে করি।


এটি আমার এমআইআইআইতে এমআইইউআইতে কাজ করছে না। এটি কেবল অ্যাপ ট্রেটি নিয়ে আসে। অন্য কোন সমাধান আছে? আমার ল্যাপটপের বিষ্ঠা ধীর করে দেওয়ার কারণে আমি কোনও ইমুলেটরটিতে এটি চালাতে চাই না
শ্রেয়ানস

মনে হয় মিউইয়ের সাথে নির্দিষ্ট অন্যান্য সমস্যা রয়েছে। বিজ্ঞপ্তি অনুমতি সক্ষম করার পরে আমি এখন মেনু পেতে ডিভাইসটি কাঁপতে পারি। অন্য ক্ষেত্রে কেহ এই থ্রেড পরীক্ষা MIUI সমস্যা হচ্ছে না github.com/facebook/react-native/issues/2754
Shreyans

এই সমস্ত জিনিস কীভাবে কাজ করে সে সম্পর্কে আরও বিশদ যুক্ত করার জন্য আমি আমার পোস্টটি সম্পাদনা করেছি, যা আপনাকে সমস্যার সমাধানে সহায়তা করতে পারে। আমার সেরা অনুমান আপনি হ'ল আপনি ReactActivityঅন্য উপায়ে মেনু বোতামটি ব্যবহার করেন নি এবং তা ব্যবহার করেননি।
অ্যালান পিয়ার্স

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

1
প্রতিক্রিয়াশীলতা সম্পর্কে দুর্দান্ত টিপ। দেখে মনে হচ্ছে যে কোডটি এখন ReactActivityDelegate.java- এ সরানো হয়েছে
রায়ান এইচ

20

'সিটিআরএল + এম' অ্যান্ড্রয়েড এমুলেটরটিতে উইন্ডোজকে রিএ্যাক্ট-নেটিভ বিকাশকারী মেনু আনতে কাজ করে।

এই নথিটি কোথাও খুঁজে পেল না। এখানে আমার পথ খুঁজে পেয়েছি, বিশ্রাম নিয়েছে ... সুখের শোক।

উপায় দ্বারা: ওপি: আপনি কী ওএস চালু ছিল তা উল্লেখ করেননি।


14

লিনাক্সের জন্য আপনি এমুলেটরটির পাশে তিনটি বিন্দু "..." ক্লিক করুন, ভার্চুয়াল সেন্সরগুলিতে "সরান" পরীক্ষা করুন এবং তারপরে এক্স, ওয়াই বা জেড স্থানাঙ্কগুলি দ্রুত সরিয়ে চেষ্টা করুন।

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


4
প্রকৃতপক্ষে, আমার জন্য কাজ করা একমাত্র সমাধানটি স্থির করে।
DsCpp

1
আপনি প্রদর্শিত উইন্ডোতে ডিভাইস গ্রাফিক ক্লিক করতে পারেন এবং এটিকে চারপাশে টেনে আনতে পারেন।
ব্রিজিমেথ

10

ওএসএক্সের জন্য 'কমান্ড + এম' আমার পক্ষে কাজ করছে।


8

আমি ম্যাক ওএসে আছি তাই যখন আমি কমান্ড টিপব তখন এটি জুমিং বিকল্পটি সক্ষম করে। এখানে আমার সমাধান

  • কনফিগারেশন উইন্ডো খুলুন [...] বোতাম
  • যান Settingsট্যাব -> Generalট্যাব ->Send keyboard shortcuts to ক্ষেত্র
  • Virtual device"ছবিতে প্রদর্শিত হিসাবে মান পরিবর্তন করুন

এর পরে এমুলেটরটিতে ফোকাস এবং কমান্ড + এম টিপুন, ডেভ মেনু প্রদর্শিত হবে।

এমুলেটর বিকল্প -> সেটিংস -> সাধারণ


4

command + m(cmd + M)ম্যাক ব্যবহার করুন। এছাড়াও make sure that you are accessing your application while you try to access the Debug Menuঅর্থাত্ আপনার অ্যাপ্লিকেশনটি চলতে Cmd + Mহবে অন্যথায় কেবল সাধারণ ফোন মেনুটি ফিরে আসবে।


4

নেটিভ অ্যাপ্লিকেশনগুলির প্রতিক্রিয়া বিকাশের সময় আমরা টার্মিনালের সাথে এতটা খেলি

তাই আমি প্যাকেজ.জসন ফাইলের স্ক্রিপ্টগুলিতে একটি স্ক্রিপ্ট যুক্ত করেছি

"মেনু": "অ্যাডবি শেল ইনপুট কেভেন্ট 82"

এবং আমি arn সুতা মেনুতে হিট করেছি

এমুলেটরটিতে মেনুটি উপস্থিত হওয়ার জন্য এটি এডিবি এর মাধ্যমে এমুলেটরের কাছে কী-কোড forward২ ফরোয়ার্ড করবে সর্বোত্তম উপায় নয় তবে আমি এটি পছন্দ করি এবং এটি ভাগ করে নিতে অনুভব করেছি।

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


2

লিনাক্সে সিটিআরএল + এম কাজ করা উচিত তবে সমস্যাটি সমাধানের জন্য এটি (...) (এর প্রসারিত নিয়ন্ত্রণগুলি) ক্লিক করুন এবং তারপরে সেই উইন্ডোটি বন্ধ করুন now আপনি ctrl + m দ্বারা মেনু খুলতে পারবেন। তারপর:

  1. (...) এর সম্প্রসারিত নিয়ন্ত্রণগুলিতে ক্লিক করুন

  2. বর্ধিত নিয়ন্ত্রণ বন্ধ করুন

  3. Ctrl + M


1

এটি সরাসরি সমাধান নাও হতে পারে তবে আমি এমন একটি লিবি তৈরি করেছি যা আপনাকে কাঁপানোর পরিবর্তে 3 টি আঙুলের স্পর্শ ব্যবহার করতে দেয় ডেভেলপ মোডে থাকা অবস্থায় আপনাকে মেনু খুলতে শেকের

https://github.com/pie6k/react-native-dev-menu-on-touch

আপনাকে কেবল আপনার অ্যাপ্লিকেশনটি ভিতরে rapেকে রাখতে হবে:

'রিএ্যাক্ট-নেটিভ-দেব-মেনু-অন-টাচ' থেকে DevMenuOnTouch আমদানি করুন; // বা: 'রিয়েল-নেটিভ-ডেভ-মেনু-অন-টাচ' থেকে import DevMenuOnTouch import আমদানি করুন

class YourRootApp extends Component {
  render() {
    return (
      <DevMenuOnTouch>
        <YourApp />
      </DevMenuOnTouch>
    );
  }
}

এটি সত্যই কার্যকর যখন আপনাকে সত্যিকারের ডিভাইসটি ডিবাগ করতে হয় এবং আপনার পাশে সহকর্মীরা বসে থাকে।


1

আমি via এর মাধ্যমে একটি রিলিজ বিল্ড চেষ্টা করছিলাম adb install -r -d <app-release>.apk🤦

আপনি ডিবাগ বিল্ডটি চালাচ্ছেন তা নিশ্চিত করুন , তারপরে মেনুটি শর্টকাট বা সি এল এলির মাধ্যমে কাজ করবে।


-1

উইন্ডোজ ল্যাপটপের জন্য fn কী + নিয়ন্ত্রণ + মি

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