27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
TF-এ ডিভাইসগুলির সাথে কাজ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
ট্রেড ফেডারেশন পরীক্ষা চালানোর জন্য ITestDevice
নামক একটি বিমূর্ততা ব্যবহার করে। এই বিমূর্ততা সর্বনিম্ন-সাধারণ-ডিনোমিনেটর অ্যান্ড্রয়েড ডিভাইসটিকে উদ্দেশ্য করে:
- এর একটি ক্রমিক নম্বর আছে
- এটির একটি অবস্থা রয়েছে: অনলাইন, উপলব্ধ, পুনরুদ্ধার বা উপলব্ধ নয়৷
- এটির নির্ভরযোগ্যতার কিছু ধারণা রয়েছে। উদাহরণস্বরূপ, যদি আমরা একটি কমান্ড চালাই, আমরা সেই ক্ষেত্রে পার্থক্য করতে পারি যেখানে কমান্ডটি এখনও শেষ হয়নি, যে ক্ষেত্রে ডিভাইসটি চলমান কমান্ড সমর্থন করে না এবং যে ক্ষেত্রে কমান্ড চালানোর সময় ডিভাইসটি প্রতিক্রিয়াহীন হয়ে পড়েছে।
ডিভাইস ক্লাস
ITestDevice
এর তিনটি প্রাথমিক বাস্তবায়ন তিনটি সাধারণ ব্যবহারের ক্ষেত্রে উপস্থাপন করে।
ভৌত যন্ত্র
এটি একটি আসল হার্ডওয়্যার, যা টিএফ হোস্ট মেশিনের সাথে ইউএসবি বা adb-এর TCP বৈশিষ্ট্য ব্যবহার করে সংযুক্ত। TestDevice ক্লাসটি ddmlib লাইব্রেরির উপরে বসে, যা adb-এর একটি জাভা ইন্টারফেস। তাই adb devices
তালিকাভুক্ত যেকোন ভৌত ডিভাইসকে তাৎক্ষণিকভাবে ব্যবহার করা যেতে পারে এবং একটি TestDevice
হিসেবে ব্যবহার করা যেতে পারে।
এমুলেটর
এমুলেটরগুলি বিশেষভাবে TF দ্বারা পরিচালিত হয় কারণ তারা অন্য প্রক্রিয়ায় থাকে। একটি এমুলেটরের সাথে ইন্টারঅ্যাক্ট করতে, কমান্ডের জন্য --emulator
আর্গুমেন্ট উল্লেখ করুন। আরও তথ্যের জন্য LocalSdkBuildProvider এবং SdkAvdPreparer দেখুন।
কোন ডিভাস নাই
ধরুন আপনার একটি পরীক্ষা আছে যা কোনো ডিভাইসের সাথে ইন্টারঅ্যাক্ট করে না। উদাহরণস্বরূপ, এটি শুধুমাত্র কিছু পরিষেবা থেকে একটি ফাইল ডাউনলোড করতে পারে এবং ফাইলটি নিজেই বৈধ কিনা তা যাচাই করতে পারে। NullDevice হল একটি ITestDevice
যা একটি অসম্পূর্ণ। এটির একটি ক্রমিক নম্বর রয়েছে যেমন null-device-N
, এবং বেশিরভাগ চেষ্টা করা অপারেশন হয় নীরবে নয় বা থ্রো করা হয়।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Work with devices in TF\n\nTrade Federation uses an abstraction called\n[ITestDevice](/reference/com/android/tradefed/device/ITestDevice) to\nrun tests. This abstraction objectifies the lowest-common-denominator Android device:\n\n- It has a serial number\n- It has a state: Online, Available, Recovery, or Not Available\n- It has some notion of reliability. For instance, if we run a command, we can differentiate between the case where the command hasn't finished yet, the case where the device doesn't support running commands, and the case where the device has become unresponsive while running the command.\n\nDevice classes\n--------------\n\nThe three primary implementations of `ITestDevice` represent three common\nusecases.\n\n### Physical device\n\nThis is an actual piece of hardware, connected to the TF host machine either by USB, or by using\nadb's TCP feature. The [TestDevice](/reference/com/android/tradefed/device/TestDevice) class sits atop the ddmlib library, which is a Java interface to adb. So any\nphysical device listed in `adb devices` can be instantiated and used as a\n`TestDevice`.\n\n### Emulator\n\nEmulators are handled specially by TF because they live in another process. To interact with an\nEmulator, specify the `--emulator` argument for the command. See\n[LocalSdkBuildProvider](/reference/com/android/tradefed/build/LocalSdkBuildProvider) and\n[SdkAvdPreparer](/reference/com/android/tradefed/targetprep/SdkAvdPreparer) for more info.\n\n### No device\n\nSuppose you have a test that doesn't interact with a device at all. For instance, it might just\ndownload a file from some service and verify that the file itself is valid. The\n[NullDevice](/reference/com/android/tradefed/device/NullDevice) is an `ITestDevice` that is just a stub. It has a serial number like\n`null-device-N`, and most attempted operations either no-op silently or throw."]]