পরিবেশ পরিবর্তনশীল

আপনি পরিবেশের ভেরিয়েবল সেট করে অ্যান্ড্রয়েড স্টুডিও এবং কমান্ড-লাইন সরঞ্জামগুলির আচরণ কনফিগার করতে পারেন। সেট করার জন্য সবচেয়ে দরকারী পরিবেশ ভেরিয়েবলগুলির মধ্যে একটি হল ANDROID_HOME , যা অনেক টুলগুলি Android SDK ইনস্টলেশন ডিরেক্টরি নির্ধারণ করতে পড়ে৷ এক্সিকিউটেবলের সম্পূর্ণ পাথ অন্তর্ভুক্ত না করেই কমান্ড লাইন থেকে টুলগুলি চালানোর জন্য, আপনার কমান্ড সার্চ পাথ এনভায়রনমেন্ট ভেরিয়েবলকে ANDROID_HOME /tools , ANDROID_HOME /tools/bin , এবং ANDROID_HOME /platform-tools অন্তর্ভুক্ত করতে সেট করুন।

পরিবেশ ভেরিয়েবল কিভাবে সেট করতে হয়

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

উইন্ডোজ: একটি টার্মিনাল উইন্ডোতে, নিম্নলিখিতটি টাইপ করুন:

set HTTP_PROXY=myserver:1981

বিকল্পভাবে, Windows UI এর মাধ্যমে এটি যোগ করুন। কিভাবে জানার জন্য আপনার Windows এর সংস্করণের জন্য ডকুমেন্টেশন চেক করুন।

macOS এবং Linux: পরিবেশ ভেরিয়েবল সেট করার সুনির্দিষ্ট পদ্ধতি নির্ভর করে আপনি কোন শেল ব্যবহার করছেন তার উপর। কোন শেল টাইপ চলছে তা নির্ধারণ করতে, নিম্নলিখিত টাইপ করুন:

echo $0

Gnu Bash বা Zsh এর মতো শেলগুলিতে, ভেরিয়েবলগুলি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে সেট করা হয়:

export VARIABLE_NAME=<new-value>

অন্যান্য শেলগুলিতে, যেমন TCSH , ভেরিয়েবলগুলি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে সেট করা হয়:

setenv VARIABLE_NAME <new-value>

প্রতিবার নতুন শেল ইনস্ট্যান্স চালানোর সময় ভেরিয়েবল সেট করতে এই কমান্ডগুলি শেল ইনিশিয়ালাইজেশন স্ক্রিপ্টে যোগ করা যেতে পারে।

শেল ইনিশিয়ালাইজেশন স্ক্রিপ্টের অবস্থান শেল ব্যবহৃত হওয়ার উপর নির্ভর করে। Gnu ব্যাশের জন্য, অবস্থান ~/.bash_profile হতে পারে। Zsh-এর জন্য, অবস্থান ~/.zprofile হতে পারে। TCSH-এর জন্য, অবস্থান ~/.cshrc হতে পারে। আপনি নিশ্চিত হতে যে শেল ব্যবহার করছেন তার জন্য ডকুমেন্টেশন চেক করুন।

আপনি টুল অবস্থানগুলি অন্তর্ভুক্ত করতে PATH পরিবেশ পরিবর্তনশীল আপডেট করতে পারেন।

Gnu Bash বা Zsh এর জন্য:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
  

এবং TCSH এর জন্য:

setenv ANDROID_HOME ~/Library/Android/sdk
setenv PATH $PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
  

ভেরিয়েবল রেফারেন্স

নিম্নলিখিত সারণীটি Android SDK সরঞ্জামগুলির জন্য সাধারণত ব্যবহৃত পরিবেশের ভেরিয়েবলগুলি বর্ণনা করে৷

সারণী 1. পরিবেশ ভেরিয়েবল

Android SDK এনভায়রনমেন্ট ভেরিয়েবল
ANDROID_HOME SDK ইনস্টলেশন ডিরেক্টরির পাথ সেট করে। একবার সেট করা হলে, মানটি সাধারণত পরিবর্তন হয় না এবং একই মেশিনে একাধিক ব্যবহারকারীর দ্বারা ভাগ করা যেতে পারে। ANDROID_SDK_ROOT , যা SDK ইনস্টলেশন ডিরেক্টরির দিকেও নির্দেশ করে, অবহেলিত। আপনি এটি ব্যবহার করা চালিয়ে গেলে, অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন পরীক্ষা করবে যে পুরানো এবং নতুন ভেরিয়েবল সামঞ্জস্যপূর্ণ।
ANDROID_USER_HOME Android SDK-এর অংশ এমন সরঞ্জামগুলির জন্য ব্যবহারকারীর পছন্দ ডিরেক্টরির পথ সেট করে৷ $HOME/.android/ এ ডিফল্ট।

