CTS চালানোর জন্য, প্রথমে আপনার শারীরিক পরিবেশ, আপনার ডেস্কটপ মেশিন এবং আপনি পরীক্ষার জন্য যে অ্যান্ড্রয়েড ডিভাইসটি ব্যবহার করছেন তা প্রস্তুত করুন।
শারীরিক পরিবেশ
ব্লুটুথ LE বীকন
যদি পরীক্ষার অধীনে ডিভাইসটি (DUT) ব্লুটুথ LE সমর্থন করে, তাহলে ব্লুটুথ LE স্ক্যান পরীক্ষার জন্য DUT-এর 5 মিটারের মধ্যে কমপক্ষে তিনটি ব্লুটুথ LE বীকন রাখুন৷ এই বীকনগুলিকে কনফিগার করা বা নির্দিষ্ট কিছু নির্গত করার দরকার নেই, এবং iBeacon, Eddystone বা এমনকি BLE বীকন অনুকরণকারী ডিভাইসগুলি সহ যে কোনও ধরণের হতে পারে।
আল্ট্রা-ওয়াইডব্যান্ড
যদি ডিইউটি আল্ট্রা-ওয়াইডব্যান্ড (ইউডব্লিউবি) সমর্থন করে, তবে ইউডাব্লুবি সমর্থনকারী অন্য ডিভাইসটি অবশ্যই যথেষ্ট কাছাকাছি এবং ভিত্তিক হতে হবে যাতে একটি অ্যান্টেনা এবং রেডিও ডেড জোন না থাকে। দূরত্ব নির্ভুলতা পরীক্ষার জন্য, নির্দিষ্ট অবস্থান এবং অভিযোজন প্রয়োজন আছে। সেটআপের বিশদ বিবরণের জন্য, UWB প্রয়োজনীয়তাগুলি দেখুন। UWB পরীক্ষাটি অবশ্যই ম্যানুয়ালি চালাতে হবে, কমান্ড লাইনে নির্দিষ্ট করে যে দুটি ডিভাইস এক মিটার দূরে রয়েছে। এই পরীক্ষার জন্য প্রয়োজনীয় শার্ডিংয়ের বিশদ বিবরণের জন্য, স্থানীয় শার্ডিং দেখুন।
ক্যামেরা
ক্যামেরা CTS চালানোর সময়, একটি পরীক্ষা প্যাটার্ন চার্ট (যেমন একটি চেকারবোর্ড প্যাটার্ন) সহ সাধারণ আলোর অবস্থা ব্যবহার করুন। DUT এর ন্যূনতম ফোকাস দূরত্ব অনুযায়ী পরীক্ষার প্যাটার্ন চার্ট রাখুন যাতে এটি লেন্সের খুব কাছাকাছি না হয়।
CONTROL_AE_TARGET_FPS_RANGE
এ উল্লেখিত সর্বাধিক কনফিগার করা টার্গেট ফ্রেম প্রতি সেকেন্ডে (FPS) পৌঁছানোর জন্য পরীক্ষাধীন সেন্সরগুলিকে পৌঁছানোর জন্য পর্যাপ্ত আলো সহ একটি দৃশ্যের দিকে ক্যামেরা সেন্সরগুলিকে নির্দেশ করুন৷ এটি getCameraIdList
দ্বারা রিপোর্ট করা সমস্ত ক্যামেরা সেন্সরের ক্ষেত্রে প্রযোজ্য কারণ পরীক্ষাটি তালিকাভুক্ত ডিভাইসগুলিতে পুনরাবৃত্তি করে এবং পৃথকভাবে কার্যকারিতা পরিমাপ করে৷
যদি DUT বাহ্যিক ক্যামেরা সমর্থন করে, যেমন USB ওয়েবক্যাম, CTS চালানোর সময় একটি বহিরাগত ক্যামেরা প্লাগ ইন করুন। অন্যথায়, CTS পরীক্ষা ব্যর্থ হয়।
জিপিএস/জিএনএসএস
যদি DUT গ্লোবাল পজিশনিং সিস্টেম/গ্লোবাল নেভিগেশন স্যাটেলাইট সিস্টেম (GPS/GNSS) বৈশিষ্ট্য সমর্থন করে, তাহলে অভ্যর্থনা এবং GPS অবস্থান গণনার জন্য একটি উপযুক্ত সংকেত স্তরে DUT-কে একটি GPS/GNSS সংকেত প্রদান করুন। GPS অংশ অবশ্যই ICD-GPS-200C এর সাথে সঙ্গতিপূর্ণ হতে হবে। অন্যথায়, GPS/GNSS সংকেত যেকোন ধরনের হতে পারে, যার মধ্যে একটি স্যাটেলাইট সিমুলেটর বা বহিরঙ্গন সংকেতের একটি GPS/GNSS রিপিটার, অথবা আপনি DUTটিকে একটি উইন্ডোর কাছে যথেষ্ট কাছে রাখতে পারেন যাতে এটি সরাসরি পর্যাপ্ত GPS/GNSS সংকেত গ্রহণ করতে পারে।
Wi-Fi এবং IPv6
CTS পরীক্ষার জন্য একটি Wi-Fi নেটওয়ার্ক প্রয়োজন যা IPv4 এবং IPv6 সমর্থন করে, IPv4 এবং IPv6-এর জন্য কাজ করার DNS সহ একটি ইন্টারনেট সংযোগ রয়েছে, IP মাল্টিকাস্ট সমর্থন করে এবং DUT-কে একটি বিচ্ছিন্ন ক্লায়েন্ট হিসাবে বিবেচনা করতে পারে। একটি বিচ্ছিন্ন ক্লায়েন্ট হল একটি কনফিগারেশন যেখানে DUT-এর সেই সাবনেটওয়ার্কের সম্প্রচার/মাল্টিনেটওয়ার্ক বার্তাগুলির দৃশ্যমানতা নেই। এটি একটি Wi-Fi অ্যাক্সেস পয়েন্ট (AP) কনফিগারেশনের সাথে বা অন্য ডিভাইসগুলিকে সংযুক্ত না করে একটি বিচ্ছিন্ন সাবনেটওয়ার্কে DUT চালানোর মাধ্যমে ঘটে।
আপনার যদি IPv6 এর উপর নির্ভর করে কিছু পরীক্ষা পাস করার জন্য একটি নেটিভ IPv6 নেটওয়ার্ক, একটি IPv6 ক্যারিয়ার নেটওয়ার্ক, বা একটি VPN-এ অ্যাক্সেস না থাকে, আপনি একটি Wi-Fi অ্যাক্সেস পয়েন্ট এবং একটি IPv6 টানেল ব্যবহার করতে পারেন।
CTS পাস করতে, DUT-এর Wi-Fi ইন্টারফেসে সেট করা UP
, BROADCAST
এবং MULTICAST
পতাকা প্রয়োজন। Wi-Fi ইন্টারফেসের জন্য IPv4 এবং IPv6 ঠিকানা বরাদ্দ করা প্রয়োজন। adb shell ifconfig
দিয়ে Wi-Fi ইন্টারফেসের বৈশিষ্ট্য পরীক্ষা করুন।
যে ডিভাইসগুলি Wi-Fi STA/STA কনকারেন্সি সমর্থন করে, তার জন্য একাধিক Wi-Fi নেটওয়ার্ক (অন্তত 2) প্রয়োজন৷ CTS পাস করার জন্য, Wi-Fi নেটওয়ার্কগুলিকে অবশ্যই বিভিন্ন SSID সহ বিভিন্ন ব্যান্ডে বা একই SSID-এ বিভিন্ন BSSID সহ চলতে হবে৷
ওয়াই-ফাই RTT
অ্যান্ড্রয়েড একটি Wi-Fi রাউন্ড ট্রিপ টাইম (RTT) ক্ষমতার জন্য Wi-Fi RTT API অন্তর্ভুক্ত করে৷ এটি ডিভাইসগুলিকে 1 থেকে 2 মিটারের নির্ভুলতার সাথে অ্যাক্সেস পয়েন্টগুলির দূরত্ব পরিমাপ করতে দেয়, উল্লেখযোগ্যভাবে অভ্যন্তরীণ অবস্থানের নির্ভুলতা বৃদ্ধি করে৷ Wi-Fi RTT সমর্থনকারী দুটি প্রস্তাবিত ডিভাইস হল Google Wifi এবং Compulab-এর fitlet2 অ্যাক্সেস পয়েন্ট (5 GHz এ 40 MHz ব্যান্ডউইথ সেট করা হয়েছে)।
অ্যাক্সেস পয়েন্টগুলি চালিত হওয়া উচিত, তবে নেটওয়ার্ক সংযোগের প্রয়োজন নেই৷ এক্সেস পয়েন্টগুলি পরীক্ষার ডিভাইসের পাশে থাকার দরকার নেই তবে DUT এর 40 ফুটের মধ্যে থাকার পরামর্শ দেওয়া হচ্ছে। একটি অ্যাক্সেস পয়েন্ট সাধারণত যথেষ্ট।
ডেস্কটপ মেশিন সেটআপ
সতর্কতা : CTS 64-বিট লিনাক্স মেশিন সমর্থন করে। CTS Windows OS বা MacOS-এ সমর্থিত নয়।
FFMPEG
হোস্ট মেশিনে ffmpeg সংস্করণ 5.1.3 (বা পরবর্তী) প্যাকেজ ইনস্টল করুন।
হোস্ট মেশিনের প্রয়োজনীয়তা
CTS হোস্ট মেশিনের জন্য সর্বনিম্ন প্রয়োজনীয়তা হল 32 GiB RAM এবং 256 GiB ডিস্ক ক্ষমতা। CTS পরীক্ষার ক্ষেত্রে বর্ধিত সংখ্যা এবং Tradefed-এ জাভা হিপ স্পেস রিজার্ভেশন বৃদ্ধির জন্য এটি প্রয়োজন।
ADB এবং AAPT2
CTS চালানোর আগে, নিশ্চিত করুন যে আপনি Android Debug Bridge (adb) এবং Android Asset Packaging Tool (AAPT2) উভয়ের সাম্প্রতিক সংস্করণ ইনস্টল করেছেন এবং আপনার মেশিনের সিস্টেম পাথে সেই টুলগুলির অবস্থান যোগ করেছেন।
ADB এবং AAPT2 ইনস্টল করতে, Android স্টুডিওর SDK ম্যানেজার বা sdkmanager কমান্ড লাইন টুল থেকে সর্বশেষ Android SDK প্ল্যাটফর্ম টুল এবং Android SDK বিল্ড টুল ডাউনলোড করুন।
নিশ্চিত করুন যে adb
এবং aapt2
আপনার সিস্টেম পাথে আছে। নিম্নলিখিত কমান্ডটি অনুমান করে যে আপনি আপনার হোম ডিরেক্টরিতে android-sdk
নামক একটি সাব-ডিরেক্টরিতে প্যাকেজ সংরক্ষণাগারগুলি ডাউনলোড করেছেন:
export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>
উবুন্টুর জন্য জাভা ডেভেলপমেন্ট কিট
জাভা ডেভেলপমেন্ট কিট (JDK) এর সঠিক সংস্করণটি ইনস্টল করুন।
- Android 11 এর জন্য, OpenJDK11 ইনস্টল করুন।
- Android 9 এবং Android 10 এর জন্য, OpenJDK9 ইনস্টল করুন।
- Android 7.0, 7.1, 8.0 এবং 8.1-এর জন্য OpenJDK8 ইনস্টল করুন।
বিস্তারিত জানার জন্য, JDK প্রয়োজনীয়তা দেখুন।
পাইথন সমর্থনের জন্য সেটআপ করুন
ইনস্টলেশন নির্দেশাবলী অনুসরণ করে আপনার প্ল্যাটফর্মের জন্য virtualenv
ইনস্টল করুন।
আপনি virtualenv -h
ব্যবহার করে ইনস্টলেশন সফল হয়েছে কিনা তা যাচাই করতে পারেন।
CTS ফাইল
আপনার ডিভাইসের অ্যান্ড্রয়েড সংস্করণ এবং আপনার ডিভাইস সমর্থন করে এমন সমস্ত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABIs) এর সাথে মিলে যাওয়া সামঞ্জস্যপূর্ণ পরীক্ষা স্যুট ডাউনলোডগুলি থেকে CTS প্যাকেজগুলি ডাউনলোড করুন এবং খুলুন৷
CTS মিডিয়া ফাইলগুলির সর্বশেষ সংস্করণ ডাউনলোড করুন এবং খুলুন।
মেইনলাইন-সম্পর্কিত CTS ফাইল ডাউনলোড করুন (ঐচ্ছিক)
আপনি যখন প্রথমবার একটি CTS সংস্করণ চালান, তখন CTS গতিশীলভাবে কিছু মেইনলাইন-সম্পর্কিত CTS ফাইল ডাউনলোড করে, যা আপনার নেটওয়ার্ক গতির উপর নির্ভর করে রান টাইমে কমপক্ষে 10 মিনিট যোগ করে।
এই অতিরিক্ত CTS রান টাইম এড়াতে, আপনি CTS সংস্করণ চালানোর আগে মেইনলাইন-সম্পর্কিত CTS ফাইলগুলি ডাউনলোড করতে পারেন, এই নির্দেশাবলী অনুসরণ করে:
চালিয়ে ডিভাইসে Android API স্তর পান:
adb shell getprop ro.build.version.sdk
মেইনলাইন CTS ফাইল ডাউনলোড করতে
download_mcts.sh
স্ক্রিপ্টের নির্দেশাবলী অনুসরণ করুন।আপনার নেটওয়ার্ক গতির উপর নির্ভর করে ডাউনলোডটি কমপক্ষে 10 মিনিট সময় নেয়৷
ডিভাইস সনাক্তকরণ
আপনার ডিভাইস সনাক্ত করতে আপনার সিস্টেম সেট আপ করার ধাপ অনুসরণ করুন৷
স্মৃতি সীমা
আপনি cts-tradefed স্ক্রিপ্টে পরীক্ষা চালানোর সময় উপলব্ধ সর্বাধিক মেমরি বাড়াতে চাইতে পারেন। আরও তথ্যের জন্য উদাহরণ CL পড়ুন।
অ্যান্ড্রয়েড ডিভাইস সেটআপ
ব্যবহারকারী তৈরি করে
একটি সামঞ্জস্যপূর্ণ ডিভাইস একটি ব্যবহারকারী/রিলিজ-কী স্বাক্ষরিত বিল্ড সহ একটি ডিভাইস হিসাবে সংজ্ঞায়িত করা হয়। আপনার ডিভাইসটি কোডনাম, ট্যাগ এবং বিল্ড নম্বর থেকে সামঞ্জস্যপূর্ণ ব্যবহারকারী বিল্ড (Android 4.0 বা উচ্চতর) হিসাবে পরিচিত একটি সিস্টেম ইমেজ চালানো উচিত।
প্রথম API স্তর নির্মাণ সম্পত্তি
নির্দিষ্ট CTS প্রয়োজনীয়তা নির্ভর করে যে বিল্ডের সাথে একটি ডিভাইস মূলত পাঠানো হয়েছিল। উদাহরণ স্বরূপ, যে ডিভাইসগুলি প্রাথমিকভাবে পূর্বের বিল্ডগুলির সাথে শিপ করা হয় সেগুলিকে সিস্টেমের প্রয়োজনীয়তা থেকে বাদ দেওয়া হতে পারে যা পরবর্তী বিল্ডগুলির সাথে শিপ করা ডিভাইসগুলিতে প্রযোজ্য।
CTS-এর কাছে এই তথ্যটি উপলব্ধ করার জন্য, ডিভাইস নির্মাতারা বিল্ড-টাইম প্রপার্টি ro.product.first_api_level
সংজ্ঞায়িত করতে পারে। এই সম্পত্তির মান হল প্রথম API স্তর যা দিয়ে ডিভাইসটি বাণিজ্যিকভাবে চালু করা হয়েছিল৷
ডিভাইস নির্মাতারা একই ডিভাইস গ্রুপে বিদ্যমান পণ্যের আপগ্রেড হিসাবে একটি নতুন পণ্য চালু করতে সাধারণ অন্তর্নিহিত বাস্তবায়ন পুনরায় ব্যবহার করতে পারে। ডিভাইস নির্মাতারা ঐচ্ছিকভাবে বিদ্যমান পণ্যের API স্তরকে ro.product.first_api_level
এ সেট করতে পারে, যাতে CTS এবং Treble/VTS-এর জন্য আপগ্রেডের প্রয়োজনীয়তা প্রয়োগ করা হয়।
ডিভাইস নির্মাতারা তাদের device.mk
ফাইলে PRODUCT_SHIPPING_API_LEVEL
সংজ্ঞায়িত করতে পারে এই সম্পত্তি সেট করতে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
# PRODUCT_SHIPPING_API_LEVEL sets ro.product.first_api_level to indicate
# the first api level that the device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 21
Android 9 বা তার বেশির জন্য প্রথম API স্তর
Android 9 বা উচ্চতর সংস্করণের সাথে লঞ্চ করা ডিভাইসগুলির জন্য, ro.product.first_api_level
প্রপার্টি কোডনেম, ট্যাগ এবং বিল্ড নম্বর থেকে একটি বৈধ মান সেট করুন।
Android 8.x বা তার নিচের জন্য প্রথম API স্তর
Android 8.x বা তার কম সংস্করণে লঞ্চ করা ডিভাইসগুলির জন্য, পণ্যটির প্রথম বিল্ডের জন্য ro.product.first_api_level
প্রপার্টি আনসেট (সরান)। পরবর্তী সমস্ত বিল্ডের জন্য, সঠিক API স্তরের মান ro.product.first_api_level
সেট করুন। এটি সম্পত্তিটিকে একটি নতুন পণ্যকে সঠিকভাবে সনাক্ত করতে এবং পণ্যের প্রথম API স্তর সম্পর্কে তথ্য সংরক্ষণ করতে দেয়। পতাকা সেট না থাকলে, Android ro.product.first_api_level
এ Build.VERSION.SDK_INT
বরাদ্দ করে।
CTS শিম প্যাকেজ
Android 10 বা উচ্চতর APEX নামক একটি প্যাকেজ বিন্যাস অন্তর্ভুক্ত করে। APEX ম্যানেজমেন্ট API-এর জন্য CTS পরীক্ষা চালানোর জন্য (যেমন একটি নতুন সংস্করণে আপডেট করা বা সক্রিয় APEXes প্রতিবেদন করা) আপনাকে অবশ্যই একটি /system
পার্টিশনে একটি CtsShimApex
প্যাকেজ প্রি-ইন্সটল করতে হবে।
APEX শিম যাচাইকরণ পরীক্ষা CtsShimApex
এর বাস্তবায়ন যাচাই করে।
ro.apex.updatable প্রয়োজনীয়তা
যদি
ro.apex.updatable
প্রপার্টিtrue
তে সেট করা থাকে, তাহলে APEX প্যাকেজ পরিচালনা সমর্থন করে এমন সমস্ত ডিভাইসের জন্যCtsShimApex
প্রয়োজন।ro.apex.updatable
প্রপার্টি অনুপস্থিত থাকলে বা সেট না থাকলে,CtsShimApex
কোনো ডিভাইসে আগে থেকে ইনস্টল করার প্রয়োজন নেই।
APEX শিম যাচাইকরণ পরীক্ষা CtsShimApex
এর বাস্তবায়ন যাচাই করে।
CtsShim প্রিইন্সটল এবং প্রিলোড করে
অ্যান্ড্রয়েড 11 দিয়ে শুরু করে, CtsShimApex
দুটি প্রি-বিল্ট অ্যাপ রয়েছে ( বিল্ড সোর্স থেকে তৈরি), যেটিতে ম্যানিফেস্ট ছাড়া কোনো কোড থাকে না। সুবিধা এবং অনুমতি পরীক্ষা করতে CTS এই অ্যাপগুলি ব্যবহার করে।
যদি ডিভাইসটি APEX প্যাকেজ পরিচালনাকে সমর্থন না করে (অর্থাৎ, ro.apex.updatable
প্রপার্টিটি অনুপস্থিত বা সেট করা নেই), অথবা ডিভাইসটি 10 বা তার নিচের সংস্করণটি চলমান থাকলে, দুটি পূর্বনির্মাণ করা অ্যাপগুলিকে আগে থেকে ইনস্টল করতে হবে আলাদাভাবে সিস্টেম।
APEX সমর্থিত হলে, উপযুক্ত রিলিজের জন্য প্রি-ইনস্টলগুলিকে /system/apex/com.android.apex.cts.shim.apex
হিসাবে স্থাপন করতে হবে।
নিয়মিত প্রি-বিল্ট অ্যাপ ব্যবহার করা হলে, উপযুক্ত রিলিজের জন্য CtsShim
এবং CtsShimPriv
যথাক্রমে /system/app/CtsShimPrebuilt.apk
এবং /system/priv-app/CtsShimPrivPrebuilt.apk
হিসাবে স্থাপন করতে হবে।
নিম্নলিখিত সারণী প্রতিটি ডিভাইস সংস্করণ এবং আর্কিটেকচারের জন্য উপলব্ধ প্রি-ইনস্টল এবং প্রিলোডগুলি তালিকাভুক্ত করে৷
ডিভাইস সংস্করণ | প্রিইন্সটল (যদি APEX সমর্থিত হয়) | প্রিলোড | ||
---|---|---|---|---|
এআরএম | x86 | এআরএম | x86 | |
অ্যান্ড্রয়েড 15 | android15-আর্ম-রিলিজ | android15-x86-রিলিজ | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk |
অ্যান্ড্রয়েড 14 | android14-আর্ম-রিলিজ | android14-x86-রিলিজ | android14-arm-CtsShim.apk | android14-x86-CtsShim.apk |
অ্যান্ড্রয়েড 13 | android13-আর্ম-রিলিজ | android13-x86-রিলিজ | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
অ্যান্ড্রয়েড 12 | android12-আর্ম-রিলিজ | android12-x86-রিলিজ | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
অ্যান্ড্রয়েড 11 | android11-আর্ম-রিলিজ | android11-x86-রিলিজ | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
অ্যান্ড্রয়েড 10 | android10-রিলিজ | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O, এবং O-MR1 | N/A | N/A | arm-CtsShim.apk | x86-CtsShim.apk |
পরীক্ষায় উত্তীর্ণ হতে, অ্যাপ্লিকেশানগুলিতে পুনরায় স্বাক্ষর না করেই সিস্টেম চিত্রের উপযুক্ত ডিরেক্টরিগুলিতে অ্যাপগুলিকে প্রিলোড করুন৷
নমুনা অ্যাপলেট
অ্যান্ড্রয়েড 9 ওপেন মোবাইল এপিআই চালু করেছে। একাধিক সুরক্ষিত উপাদানের রিপোর্ট করে এমন ডিভাইসগুলির জন্য, CTS ওপেন মোবাইল API-এর আচরণ যাচাই করার জন্য পরীক্ষার কেস যোগ করে। এই পরীক্ষার ক্ষেত্রে DUT এর এমবেডেড সিকিউর এলিমেন্ট (eSE) বা DUT দ্বারা ব্যবহৃত সিম কার্ডে একটি নমুনা অ্যাপলেটের এককালীন ইনস্টলেশন প্রয়োজন। eSE নমুনা অ্যাপলেট এবং সিম নমুনা অ্যাপলেট AOSP-এ পাওয়া যাবে।
ওপেন মোবাইল এপিআই টেস্ট কেস এবং অ্যাক্সেস কন্ট্রোল পরীক্ষার ক্ষেত্রে আরও বিস্তারিত তথ্যের জন্য সিকিউর এলিমেন্টের জন্য CTS টেস্ট দেখুন।
স্টোরেজ প্রয়োজনীয়তা
CTS মিডিয়া স্ট্রেস টেস্টের জন্য ভিডিও ক্লিপগুলিকে বাহ্যিক সঞ্চয়স্থানে ( /sdcard
) থাকতে হবে। বেশিরভাগ ক্লিপগুলি বিগ বক বানির থেকে এসেছে, যা ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 3.0 লাইসেন্সের অধীনে ব্লেন্ডার ফাউন্ডেশন দ্বারা কপিরাইট করা হয়েছে।
প্রয়োজনীয় স্থান ডিভাইস দ্বারা সমর্থিত সর্বাধিক ভিডিও প্লেব্যাক রেজোলিউশনের উপর নির্ভর করে। প্রয়োজনীয় রেজোলিউশনের প্ল্যাটফর্ম সংস্করণের জন্য অ্যান্ড্রয়েড সামঞ্জস্যের সংজ্ঞা নথিতে বিভাগ 5 দেখুন।
এখানে সর্বাধিক ভিডিও প্লেব্যাক রেজোলিউশন দ্বারা স্টোরেজ প্রয়োজনীয়তা রয়েছে:
- 480x360: 98 MB
- 720x480: 193 MB
- 1280x720: 606 MB
- 1920x1080: 1863 MB
স্ক্রীন এবং স্টোরেজ
- এমবেডেড স্ক্রিন নেই এমন যেকোন ডিভাইসকে একটি স্ক্রিনের সাথে সংযুক্ত করতে হবে।
ডিভাইসটিতে মেমরি কার্ড স্লট থাকলে, একটি খালি SD কার্ড প্লাগ ইন করুন৷ একটি SD কার্ড ব্যবহার করুন যা SDHC বা SDXC ক্ষমতা সম্পন্ন অতি উচ্চ গতির (UHS) বাসকে সমর্থন করে বা এটি CTS পাস করতে পারে তা নিশ্চিত করার জন্য কমপক্ষে 10 বা তার বেশি গতির একটি বাস।
ডিভাইসটিতে যদি সিম কার্ড স্লট থাকে, প্রতিটি স্লটে একটি সক্রিয় সিম কার্ড প্লাগ করুন৷ যদি ডিভাইসটি এসএমএস সমর্থন করে, প্রতিটি সিম কার্ডের নিজস্ব নম্বর ক্ষেত্র জনবহুল থাকতে হবে। Android 12 বা উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, সমস্ত সিম কার্ডে সংক্ষিপ্ত ডায়ালিং নম্বর (ADN) সংরক্ষণের জন্য সমর্থন থাকতে হবে। টেলিকম ডেডিকেটেড ফাইল (ডিএফ টেলিকম ) সহ জিএসএম এবং ইউএসআইএম কার্ড এই প্রয়োজনীয়তা পূরণ করে।
বিকাশকারী UICC
CTS ক্যারিয়ার এপিআই পরীক্ষা চালানোর জন্য, ডিভাইসটিকে CTS ক্যারিয়ারের বিশেষাধিকার সহ একটি সিম ব্যবহার করতে হবে যা UICC প্রস্তুতিতে নির্দিষ্ট প্রয়োজনীয়তা পূরণ করে।
অ্যান্ড্রয়েড ডিভাইস কনফিগারেশন
ফ্যাক্টরি ডেটা ডিভাইস রিসেট করুন: সেটিংস > ব্যাকআপ এবং রিসেট > ফ্যাক্টরি ডেটা রিসেট ।
আপনার ডিভাইসের ভাষা ইংরেজিতে সেট করুন ( মার্কিন যুক্তরাষ্ট্র ): সেটিংস > ভাষা এবং ইনপুট > ভাষা ।
ডিভাইসটি যদি ডিফল্ট ফন্ট কাস্টমাইজ করা সমর্থন করে, তাহলে ডিফল্ট
sans-serif
ফন্ট পরিবারকেRoboto
(AOSP বিল্ডে ব্যবহৃত ডিফল্টsans-serif
ফন্ট পরিবার) সেট করুন।ডিভাইসে একটি GPS বা Wi-Fi/সেলুলার নেটওয়ার্ক বৈশিষ্ট্য থাকলে অবস্থান সেটিং চালু করুন: সেটিংস > অবস্থান > চালু ।
IPv6 সমর্থন করে এমন একটি Wi-Fi নেটওয়ার্কের সাথে সংযোগ করুন, DUT-কে একটি বিচ্ছিন্ন ক্লায়েন্ট হিসাবে বিবেচনা করতে পারে (উপরে শারীরিক পরিবেশ দেখুন), এবং একটি ইন্টারনেট সংযোগ রয়েছে: সেটিংস > Wi-Fi ।
নিশ্চিত করুন যে ডিভাইসে কোনো লক প্যাটার্ন বা পাসওয়ার্ড সেট করা নেই: সেটিংস > নিরাপত্তা > স্ক্রীন লক > কিছুই নয় ।
আপনার ডিভাইসে USB ডিবাগিং সক্ষম করুন: সেটিংস > বিকাশকারী বিকল্প > USB ডিবাগিং ।
সময়টি 12-ঘন্টার ফর্ম্যাটে সেট করুন: সেটিংস > তারিখ এবং সময় > 24-ঘন্টা ফর্ম্যাট ব্যবহার করুন > বন্ধ ।
জেগে থাকার জন্য ডিভাইসটি সেট করুন: সেটিংস > বিকাশকারী বিকল্প > জাগ্রত থাকুন > চালু ৷
শুধুমাত্র Android 5.x এবং 4.4.x- এ, মক অবস্থানগুলিকে অনুমতি দেওয়ার জন্য ডিভাইসটিকে সেট করুন: সেটিংস > বিকাশকারী বিকল্পগুলি > মক অবস্থানগুলিকে অনুমতি দিন > চালু ৷
Android 4.2 বা উচ্চতর সংস্করণে, USB অ্যাপ যাচাইকরণ বন্ধ করুন: সেটিংস > বিকাশকারী বিকল্প > USB-এর মাধ্যমে অ্যাপগুলি যাচাই করুন > বন্ধ ।
Android 13 বা উচ্চতর সংস্করণে, মক মডেমকে অনুমতি দেওয়ার জন্য ডিভাইসটিকে সেট করুন: সেটিংস > বিকাশকারী বিকল্পগুলি > মক মডেমকে অনুমতি দিন > চালু ৷
ব্রাউজারটি চালু করুন এবং যেকোনো স্টার্টআপ/সেটআপ স্ক্রীন খারিজ করুন।
ডেস্কটপ মেশিনটি সংযুক্ত করুন যা একটি USB কেবল দিয়ে ডিভাইসটি পরীক্ষা করতে ব্যবহৃত হবে।
CTS চালানোর আগে, Roboto2 কে sans-serif ফন্ট হিসাবে ব্যবহারকারীর অ্যাক্সেসযোগ্য সুবিধা (লুকানো নয়) সেটিং ব্যবহার করে সেট করুন।
ফাইল ইনস্টলেশন
ডিভাইসে সহায়ক অ্যাপ ইনস্টল এবং কনফিগার করুন।
আপনার CTS সংস্করণ অনুযায়ী আপনার ডিভাইস সেট আপ করুন:
CTS সংস্করণ 2.1 R2 থেকে 4.2 R4: অ্যাক্সেসিবিলিটি পরীক্ষা চালানোর জন্য আপনার ডিভাইস (বা এমুলেটর) সেট আপ করুন:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
ডিভাইসে, অর্পণ সক্ষম করুন: সেটিংস > অ্যাক্সেসিবিলিটি > অ্যাক্সেসিবিলিটি > অ্যাক্সেসিবিলিটি পরিষেবা অর্পণ করা ।
CTS সংস্করণ 6.x বা তার কম: যে ডিভাইসগুলিতে
android.software.device_admin
ঘোষণা করা হয়, সেগুলি ব্যবহার করে ডিভাইস প্রশাসন পরীক্ষা চালানোর জন্য আপনার ডিভাইস সেট আপ করুন:adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`
সেটিংস > নিরাপত্তা > ডিভাইস প্রশাসক নির্বাচন করুন , দুটি
android.deviceadmin.cts.CtsDeviceAdminReceiver*
ডিভাইস অ্যাডমিনিস্ট্রেটর সক্ষম করুন। নিশ্চিত করুন যেandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
এবং অন্য যেকোন আগে থেকে লোড করা ডিভাইস অ্যাডমিনিস্ট্রেটররা অক্ষম থাকবে।
CTS মিডিয়া ফাইলগুলিকে এইভাবে ডিভাইসে অনুলিপি করুন:
- যেখানে মিডিয়া ফাইলগুলি ডাউনলোড এবং আনজিপ করা হয় সেই পথে (
cd
) নেভিগেট করুন। ফাইলের অনুমতি পরিবর্তন করুন:
chmod u+x copy_media.sh
প্রয়োজনীয় ফাইল কপি করুন:
720x480 রেজোলিউশন পর্যন্ত ক্লিপ কপি করতে, চালান:
./copy_media.sh 720x480
আপনি সর্বোচ্চ রেজোলিউশন সম্পর্কে নিশ্চিত না হলে, সমস্ত ফাইল কপি করুন:
./copy_media.sh all
যদি adb-এর অধীনে একাধিক ডিভাইস থাকে, তাহলে শেষে একটি নির্দিষ্ট ডিভাইসের সিরিয়াল বিকল্প (
-s
) যোগ করুন। উদাহরণস্বরূপ, সিরিয়াল 1234567 সহ ডিভাইসে 720x480 পর্যন্ত অনুলিপি করতে, চালান:./copy_media.sh 720x480 -s 1234567
- যেখানে মিডিয়া ফাইলগুলি ডাউনলোড এবং আনজিপ করা হয় সেই পথে (
CTS চালানোর জন্য, প্রথমে আপনার শারীরিক পরিবেশ, আপনার ডেস্কটপ মেশিন এবং আপনি পরীক্ষার জন্য যে অ্যান্ড্রয়েড ডিভাইসটি ব্যবহার করছেন তা প্রস্তুত করুন।
শারীরিক পরিবেশ
ব্লুটুথ LE বীকন
যদি পরীক্ষার অধীনে ডিভাইসটি (DUT) ব্লুটুথ LE সমর্থন করে, তাহলে ব্লুটুথ LE স্ক্যান পরীক্ষার জন্য DUT-এর 5 মিটারের মধ্যে কমপক্ষে তিনটি ব্লুটুথ LE বীকন রাখুন৷ এই বীকনগুলিকে কনফিগার করা বা নির্দিষ্ট কিছু নির্গত করার দরকার নেই, এবং iBeacon, Eddystone বা এমনকি BLE বীকন অনুকরণকারী ডিভাইসগুলি সহ যে কোনও ধরণের হতে পারে।
আল্ট্রা-ওয়াইডব্যান্ড
যদি ডিইউটি আল্ট্রা-ওয়াইডব্যান্ড (ইউডব্লিউবি) সমর্থন করে, তবে ইউডাব্লুবি সমর্থনকারী অন্য ডিভাইসটি অবশ্যই যথেষ্ট কাছাকাছি এবং ভিত্তিক হতে হবে যাতে একটি অ্যান্টেনা এবং রেডিও ডেড জোন না থাকে। দূরত্ব নির্ভুলতা পরীক্ষার জন্য, নির্দিষ্ট অবস্থান এবং অভিযোজন প্রয়োজন আছে। সেটআপের বিশদ বিবরণের জন্য, UWB প্রয়োজনীয়তাগুলি দেখুন। UWB পরীক্ষাটি অবশ্যই ম্যানুয়ালি চালাতে হবে, কমান্ড লাইনে নির্দিষ্ট করে যে দুটি ডিভাইস এক মিটার দূরে রয়েছে। এই পরীক্ষার জন্য প্রয়োজনীয় শার্ডিংয়ের বিশদ বিবরণের জন্য, স্থানীয় শার্ডিং দেখুন।
ক্যামেরা
ক্যামেরা CTS চালানোর সময়, একটি পরীক্ষা প্যাটার্ন চার্ট (যেমন একটি চেকারবোর্ড প্যাটার্ন) সহ সাধারণ আলোর অবস্থা ব্যবহার করুন। DUT এর ন্যূনতম ফোকাস দূরত্ব অনুযায়ী পরীক্ষার প্যাটার্ন চার্ট রাখুন যাতে এটি লেন্সের খুব কাছাকাছি না হয়।
CONTROL_AE_TARGET_FPS_RANGE
এ উল্লেখিত সর্বাধিক কনফিগার করা টার্গেট ফ্রেম প্রতি সেকেন্ডে (FPS) পৌঁছানোর জন্য পরীক্ষাধীন সেন্সরগুলিকে পৌঁছানোর জন্য পর্যাপ্ত আলো সহ একটি দৃশ্যের দিকে ক্যামেরা সেন্সরগুলিকে নির্দেশ করুন৷ এটি getCameraIdList
দ্বারা রিপোর্ট করা সমস্ত ক্যামেরা সেন্সরের ক্ষেত্রে প্রযোজ্য কারণ পরীক্ষাটি তালিকাভুক্ত ডিভাইসগুলিতে পুনরাবৃত্তি করে এবং পৃথকভাবে কার্যকারিতা পরিমাপ করে৷
যদি DUT বাহ্যিক ক্যামেরা সমর্থন করে, যেমন USB ওয়েবক্যাম, CTS চালানোর সময় একটি বহিরাগত ক্যামেরা প্লাগ ইন করুন। অন্যথায়, CTS পরীক্ষা ব্যর্থ হয়।
জিপিএস/জিএনএসএস
যদি DUT গ্লোবাল পজিশনিং সিস্টেম/গ্লোবাল নেভিগেশন স্যাটেলাইট সিস্টেম (GPS/GNSS) বৈশিষ্ট্য সমর্থন করে, তাহলে অভ্যর্থনা এবং GPS অবস্থান গণনার জন্য একটি উপযুক্ত সংকেত স্তরে DUT-কে একটি GPS/GNSS সংকেত প্রদান করুন। GPS অংশ অবশ্যই ICD-GPS-200C এর সাথে সঙ্গতিপূর্ণ হতে হবে। অন্যথায়, GPS/GNSS সংকেত যেকোন ধরনের হতে পারে, যার মধ্যে একটি স্যাটেলাইট সিমুলেটর বা বহিরঙ্গন সংকেতের একটি GPS/GNSS রিপিটার, অথবা আপনি DUTটিকে একটি উইন্ডোর কাছে যথেষ্ট কাছে রাখতে পারেন যাতে এটি সরাসরি পর্যাপ্ত GPS/GNSS সংকেত গ্রহণ করতে পারে।
Wi-Fi এবং IPv6
CTS পরীক্ষার জন্য একটি Wi-Fi নেটওয়ার্ক প্রয়োজন যা IPv4 এবং IPv6 সমর্থন করে, IPv4 এবং IPv6-এর জন্য কাজ করার DNS সহ একটি ইন্টারনেট সংযোগ রয়েছে, IP মাল্টিকাস্ট সমর্থন করে এবং DUT-কে একটি বিচ্ছিন্ন ক্লায়েন্ট হিসাবে বিবেচনা করতে পারে। একটি বিচ্ছিন্ন ক্লায়েন্ট হল একটি কনফিগারেশন যেখানে DUT-এর সেই সাবনেটওয়ার্কের সম্প্রচার/মাল্টিনেটওয়ার্ক বার্তাগুলির দৃশ্যমানতা নেই। এটি একটি Wi-Fi অ্যাক্সেস পয়েন্ট (AP) কনফিগারেশনের সাথে বা অন্য ডিভাইসগুলিকে সংযুক্ত না করে একটি বিচ্ছিন্ন সাবনেটওয়ার্কে DUT চালানোর মাধ্যমে ঘটে।
আপনার যদি IPv6 এর উপর নির্ভর করে কিছু পরীক্ষা পাস করার জন্য একটি নেটিভ IPv6 নেটওয়ার্ক, একটি IPv6 ক্যারিয়ার নেটওয়ার্ক, বা একটি VPN-এ অ্যাক্সেস না থাকে, আপনি একটি Wi-Fi অ্যাক্সেস পয়েন্ট এবং একটি IPv6 টানেল ব্যবহার করতে পারেন।
CTS পাস করতে, DUT-এর Wi-Fi ইন্টারফেসে সেট করা UP
, BROADCAST
এবং MULTICAST
পতাকা প্রয়োজন। Wi-Fi ইন্টারফেসের জন্য IPv4 এবং IPv6 ঠিকানা বরাদ্দ করা প্রয়োজন। adb shell ifconfig
দিয়ে Wi-Fi ইন্টারফেসের বৈশিষ্ট্য পরীক্ষা করুন।
যে ডিভাইসগুলি Wi-Fi STA/STA কনকারেন্সি সমর্থন করে, তার জন্য একাধিক Wi-Fi নেটওয়ার্ক (অন্তত 2) প্রয়োজন৷ CTS পাস করার জন্য, Wi-Fi নেটওয়ার্কগুলিকে অবশ্যই বিভিন্ন SSID সহ বিভিন্ন ব্যান্ডে বা একই SSID-এ বিভিন্ন BSSID সহ চলতে হবে৷
ওয়াই-ফাই RTT
অ্যান্ড্রয়েড একটি Wi-Fi রাউন্ড ট্রিপ টাইম (RTT) ক্ষমতার জন্য Wi-Fi RTT API অন্তর্ভুক্ত করে৷ এটি ডিভাইসগুলিকে 1 থেকে 2 মিটারের নির্ভুলতার সাথে অ্যাক্সেস পয়েন্টগুলির দূরত্ব পরিমাপ করতে দেয়, উল্লেখযোগ্যভাবে অভ্যন্তরীণ অবস্থানের নির্ভুলতা বৃদ্ধি করে৷ Wi-Fi RTT সমর্থনকারী দুটি প্রস্তাবিত ডিভাইস হল Google Wifi এবং Compulab-এর fitlet2 অ্যাক্সেস পয়েন্ট (5 GHz এ 40 MHz ব্যান্ডউইথ সেট করা হয়েছে)।
অ্যাক্সেস পয়েন্টগুলি চালিত হওয়া উচিত, তবে নেটওয়ার্ক সংযোগের প্রয়োজন নেই৷ এক্সেস পয়েন্টগুলি পরীক্ষার ডিভাইসের পাশে থাকার দরকার নেই তবে DUT এর 40 ফুটের মধ্যে থাকার পরামর্শ দেওয়া হচ্ছে। একটি অ্যাক্সেস পয়েন্ট সাধারণত যথেষ্ট।
ডেস্কটপ মেশিন সেটআপ
সতর্কতা : CTS 64-বিট লিনাক্স মেশিন সমর্থন করে। CTS Windows OS বা MacOS-এ সমর্থিত নয়।
FFMPEG
হোস্ট মেশিনে ffmpeg সংস্করণ 5.1.3 (বা পরবর্তী) প্যাকেজ ইনস্টল করুন।
হোস্ট মেশিনের প্রয়োজনীয়তা
CTS হোস্ট মেশিনের জন্য সর্বনিম্ন প্রয়োজনীয়তা হল 32 GiB RAM এবং 256 GiB ডিস্ক ক্ষমতা। CTS পরীক্ষার ক্ষেত্রে বর্ধিত সংখ্যা এবং Tradefed-এ জাভা হিপ স্পেস রিজার্ভেশন বৃদ্ধির জন্য এটি প্রয়োজন।
ADB এবং AAPT2
CTS চালানোর আগে, নিশ্চিত করুন যে আপনি Android Debug Bridge (adb) এবং Android Asset Packaging Tool (AAPT2) উভয়ের সাম্প্রতিক সংস্করণ ইনস্টল করেছেন এবং আপনার মেশিনের সিস্টেম পাথে সেই টুলগুলির অবস্থান যোগ করেছেন।
ADB এবং AAPT2 ইনস্টল করতে, Android স্টুডিওর SDK ম্যানেজার বা sdkmanager কমান্ড লাইন টুল থেকে সর্বশেষ Android SDK প্ল্যাটফর্ম টুল এবং Android SDK বিল্ড টুল ডাউনলোড করুন।
নিশ্চিত করুন যে adb
এবং aapt2
আপনার সিস্টেম পাথে আছে। নিম্নলিখিত কমান্ডটি অনুমান করে যে আপনি আপনার হোম ডিরেক্টরিতে android-sdk
নামক একটি সাব-ডিরেক্টরিতে প্যাকেজ সংরক্ষণাগারগুলি ডাউনলোড করেছেন:
export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>
উবুন্টুর জন্য জাভা ডেভেলপমেন্ট কিট
জাভা ডেভেলপমেন্ট কিট (JDK) এর সঠিক সংস্করণটি ইনস্টল করুন।
- Android 11 এর জন্য, OpenJDK11 ইনস্টল করুন।
- Android 9 এবং Android 10 এর জন্য, OpenJDK9 ইনস্টল করুন।
- Android 7.0, 7.1, 8.0 এবং 8.1-এর জন্য OpenJDK8 ইনস্টল করুন।
বিস্তারিত জানার জন্য, JDK প্রয়োজনীয়তা দেখুন।
পাইথন সমর্থনের জন্য সেটআপ করুন
ইনস্টলেশন নির্দেশাবলী অনুসরণ করে আপনার প্ল্যাটফর্মের জন্য virtualenv
ইনস্টল করুন।
আপনি virtualenv -h
ব্যবহার করে ইনস্টলেশন সফল হয়েছে কিনা তা যাচাই করতে পারেন।
CTS ফাইল
আপনার ডিভাইসের অ্যান্ড্রয়েড সংস্করণ এবং আপনার ডিভাইস সমর্থন করে এমন সমস্ত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABIs) এর সাথে মিলে যাওয়া সামঞ্জস্যপূর্ণ পরীক্ষা স্যুট ডাউনলোডগুলি থেকে CTS প্যাকেজগুলি ডাউনলোড করুন এবং খুলুন৷
CTS মিডিয়া ফাইলগুলির সর্বশেষ সংস্করণ ডাউনলোড করুন এবং খুলুন।
মেইনলাইন-সম্পর্কিত CTS ফাইল ডাউনলোড করুন (ঐচ্ছিক)
আপনি যখন প্রথমবার একটি CTS সংস্করণ চালান, তখন CTS গতিশীলভাবে কিছু মেইনলাইন-সম্পর্কিত CTS ফাইল ডাউনলোড করে, যা আপনার নেটওয়ার্ক গতির উপর নির্ভর করে রান টাইমে কমপক্ষে 10 মিনিট যোগ করে।
এই অতিরিক্ত CTS রান টাইম এড়াতে, আপনি CTS সংস্করণ চালানোর আগে মেইনলাইন-সম্পর্কিত CTS ফাইলগুলি ডাউনলোড করতে পারেন, এই নির্দেশাবলী অনুসরণ করে:
চালিয়ে ডিভাইসে Android API স্তর পান:
adb shell getprop ro.build.version.sdk
মেইনলাইন CTS ফাইল ডাউনলোড করতে
download_mcts.sh
স্ক্রিপ্টের নির্দেশাবলী অনুসরণ করুন।আপনার নেটওয়ার্ক গতির উপর নির্ভর করে ডাউনলোডটি কমপক্ষে 10 মিনিট সময় নেয়৷
ডিভাইস সনাক্তকরণ
আপনার ডিভাইস সনাক্ত করতে আপনার সিস্টেম সেট আপ করার ধাপ অনুসরণ করুন৷
স্মৃতি সীমা
আপনি cts-tradefed স্ক্রিপ্টে পরীক্ষা চালানোর সময় উপলব্ধ সর্বাধিক মেমরি বাড়াতে চাইতে পারেন। আরও তথ্যের জন্য উদাহরণ CL পড়ুন।
অ্যান্ড্রয়েড ডিভাইস সেটআপ
ব্যবহারকারী তৈরি করে
একটি সামঞ্জস্যপূর্ণ ডিভাইস একটি ব্যবহারকারী/রিলিজ-কী স্বাক্ষরিত বিল্ড সহ একটি ডিভাইস হিসাবে সংজ্ঞায়িত করা হয়। আপনার ডিভাইসটি কোডনাম, ট্যাগ এবং বিল্ড নম্বর থেকে সামঞ্জস্যপূর্ণ ব্যবহারকারী বিল্ড (Android 4.0 বা উচ্চতর) হিসাবে পরিচিত একটি সিস্টেম ইমেজ চালানো উচিত।
প্রথম API স্তর নির্মাণ সম্পত্তি
নির্দিষ্ট CTS প্রয়োজনীয়তা নির্ভর করে যে বিল্ডের সাথে একটি ডিভাইস মূলত পাঠানো হয়েছিল। উদাহরণ স্বরূপ, যে ডিভাইসগুলি প্রাথমিকভাবে পূর্বের বিল্ডগুলির সাথে শিপ করা হয় সেগুলিকে সিস্টেমের প্রয়োজনীয়তা থেকে বাদ দেওয়া হতে পারে যা পরবর্তী বিল্ডগুলির সাথে শিপ করা ডিভাইসগুলিতে প্রযোজ্য।
CTS-এর কাছে এই তথ্যটি উপলব্ধ করার জন্য, ডিভাইস নির্মাতারা বিল্ড-টাইম প্রপার্টি ro.product.first_api_level
সংজ্ঞায়িত করতে পারে। এই সম্পত্তির মান হল প্রথম API স্তর যা দিয়ে ডিভাইসটি বাণিজ্যিকভাবে চালু করা হয়েছিল৷
ডিভাইস নির্মাতারা একই ডিভাইস গ্রুপে বিদ্যমান পণ্যের আপগ্রেড হিসাবে একটি নতুন পণ্য চালু করতে সাধারণ অন্তর্নিহিত বাস্তবায়ন পুনরায় ব্যবহার করতে পারে। ডিভাইস নির্মাতারা ঐচ্ছিকভাবে বিদ্যমান পণ্যের API স্তরকে ro.product.first_api_level
এ সেট করতে পারে, যাতে CTS এবং Treble/VTS-এর জন্য আপগ্রেডের প্রয়োজনীয়তা প্রয়োগ করা হয়।
ডিভাইস নির্মাতারা তাদের device.mk
ফাইলে PRODUCT_SHIPPING_API_LEVEL
সংজ্ঞায়িত করতে পারে এই সম্পত্তি সেট করতে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
# PRODUCT_SHIPPING_API_LEVEL sets ro.product.first_api_level to indicate
# the first api level that the device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 21
Android 9 বা তার বেশির জন্য প্রথম API স্তর
Android 9 বা উচ্চতর সংস্করণের সাথে লঞ্চ করা ডিভাইসগুলির জন্য, ro.product.first_api_level
প্রপার্টি কোডনেম, ট্যাগ এবং বিল্ড নম্বর থেকে একটি বৈধ মান সেট করুন।
Android 8.x বা তার নিচের জন্য প্রথম API স্তর
Android 8.x বা তার কম সংস্করণে লঞ্চ করা ডিভাইসগুলির জন্য, পণ্যটির প্রথম বিল্ডের জন্য ro.product.first_api_level
প্রপার্টি আনসেট (সরান)। পরবর্তী সমস্ত বিল্ডের জন্য, সঠিক API স্তরের মান ro.product.first_api_level
সেট করুন। এটি সম্পত্তিটিকে একটি নতুন পণ্যকে সঠিকভাবে সনাক্ত করতে এবং পণ্যের প্রথম API স্তর সম্পর্কে তথ্য সংরক্ষণ করতে দেয়। পতাকা সেট না থাকলে, Android ro.product.first_api_level
এ Build.VERSION.SDK_INT
বরাদ্দ করে।
CTS শিম প্যাকেজ
Android 10 বা উচ্চতর APEX নামক একটি প্যাকেজ বিন্যাস অন্তর্ভুক্ত করে। APEX ম্যানেজমেন্ট API-এর জন্য CTS পরীক্ষা চালানোর জন্য (যেমন একটি নতুন সংস্করণে আপডেট করা বা সক্রিয় APEXes প্রতিবেদন করা) আপনাকে অবশ্যই একটি /system
পার্টিশনে একটি CtsShimApex
প্যাকেজ প্রি-ইন্সটল করতে হবে।
APEX শিম যাচাইকরণ পরীক্ষা CtsShimApex
এর বাস্তবায়ন যাচাই করে।
ro.apex.updatable প্রয়োজনীয়তা
যদি
ro.apex.updatable
প্রপার্টিtrue
তে সেট করা থাকে, তাহলে APEX প্যাকেজ পরিচালনা সমর্থন করে এমন সমস্ত ডিভাইসের জন্যCtsShimApex
প্রয়োজন।ro.apex.updatable
প্রপার্টি অনুপস্থিত থাকলে বা সেট না থাকলে,CtsShimApex
কোনো ডিভাইসে আগে থেকে ইনস্টল করার প্রয়োজন নেই।
APEX শিম যাচাইকরণ পরীক্ষা CtsShimApex
এর বাস্তবায়ন যাচাই করে।
CtsShim প্রিইন্সটল এবং প্রিলোড করে
অ্যান্ড্রয়েড 11 দিয়ে শুরু করে, CtsShimApex
দুটি প্রি-বিল্ট অ্যাপ রয়েছে ( বিল্ড সোর্স থেকে তৈরি), যেটিতে ম্যানিফেস্ট ছাড়া কোনো কোড থাকে না। সুবিধা এবং অনুমতি পরীক্ষা করতে CTS এই অ্যাপগুলি ব্যবহার করে।
যদি ডিভাইসটি APEX প্যাকেজ পরিচালনাকে সমর্থন না করে (অর্থাৎ, ro.apex.updatable
প্রপার্টিটি অনুপস্থিত বা সেট করা নেই), অথবা ডিভাইসটি 10 বা তার নিচের সংস্করণটি চলমান থাকলে, দুটি পূর্বনির্মাণ করা অ্যাপগুলিকে আগে থেকে ইনস্টল করতে হবে আলাদাভাবে সিস্টেম।
APEX সমর্থিত হলে, উপযুক্ত রিলিজের জন্য প্রি-ইনস্টলগুলিকে /system/apex/com.android.apex.cts.shim.apex
হিসাবে স্থাপন করতে হবে।
নিয়মিত প্রি-বিল্ট অ্যাপ ব্যবহার করা হলে, উপযুক্ত রিলিজের জন্য CtsShim
এবং CtsShimPriv
যথাক্রমে /system/app/CtsShimPrebuilt.apk
এবং /system/priv-app/CtsShimPrivPrebuilt.apk
হিসাবে স্থাপন করতে হবে।
নিম্নলিখিত সারণী প্রতিটি ডিভাইস সংস্করণ এবং আর্কিটেকচারের জন্য উপলব্ধ প্রি-ইনস্টল এবং প্রিলোডগুলি তালিকাভুক্ত করে৷
ডিভাইস সংস্করণ | প্রিইন্সটল (যদি APEX সমর্থিত হয়) | প্রিলোড | ||
---|---|---|---|---|
এআরএম | x86 | এআরএম | x86 | |
অ্যান্ড্রয়েড 15 | android15-আর্ম-রিলিজ | android15-x86-রিলিজ | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk |
অ্যান্ড্রয়েড 14 | android14-আর্ম-রিলিজ | android14-x86-রিলিজ | android14-arm-CtsShim.apk | android14-x86-CtsShim.apk |
অ্যান্ড্রয়েড 13 | android13-আর্ম-রিলিজ | android13-x86-রিলিজ | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
অ্যান্ড্রয়েড 12 | android12-আর্ম-রিলিজ | android12-x86-রিলিজ | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
অ্যান্ড্রয়েড 11 | android11-আর্ম-রিলিজ | android11-x86-রিলিজ | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
অ্যান্ড্রয়েড 10 | android10-রিলিজ | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O, এবং O-MR1 | N/A | N/A | arm-CtsShim.apk | x86-CtsShim.apk |
পরীক্ষায় উত্তীর্ণ হতে, অ্যাপ্লিকেশানগুলিতে পুনরায় স্বাক্ষর না করেই সিস্টেম চিত্রের উপযুক্ত ডিরেক্টরিগুলিতে অ্যাপগুলিকে প্রিলোড করুন৷
নমুনা অ্যাপলেট
অ্যান্ড্রয়েড 9 ওপেন মোবাইল এপিআই চালু করেছে। একাধিক সুরক্ষিত উপাদানের রিপোর্ট করে এমন ডিভাইসগুলির জন্য, CTS ওপেন মোবাইল API-এর আচরণ যাচাই করার জন্য পরীক্ষার কেস যোগ করে। এই পরীক্ষার ক্ষেত্রে DUT এর এমবেডেড সিকিউর এলিমেন্ট (eSE) বা DUT দ্বারা ব্যবহৃত সিম কার্ডে একটি নমুনা অ্যাপলেটের এককালীন ইনস্টলেশন প্রয়োজন। eSE নমুনা অ্যাপলেট এবং সিম নমুনা অ্যাপলেট AOSP-এ পাওয়া যাবে।
ওপেন মোবাইল এপিআই টেস্ট কেস এবং অ্যাক্সেস কন্ট্রোল পরীক্ষার ক্ষেত্রে আরও বিস্তারিত তথ্যের জন্য সিকিউর এলিমেন্টের জন্য CTS টেস্ট দেখুন।
স্টোরেজ প্রয়োজনীয়তা
CTS মিডিয়া স্ট্রেস টেস্টের জন্য ভিডিও ক্লিপগুলিকে বাহ্যিক সঞ্চয়স্থানে ( /sdcard
) থাকতে হবে। বেশিরভাগ ক্লিপগুলি বিগ বক বানির থেকে এসেছে, যা ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 3.0 লাইসেন্সের অধীনে ব্লেন্ডার ফাউন্ডেশন দ্বারা কপিরাইট করা হয়েছে।
প্রয়োজনীয় স্থান ডিভাইস দ্বারা সমর্থিত সর্বাধিক ভিডিও প্লেব্যাক রেজোলিউশনের উপর নির্ভর করে। প্রয়োজনীয় রেজোলিউশনের প্ল্যাটফর্ম সংস্করণের জন্য অ্যান্ড্রয়েড সামঞ্জস্যের সংজ্ঞা নথিতে বিভাগ 5 দেখুন।
এখানে সর্বাধিক ভিডিও প্লেব্যাক রেজোলিউশন দ্বারা স্টোরেজ প্রয়োজনীয়তা রয়েছে:
- 480x360: 98 MB
- 720x480: 193 MB
- 1280x720: 606 MB
- 1920x1080: 1863 MB
স্ক্রীন এবং স্টোরেজ
- এমবেডেড স্ক্রিন নেই এমন যেকোন ডিভাইসকে একটি স্ক্রিনের সাথে সংযুক্ত করতে হবে।
ডিভাইসটিতে মেমরি কার্ড স্লট থাকলে, একটি খালি SD কার্ড প্লাগ ইন করুন৷ একটি SD কার্ড ব্যবহার করুন যা SDHC বা SDXC ক্ষমতা সম্পন্ন অতি উচ্চ গতির (UHS) বাসকে সমর্থন করে বা এটি CTS পাস করতে পারে তা নিশ্চিত করার জন্য কমপক্ষে 10 বা তার বেশি গতির একটি বাস।
যদি ডিভাইসে সিম কার্ড স্লট থাকে তবে প্রতিটি স্লটে একটি সক্রিয় সিম কার্ড প্লাগ করুন। যদি ডিভাইসটি এসএমএসকে সমর্থন করে তবে প্রতিটি সিম কার্ডের অবশ্যই নিজস্ব নম্বর ক্ষেত্রটি জনবহুল থাকতে হবে। অ্যান্ড্রয়েড 12 বা উচ্চতর চলমান ডিভাইসগুলির জন্য, সমস্ত সিম কার্ডের সংক্ষিপ্ত ডায়ালিং নম্বর (এডিএন) সংরক্ষণের জন্য অবশ্যই সমর্থন থাকতে হবে। টেলিকম ডেডিকেটেড ফাইল (ডিএফ টেলিকম ) সহ জিএসএম এবং ইউএসআইএম কার্ডগুলি এই প্রয়োজনীয়তাটি পূরণ করে।
বিকাশকারী ইউআইসিসি
সিটিএস ক্যারিয়ার এপিআই পরীক্ষা চালানোর জন্য, ডিভাইসটিকে ইউআইসিসি প্রস্তুত করার ক্ষেত্রে নির্দিষ্ট প্রয়োজনীয়তাগুলি পূরণ করে সিটিএস ক্যারিয়ার সুবিধাগুলির সাথে একটি সিম ব্যবহার করা দরকার।
অ্যান্ড্রয়েড ডিভাইস কনফিগারেশন
কারখানার ডেটা পুনরায় সেট করুন ডিভাইস: সেটিংস> ব্যাকআপ এবং রিসেট> কারখানার ডেটা রিসেট ।
আপনার ডিভাইসের ভাষা ইংরেজিতে সেট করুন ( মার্কিন যুক্তরাষ্ট্র ): সেটিংস> ভাষা এবং ইনপুট> ভাষা ।
যদি ডিভাইসটি ডিফল্ট ফন্টগুলি কাস্টমাইজ করতে সমর্থন করে তবে ডিফল্ট
sans-serif
ফন্ট পরিবারকেRoboto
সেট করুন (এওএসপি বিল্ডগুলিতে ব্যবহৃত ডিফল্টsans-serif
ফন্ট পরিবার)।ডিভাইসে কোনও জিপিএস বা ওয়াই-ফাই/সেলুলার নেটওয়ার্ক বৈশিষ্ট্য থাকলে: সেটিংস> অবস্থান> চালু থাকলে লোকেশন সেটিংটি চালু করুন।
আইপিভি 6 সমর্থন করে এমন একটি ওয়াই-ফাই নেটওয়ার্কের সাথে সংযুক্ত করুন, ডিইটিটি বিচ্ছিন্ন ক্লায়েন্ট হিসাবে বিবেচনা করতে পারে (উপরের শারীরিক পরিবেশ দেখুন), এবং একটি ইন্টারনেট সংযোগ রয়েছে: সেটিংস> ওয়াই-ফাই ।
নিশ্চিত করুন যে কোনও লক প্যাটার্ন বা পাসওয়ার্ড ডিভাইসে সেট করা নেই: সেটিংস> সুরক্ষা> স্ক্রিন লক> কিছুই নয় ।
আপনার ডিভাইসে ইউএসবি ডিবাগিং সক্ষম করুন: সেটিংস> বিকাশকারী বিকল্পগুলি> ইউএসবি ডিবাগিং ।
সময়টি 12-ঘন্টা ফর্ম্যাটে সেট করুন: সেটিংস> তারিখ এবং সময়> 24 ঘন্টা ফর্ম্যাট> বন্ধ ব্যবহার করুন ।
জাগ্রত থাকার জন্য ডিভাইসটি সেট করুন: সেটিংস> বিকাশকারী বিকল্পগুলি> জাগ্রত থাকুন> চালু ।
অ্যান্ড্রয়েড 5.x এবং কেবল 4.4.x এ, মক লোকেশনগুলির অনুমতি দেওয়ার জন্য ডিভাইসটি সেট করুন: সেটিংস> বিকাশকারী বিকল্পগুলি> মক অবস্থানগুলি> চালু করার অনুমতি দিন ।
অ্যান্ড্রয়েড ৪.২ বা তার বেশি , ইউএসবি অ্যাপ্লিকেশন যাচাইকরণ বন্ধ করুন: সেটিংস> বিকাশকারী বিকল্পগুলি> ইউএসবি> অফের মাধ্যমে অ্যাপ্লিকেশনগুলি যাচাই করুন ।
অ্যান্ড্রয়েড 13 বা উচ্চতর , মক মডেমের অনুমতি দেওয়ার জন্য ডিভাইসটি সেট করুন: সেটিংস> বিকাশকারী বিকল্পগুলি> মক মডেম> চালু করার অনুমতি দিন ।
ব্রাউজারটি চালু করুন এবং কোনও স্টার্টআপ/সেটআপ স্ক্রিনটি খারিজ করুন।
ডেস্কটপ মেশিনটি সংযুক্ত করুন যা কোনও ইউএসবি কেবল দিয়ে ডিভাইসটি পরীক্ষা করতে ব্যবহৃত হবে।
সিটিএস চালানোর আগে, রোবোটো 2 কে ব্যবহারকারী অ্যাক্সেসযোগ্য সাশ্রয়ী (লুকানো নয়) সেটিং ব্যবহার করে সানস-সেরিফ ফন্ট হিসাবে সেট করুন।
ফাইল ইনস্টলেশন
ডিভাইসে সহায়ক অ্যাপ্লিকেশনগুলি ইনস্টল করুন এবং কনফিগার করুন।
আপনার সিটিএস সংস্করণ অনুযায়ী আপনার ডিভাইস সেট আপ করুন:
সিটিএস সংস্করণগুলি ২.১ আর 2 এর মাধ্যমে ৪.২ আর 4: অ্যাক্সেসযোগ্যতা পরীক্ষাগুলি চালানোর জন্য আপনার ডিভাইস (বা এমুলেটর) সেট আপ করুন:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
ডিভাইসে, ডেলিগেশন সক্ষম করুন: সেটিংস> অ্যাক্সেসিবিলিটি> অ্যাক্সেসিবিলিটি> অ্যাক্সেসযোগ্যতা পরিষেবা অর্পণ করা ।
সিটিএস সংস্করণগুলি 6.x বা তার চেয়ে কম: ডিভাইসগুলিতে যেগুলি
android.software.device_admin
ঘোষণা করে, ডিভাইস প্রশাসনের পরীক্ষা চালানোর জন্য আপনার ডিভাইস সেট আপ করুন:adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`
সেটিংসে> সুরক্ষা> ডিভাইস অ্যাডমিনিস্ট্রেটর নির্বাচন করুন , দুটি
android.deviceadmin.cts.CtsDeviceAdminReceiver*
ডিভাইস অ্যাডমিনিস্ট্রেটর সক্ষম করুন। নিশ্চিত করুন যেandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
এবং অন্য যে কোনও প্রিললোডেড ডিভাইস প্রশাসকরা অক্ষম রয়েছেন।
সিটিএস মিডিয়া ফাইলগুলি নীচে ডিভাইসে অনুলিপি করুন:
- মিডিয়া ফাইলগুলি ডাউনলোড এবং আনজিপ করা হয়েছে এমন পথে (
cd
) নেভিগেট করুন। ফাইলের অনুমতিগুলি পরিবর্তন করুন:
chmod u+x copy_media.sh
প্রয়োজনীয় ফাইলগুলি অনুলিপি করুন:
720x480 এর রেজোলিউশন পর্যন্ত ক্লিপগুলি অনুলিপি করতে, রান:
./copy_media.sh 720x480
আপনি যদি সর্বাধিক রেজোলিউশন সম্পর্কে নিশ্চিত না হন তবে সমস্ত ফাইল অনুলিপি করুন:
./copy_media.sh all
যদি এডিবির অধীনে একাধিক ডিভাইস থাকে তবে শেষ পর্যন্ত একটি নির্দিষ্ট ডিভাইসের সিরিয়াল বিকল্প (
-s
) যুক্ত করুন। উদাহরণস্বরূপ, সিরিয়াল 1234567 সহ ডিভাইসে 720x480 পর্যন্ত অনুলিপি করতে, রান:./copy_media.sh 720x480 -s 1234567
- মিডিয়া ফাইলগুলি ডাউনলোড এবং আনজিপ করা হয়েছে এমন পথে (