অ্যান্ড্রয়েড এমুলেটর দিয়ে প্রক্সি সেট আপ করুন

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

সঠিক প্রক্সি নির্বাচন করা

প্রক্সি কনফিগার করার আগে, দুটি ব্যবহারের ক্ষেত্রে বোঝা গুরুত্বপূর্ণ। অ্যান্ড্রয়েড সিস্টেম প্রক্সি অ্যাপ্লিকেশন ট্র্যাফিক পরিদর্শনের জন্য, যখন এমুলেটর প্রক্সি নেটওয়ার্ক সীমাবদ্ধতা নেভিগেট করার জন্য। এই দুটি প্রক্সি পারস্পরিকভাবে একচেটিয়া; আপনি একবারে কেবল একটি সক্রিয় করতে পারবেন।

বৈশিষ্ট্য অ্যান্ড্রয়েড সিস্টেম প্রক্সি এমুলেটর প্রক্সি
প্রাথমিক ব্যবহারের ক্ষেত্রে অ্যাপ ডিবাগিং ফায়ারওয়াল বাইপাস
অপারেটিং লেয়ার নেটওয়ার্ক স্তর অ্যাপ্লিকেশন স্তর
কনফিগারেশন অ্যান্ড্রয়েড সিস্টেম ওয়াই-ফাই সেটিংস UI এমুলেটর এক্সটেন্ডেড কন্ট্রোলস UI অথবা
-http-proxy পতাকা।
HTTPS ডিবাগিং হ্যাঁ - চার্লস প্রক্সির মতো সরঞ্জামগুলিকে অনুমতি দেয়
যখন একটি সার্টিফিকেট থাকে তখন ট্র্যাফিক আটকান
ইনস্টল করা হয়েছে।
না - একটি TCP টানেল তৈরি করে, প্রতিরোধ করে
SSL পরিদর্শন।
নন-HTTP/HTTPS পরিচালনা করে
ট্রাফিক
না - প্রাথমিকভাবে শুধুমাত্র HTTP পরিচালনা করে এবং
HTTPS ট্র্যাফিক।
হ্যাঁ - সমস্ত TCP ট্র্যাফিক ফরোয়ার্ড করে।

কেস ১ ব্যবহার করুন: অ্যান্ড্রয়েড সিস্টেম প্রক্সি দিয়ে অ্যাপ্লিকেশন ডিবাগিং

আপনার অ্যাপ্লিকেশনের নেটওয়ার্ক ট্র্যাফিক ডিবাগ করার জন্য, যেমন চার্লস প্রক্সির মতো একটি টুল দিয়ে HTTPS অনুরোধগুলি পরিদর্শন করার জন্য, আপনার Android System Proxy ব্যবহার করা উচিত।

এই প্রক্সিটি অ্যান্ড্রয়েড অপারেটিং সিস্টেমের মধ্যে অ্যাপ্লিকেশন স্তরে কাজ করে। এটি ডিবাগিং সরঞ্জামগুলিকে ট্র্যাফিক আটকাতে এবং পরিদর্শন করতে দেয়, তবে এর জন্য অনুকরণ করা ডিভাইসে প্রয়োজনীয় সুরক্ষা শংসাপত্র ইনস্টল করা প্রয়োজন।

অ্যান্ড্রয়েড সিস্টেম প্রক্সি সেট আপ করুন

কনফিগারেশন

আপনি দুটি উপায়ে অ্যান্ড্রয়েড সিস্টেম প্রক্সি কনফিগার করতে পারেন:

  1. ম্যানুয়াল কনফিগারেশন : এমুলেটরে, সেটিংস > নেটওয়ার্ক এবং ইন্টারনেট > ওয়াই-ফাই এ যান, আপনার নেটওয়ার্ক নির্বাচন করুন এবং ম্যানুয়ালি প্রক্সি সেটিংস প্রবেশ করান।
  2. অটোমেটেড কনফিগারেশন : আপনি প্রোগ্রাম্যাটিকভাবে অ্যান্ড্রয়েড সিস্টেম প্রক্সি কনফিগার করতে পারেন। এটি একটি ইন্সট্রুমেন্টেশন টেস্ট তৈরি করে করা হয় যা একটি UI অটোমেশন ফ্রেমওয়ার্ক ব্যবহার করে, যেমন UI Automator , যা অ্যান্ড্রয়েড সেটিংস অ্যাপ খুলতে এবং ম্যানুয়াল হস্তক্ষেপ ছাড়াই প্রক্সি কনফিগারেশন প্রয়োগ করতে পারে।