কিছু পুরানো টুল, যেমন Android Studio 4.3 এবং তার আগের, ANDROID_USER_HOME পড়ে না। সেই পুরানো টুলগুলির জন্য ব্যবহারকারীর পছন্দের অবস্থানকে ওভাররাইড করতে, ANDROID_SDK_HOME মূল ডিরেক্টরিতে সেট করুন যেটির অধীনে আপনি .android ডিরেক্টরি তৈরি করতে চান৷

REPO_OS_OVERRIDE আপনি বর্তমান মেশিন থেকে ভিন্ন অপারেটিং সিস্টেমের জন্য প্যাকেজ ডাউনলোড করতে sdkmanager ব্যবহার করার সময় windows , macosx , বা linux এ এই ভেরিয়েবল সেট করুন।
অ্যান্ড্রয়েড স্টুডিও কনফিগারেশন এনভায়রনমেন্ট ভেরিয়েবল
অ্যান্ড্রয়েড স্টুডিও কনফিগারেশন ভেরিয়েবলে সেটিংস থাকে যা কনফিগারেশন ফাইলের অবস্থান এবং JDK কাস্টমাইজ করে। স্টার্টআপে, অ্যান্ড্রয়েড স্টুডিও সেটিংসের জন্য এই ভেরিয়েবলগুলি পরীক্ষা করে। আরও তথ্যের জন্য, Android স্টুডিও কনফিগার করুন দেখুন।
STUDIO_VM_OPTIONS studio.vmoptions ফাইলের অবস্থান সেট করে। এই ফাইলটিতে এমন সেটিংস রয়েছে যা Java HotSpot ভার্চুয়াল মেশিনের কার্যকারিতা বৈশিষ্ট্যগুলিকে প্রভাবিত করে৷ এই ফাইলটি অ্যান্ড্রয়েড স্টুডিও থেকেও অ্যাক্সেস করা যেতে পারে। আপনার VM বিকল্পগুলি কাস্টমাইজ করুন দেখুন।
STUDIO_PROPERTIES idea.properties ফাইলের অবস্থান নির্ধারণ করে। এই ফাইলটি আপনাকে অ্যান্ড্রয়েড স্টুডিও আইডিই বৈশিষ্ট্যগুলিকে কাস্টমাইজ করতে দেয়, যেমন ব্যবহারকারীর ইনস্টল করা প্লাগইনগুলির পথ এবং IDE দ্বারা সমর্থিত সর্বাধিক ফাইলের আকার৷ আপনার IDE বৈশিষ্ট্য কাস্টমাইজ দেখুন।
STUDIO_JDK অ্যান্ড্রয়েড স্টুডিও যে JDK-এ চলে তার অবস্থান সেট করে৷ আপনি যখন IDE চালু করেন, তখন এটি STUDIO_JDK , JDK_HOME , এবং JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবলগুলিকে সেই ক্রমে চেক করে৷
STUDIO_GRADLE_JDK অ্যান্ড্রয়েড স্টুডিও গ্রেডল ডেমন শুরু করতে ব্যবহার করে JDK-এর অবস্থান সেট করে। আপনি যখন IDE চালু করেন, এটি প্রথমে STUDIO_GRADLE_JDK চেক করে। STUDIO_GRADLE_JDK সংজ্ঞায়িত না হলে, IDE প্রকল্পের কাঠামো সেটিংসে সেট করা মান ব্যবহার করে।
এমুলেটর পরিবেশ ভেরিয়েবল
ডিফল্টরূপে, এমুলেটর কনফিগারেশন ফাইল $HOME/.android/ এর অধীনে এবং AVD ডেটা $HOME/.android/avd/ অধীনে সংরক্ষণ করে। আপনি নিম্নলিখিত পরিবেশ ভেরিয়েবল সেট করে ডিফল্ট ওভাররাইড করতে পারেন। emulator -avd <avd_name> কমান্ড $ANDROID_AVD_HOME , $ANDROID_USER_HOME/avd/ , এবং $HOME/.android/avd/ মানগুলির ক্রম অনুসারে avd ডিরেক্টরি অনুসন্ধান করে।

