27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
Tradefed XML কনফিগারেশনের উচ্চ-স্তরের কাঠামো
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
Tradefed-এর কনফিগারেশনগুলি পরীক্ষা চালানোর জন্য এবং প্রস্তুতি/সেটআপের ধাপগুলি বর্ণনা করার জন্য একটি XML কাঠামো অনুসরণ করে।
তাত্ত্বিকভাবে, একটি একক কমান্ডের জন্য XML-এ সবকিছু সংজ্ঞায়িত করা যেতে পারে। কিন্তু বাস্তবে, বেস টেমপ্লেট এক্সএমএল ফাইল থাকা এবং অতিরিক্ত কমান্ড লাইন প্যারামিটারের সাথে কাস্টমাইজ করা আরও বাস্তব।
গঠন
<configuration description="<description of the configuration>">
<!-- A build provider that takes local device information -->
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<!-- Some target preparation, disabled by default -->
<target_preparer class="com.android.tradefed.targetprep.PreloadedClassesPreparer">
<option name="disable" value="true" />
</target_preparer>
<!-- One test running some unit tests -->
<test class="com.android.tradefed.testtype.HostTest">
<option name="class" value="com.android.tradefed.build.BuildInfoTest" />
</test>
<!-- [OPTIONAL] -->
<logger class="com.android.tradefed.log.FileLogger">
<option name="log-level" value="VERBOSE" />
<option name="log-level-display" value="VERBOSE" />
</logger>
<!-- [OPTIONAL] -->
<log_saver class="com.android.tradefed.result.FileSystemLogSaver" />
<!-- As many reporters as we want -->
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter" />
<result_reporter class="com.android.tradefed.result.suite.SuiteResultReporter" />
<result_reporter class="com.android.tradefed.result.MetricsXMLResultReporter"/>
</configuration>
সামগ্রিক ট্রেডফেড এক্সএমএলকে <configuration>
ট্যাগ দ্বারা সীমাবদ্ধ করা হয়েছে। Tradefed objects
তাদের নিজস্ব ট্যাগে সংজ্ঞায়িত করা হয়েছে, উদাহরণস্বরূপ: build_provider
, target_preparer
, test
, ইত্যাদি। তাদের স্বতন্ত্র উদ্দেশ্যগুলি আর্কিটেকচার বিভাগে আরও বিশদে বর্ণনা করা হয়েছে।
প্রতিটি অবজেক্টের জাভা ক্লাস রয়েছে class=
এ সংজ্ঞায়িত অবজেক্টের সাথে যা রানটাইমে সমাধান করা হয়; সুতরাং যতক্ষণ পর্যন্ত ক্লাস ধারণকারী JAR ফাইলটি ট্রেডফেড জাভা ক্লাসপথে থাকবে, ততক্ষণ এটি খুঁজে পাওয়া যাবে এবং সমাধান করা হবে।
Tradefed বস্তুর আদেশ
বিভিন্ন ট্যাগের ক্রম কোন ব্যাপার না। উদাহরণস্বরূপ, target_preparer
পরে build_provider
নির্দিষ্ট করা থাকলে এতে কোন পার্থক্য নেই। পরীক্ষার আহবানের প্রবাহটি জোতা দ্বারা প্রয়োগ করা হয়, তাই এটি সর্বদা সঠিক ক্রমে তাদের কল করবে।
একই ট্যাগ সহ বস্তুর ক্রম গুরুত্বপূর্ণ । উদাহরণস্বরূপ, সংজ্ঞায়িত দুটি target_preparer
বস্তুকে XML-এ তাদের সংজ্ঞার ক্রম অনুসারে বলা হবে। এটি বোঝা গুরুত্বপূর্ণ কারণ এটি ডিভাইস সেটআপের শেষ অবস্থা পরিবর্তন করতে পারে। উদাহরণস্বরূপ, ফ্ল্যাশিং তারপর একটি apk ইনস্টল করা একটি apk ইনস্টল করা এবং ফ্ল্যাশ করার মতো হবে না কারণ ফ্ল্যাশিং ডিভাইসটি মুছে ফেলবে৷
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি 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,["# High-level structure of Tradefed XML configuration\n\nTradefed's configurations follow an XML structure to describe the test to be run\nand the preparation/setup steps to be done.\n\nIn theory, everything can be defined in the XML for a single command. But in\npractice, it is more practical to have base template XML files and customize\nthem with extra command line parameters.\n\nStructure\n---------\n\n \u003cconfiguration description=\"\u003cdescription of the configuration\u003e\"\u003e\n \u003c!-- A build provider that takes local device information --\u003e\n \u003cbuild_provider class=\"com.android.tradefed.build.BootstrapBuildProvider\" /\u003e\n\n \u003c!-- Some target preparation, disabled by default --\u003e\n \u003ctarget_preparer class=\"com.android.tradefed.targetprep.PreloadedClassesPreparer\"\u003e\n \u003coption name=\"disable\" value=\"true\" /\u003e\n \u003c/target_preparer\u003e\n\n \u003c!-- One test running some unit tests --\u003e\n \u003ctest class=\"com.android.tradefed.testtype.HostTest\"\u003e\n \u003coption name=\"class\" value=\"com.android.tradefed.build.BuildInfoTest\" /\u003e\n \u003c/test\u003e\n\n \u003c!-- [OPTIONAL] --\u003e\n \u003clogger class=\"com.android.tradefed.log.FileLogger\"\u003e\n \u003coption name=\"log-level\" value=\"VERBOSE\" /\u003e\n \u003coption name=\"log-level-display\" value=\"VERBOSE\" /\u003e\n \u003c/logger\u003e\n\n \u003c!-- [OPTIONAL] --\u003e\n \u003clog_saver class=\"com.android.tradefed.result.FileSystemLogSaver\" /\u003e\n\n \u003c!-- As many reporters as we want --\u003e\n \u003cresult_reporter class=\"com.android.tradefed.result.ConsoleResultReporter\" /\u003e\n \u003cresult_reporter class=\"com.android.tradefed.result.suite.SuiteResultReporter\" /\u003e\n \u003cresult_reporter class=\"com.android.tradefed.result.MetricsXMLResultReporter\"/\u003e\n \u003c/configuration\u003e\n\nThe overall Tradefed XML is delimited by `\u003cconfiguration\u003e` tags. `Tradefed\nobjects` are defined in their own tags, for example: `build_provider`,\n`target_preparer`, `test`, etc. Their individual purposes are described in more\ndetail in the [Architecture](/docs/core/tests/tradefed/architecture)\nsection.\n\nEach object has the Java class associated with the object defined in `class=`\nthat is resolved at runtime; so as long as the JAR file containing the class is\non the Tradefed Java classpath when running, it will be found and resolved.\n\nOrders of Tradefed objects\n--------------------------\n\nThe order of the different tags does not matter. For example, it makes no\ndifference if `build_provider` is specified after `target_preparer`. The flow of\nthe test invocation is enforced by the harness itself, so it will always call\nthem in the right order.\n\nThe order of objects with the **same tag does matter** . For example, two\n`target_preparer` objects defined will be called in their order of definition in\nthe XML. It is important to understand this as it can change the end state of\nthe device setup. For example, *flashing then installing an apk* would not be the\nsame as *installing an apk and flashing* since flashing would wipe the device."]]