কেস ২ ব্যবহার করুন: এমুলেটর প্রক্সি ব্যবহার করে কর্পোরেট ফায়ারওয়ালগুলিকে বাইপাস করা

অনেক কর্পোরেট নেটওয়ার্কে, নেটওয়ার্ক প্রশাসকরা ইন্টারনেটের সাথে সরাসরি সংযোগ প্রত্যাখ্যান করেন এবং পরিবর্তে একটি নির্দিষ্ট প্রক্সির মধ্য দিয়ে যেতে হয়। এই ধরনের সীমাবদ্ধ নেটওয়ার্কের মধ্যে থেকে বহিরাগত সংস্থানগুলি অ্যাক্সেস করতে, আপনার এমুলেটর প্রক্সি ব্যবহার করা উচিত।

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

কনফিগারেশন

অ্যান্ড্রয়েড স্টুডিওর মধ্যে এমুলেটর ব্যবহার করার সময়, আপনি অ্যান্ড্রয়েড স্টুডিও মেনুতে ( Settings > Appearance & Behavior > System Settings > HTTP Proxy ) সেটিংস ব্যবহার করে একটি প্রক্সি কনফিগার করতে পারেন। আপনি অ্যান্ড্রয়েড স্টুডিও ডকুমেন্টেশনে অ্যান্ড্রয়েড স্টুডিও প্রক্সি সেট আপ করুন বিভাগে আরও বিশদ জানতে পারেন।

এমুলেটরটি স্বতন্ত্র ( অ্যান্ড্রয়েড স্টুডিওর বাইরে ) ব্যবহার করার সময়, আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে এমুলেটর প্রক্সি কনফিগার করতে পারেন:

  1. কমান্ড-লাইন ফ্ল্যাগ : -http-proxy <proxy> ফ্ল্যাগ দিয়ে কমান্ড লাইন থেকে এমুলেটরটি চালু করুন। <proxy> তথ্য http://<machineName>:<port> অথবা http://<username>:<password>@<machineName>:<port> ফর্ম্যাটে নির্দিষ্ট করা যেতে পারে।

    emulator -http-proxy http://<machineName>:<port>
    

    অথবা

    emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>
    
  2. এনভায়রনমেন্ট ভ্যারিয়েবল : আপনার প্রক্সি সেটিংসের সাহায্যে http_proxy এনভায়রনমেন্ট ভ্যারিয়েবল নির্ধারণ করুন। এমুলেটরটি স্টার্টআপে এই ভ্যারিয়েবলটি পরীক্ষা করে এবং যদি এটি সংজ্ঞায়িত করা হয় তবে স্বয়ংক্রিয়ভাবে এর মান ব্যবহার করে।

  3. এক্সটেন্ডেড কন্ট্রোলস : এমুলেটরের এক্সটেন্ডেড কন্ট্রোলস খুলুন, সেটিংস > প্রক্সিতে নেভিগেট করুন এবং ম্যানুয়ালি আপনার HTTP প্রক্সি কনফিগারেশনটি প্রবেশ করান। এমুলেটর ডিভাইসের জন্য এই সেটিংস সংরক্ষণ করে এবং পুনরায় চালু করার সময় সেগুলি পুনরুদ্ধার করে।

    এমুলেটর প্রক্সি সেট আপ করুন

এমুলেটর প্রক্সি নেটওয়ার্ক লেয়ারে কাজ করে। এটি TCP এর উপর HTTPS ট্র্যাফিক টানেল করে, কিন্তু এই ট্র্যাফিক ডিক্রিপশন ছাড়াই ফরোয়ার্ড করা হয়, যা HTTPS পরিদর্শনকে বাধা দেয়। এমুলেটর প্রক্সি UDP রিডাইরেকশন সমর্থন করে না।

অ্যান্ড্রয়েড স্টুডিওর সাথে মিথস্ক্রিয়া

আপডেট এবং লাইব্রেরি ডাউনলোড করার জন্য অ্যান্ড্রয়েড স্টুডিওর নিজস্ব প্রক্সি কনফিগারেশন ডায়ালগ রয়েছে। যখন আপনি অ্যান্ড্রয়েড স্টুডিও থেকে একটি এমুলেটর চালু করেন, তখন এটি একবার IDE এর প্রক্সি সেটিংস পড়বে এবং এমুলেটর প্রক্সি কনফিগারেশনটি পূরণ করবে। তবে, এই সেটিংস অ্যান্ড্রয়েড সিস্টেম প্রক্সিকে প্রভাবিত করে না