এমুলেটর পরিবেশ পরিবর্তনশীল সহায়তার জন্য, কমান্ড লাইনে emulator -help-environment টাইপ করুন। emulator কমান্ড-লাইন বিকল্প সম্পর্কে তথ্যের জন্য, কমান্ড লাইন থেকে এমুলেটর শুরু করুন দেখুন।

ANDROID_EMULATOR_HOME ব্যবহারকারী-নির্দিষ্ট এমুলেটর কনফিগারেশন ডিরেক্টরির পাথ সেট করে। $ANDROID_USER_HOME এ ডিফল্ট।

পুরানো টুল, যেমন Android Studio 4.3 এবং তার আগের, ANDROID_USER_HOME পড়ে না। এই টুলগুলির জন্য, ডিফল্ট মান হল $ANDROID_SDK_HOME/.android

ANDROID_AVD_HOME সমস্ত AVD-নির্দিষ্ট ফাইল ধারণ করে এমন ডিরেক্টরির পাথ সেট করে, যার বেশিরভাগই খুব বড় ডিস্কের ছবি থাকে। ডিফল্ট অবস্থান হল $ANDROID_EMULATOR_HOME/avd/ । ডিস্কে ডিফল্ট অবস্থান কম থাকলে আপনি একটি নতুন অবস্থান নির্দিষ্ট করতে চাইতে পারেন।
অ্যান্ড্রয়েড এমুলেটর যখন এটি শুরু হয় তখন নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি জিজ্ঞাসা করে:
ANDROID_LOG_TAGS ANDROID_LOG_TAGS দেখুন।
HTTP_PROXY

একটি বিশ্বব্যাপী HTTP প্রক্সির জন্য HTTP/HTTPS প্রক্সি সেটিং রয়েছে৷ হোস্ট এবং পোর্টের মধ্যে একটি কোলন (:) বিভাজক ব্যবহার করে। উদাহরণস্বরূপ, set HTTP_PROXY=myserver:1981

কমান্ড লাইন থেকে এমুলেটর চালানোর সময় এটি -http-proxy proxy আর্গুমেন্ট উল্লেখ করার মতই।

ANDROID_VERBOSE ANDROID_VERBOSE দেখুন।
ANDROID_HOME ANDROID_HOME দেখুন।
ANDROID_EMULATOR_USE_SYSTEM_LIBS 0 (ডিফল্ট) বা 1 এর একটি মান ধারণ করে। 1 এর মান মানে সিস্টেমের libstdc++.so ফাইলটি এমুলেটরের সাথে বান্ডিল করা ফাইলের পরিবর্তে ব্যবহার করা হয়। একটি সিস্টেম লাইব্রেরি সমস্যার কারণে আপনার লিনাক্স সিস্টেমে এমুলেটর শুরু না হলেই এই পরিবেশ পরিবর্তনশীল সেট করুন। উদাহরণস্বরূপ, কিছু লিনাক্স রেডিয়ন জিএল ড্রাইভার লাইব্রেরিতে আরও সাম্প্রতিক libstdc++.so ফাইল প্রয়োজন।
দ্রুত এমুলেটর (QEMU) অডিও
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV লিনাক্সে, আপনি QEMU_AUDIO_DRV এনভায়রনমেন্ট ভেরিয়েবলকে নিম্নলিখিত মানগুলির মধ্যে একটিতে সেট করে এমুলেটরের ডিফল্ট অডিও ব্যাকএন্ড পরিবর্তন করতে পারেন:
  • alsa : অ্যাডভান্সড লিনাক্স সাউন্ড আর্কিটেকচার (ALSA) ব্যাকএন্ড ব্যবহার করুন
  • esd : আলোকিত সাউন্ড ডেমন (EsounD) ব্যাকএন্ড ব্যবহার করুন
  • sdl : সিম্পল ডাইরেক্টমিডিয়া লেয়ার (SDL) অডিও ব্যাকএন্ড ব্যবহার করুন (কোন অডিও ইনপুট সমর্থিত নয়)
  • oss: : ওপেন সাউন্ড সিস্টেম (OSS) ব্যাকএন্ড ব্যবহার করুন
  • none: : অডিও সমর্থন করে না
set QEMU_AUDIO_DRV=alsa

আপনি QEMU_AUDIO_OUT_DRV এবং QEMU_AUDIO_IN_DRV পরিবেশ ভেরিয়েবলের জন্য QEMU মানগুলির মধ্যে একটি নির্বাচন করে অডিও ইনপুট এবং অডিও আউটপুটগুলির জন্য স্বতন্ত্র ব্যাকএন্ড ব্যবহার করতে পারেন:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

আপনি যদি অডিও সমর্থন নিষ্ক্রিয় করতে চান, emulator -no-audio বিকল্পটি ব্যবহার করুন বা QEMU_AUDIO_DRV সেট করুন none । আপনাকে নিম্নলিখিত পরিস্থিতিতে অডিও নিষ্ক্রিয় করতে হতে পারে:

  • বিরল ক্ষেত্রে, এমুলেটর চলাকালীন অডিও ড্রাইভার উইন্ডোজ রিবুট করতে পারে।
  • কিছু লিনাক্স মেশিনে, অডিও সমর্থন সক্ষম করে এমুলেটর স্টার্টআপে আটকে যেতে পারে।
adb এনভায়রনমেন্ট ভেরিয়েবল
ANDROID_SERIAL একটি এমুলেটর সিরিয়াল নম্বর প্রদান করতে এই ভেরিয়েবলটি ব্যবহার করুন, যেমন এমুলেটর-5555, একটি adb কমান্ডে। আপনি যদি এই ভেরিয়েবলটি সেট করেন কিন্তু কমান্ড লাইন থেকে একটি সিরিয়াল নম্বর নির্দিষ্ট করতে -s বিকল্পটি ব্যবহার করেন, তাহলে কমান্ড-লাইন ইনপুট ANDROID_SERIAL এ মানটিকে ওভাররাইড করে।

নিম্নলিখিত উদাহরণটি ANDROID_SERIAL সেট করে এবং adb install helloworld.apk কল করে, যা পরে এমুলেটর-5555 এ Android অ্যাপ্লিকেশন প্যাকেজ ইনস্টল করে।

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
adb logcat এনভায়রনমেন্ট ভেরিয়েবল
ANDROID_LOG_TAGS আপনি যখন আপনার ডেভেলপমেন্ট কম্পিউটার থেকে logcat চালাচ্ছেন তখন একটি ডিফল্ট ফিল্টার এক্সপ্রেশন সেট করতে এই পরিবেশ পরিবর্তনশীল ব্যবহার করুন। যেমন:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

কমান্ড লাইন থেকে এমুলেটর চালানোর সময় এটি -logcat tags আর্গুমেন্ট উল্লেখ করার মতই।

আরও তথ্য এবং উদাহরণের জন্য ফিল্টার লগ আউটপুট দেখুন।

ADB_TRACE লগ করার জন্য ডিবাগ তথ্যের একটি কমা দ্বারা পৃথক করা তালিকা রয়েছে৷ মানগুলি নিম্নলিখিত হতে পারে: all , adb , sockets , packets , rwx , usb , sync , sysdeps , transport , এবং jdwp

adb ক্লায়েন্ট এবং adb সার্ভারের জন্য adb লগগুলি প্রদর্শন করতে, all জন্য ADB_TRACE সেট করুন এবং তারপরে adb logcat কমান্ডকে কল করুন, নিম্নরূপ:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE এমুলেটর দ্বারা ব্যবহৃত ভার্বোস আউটপুট বিকল্পগুলির (ডিবাগ ট্যাগ) একটি কমা দ্বারা পৃথক করা তালিকা রয়েছে৷ নিম্নলিখিত উদাহরণ দেখায় ANDROID_VERBOSE debug-socket এবং debug-radio ডিবাগ ট্যাগ দিয়ে সংজ্ঞায়িত করা হয়েছে:
set ANDROID_VERBOSE=socket,radio

কমান্ড লাইন থেকে এমুলেটর চালানোর সময় এটি -verbose -verbose-socket -verbose-radio আর্গুমেন্টগুলিকে নির্দিষ্ট করার মতই।

অসমর্থিত ডিবাগ ট্যাগ উপেক্ষা করা হয়. ডিবাগ ট্যাগ সম্পর্কে আরও তথ্যের জন্য, emulator -help-debug-tags ব্যবহার করুন।