তাত্ক্ষণিক অ্যাপের জন্য CTS

তাত্ক্ষণিক অ্যাপ 10-এর একটি মূল বৈশিষ্ট্য, তাই তাদের সঠিকভাবে কাজ করা অপরিহার্য। তাত্ক্ষণিক অ্যাপগুলি পরোক্ষভাবে ইনস্টল করা হয়েছে, তাই তাদের ক্ষমতার একটি সীমাবদ্ধ সেট রয়েছে এবং আরও সীমাবদ্ধ সুরক্ষা স্যান্ডবক্সে চলে৷ এই বিধিনিষেধের বিস্তৃত প্রকৃতির কারণে, সিস্টেমের যেকোনো অংশ ইনস্ট্যান্ট অ্যাপের সাথে সঠিকভাবে কাজ না করার ঝুঁকিতে রয়েছে। ইনস্ট্যান্ট অ্যাপের দ্বারা অনুমোদিত আচরণগুলি কাজ করছে তা নিশ্চিত করার জন্য একটি CTS পরীক্ষার উপসেট তৈরি করা হয়েছে৷ মূল ধারণাটি হল পোর্টে পরীক্ষার ন্যূনতম সেট বিচ্ছিন্ন করে CTS-এর আকার বৃদ্ধি কমিয়ে আনা। CTS ইনস্ট্যান্ট অ্যাপস মোডে চলার অর্থ হল একটি ঝটপট অ্যাপ হিসেবে টেস্ট APK ইনস্টল করা এবং পরীক্ষা চালানো।

তাত্ক্ষণিক অ্যাপ সীমাবদ্ধতা

তাত্ক্ষণিক অ্যাপগুলি ব্যবহারকারী দ্বারা ইনস্টল করা হয় না, তাই সেগুলি নিম্নলিখিত বিধিনিষেধ সহ একটি সীমাবদ্ধ স্যান্ডবক্সে চলে:

  • শুধুমাত্র নির্দিষ্ট কিছু অনুমতি রাখা যাবে।
  • অন্যান্য অ্যাপগুলি দেখতে পাবেন না যদি না সেই অ্যাপগুলিকে তাত্ক্ষণিক অ্যাপগুলির কাছে দৃশ্যমান হিসাবে চিহ্নিত করা হয়৷
  • শুধুমাত্র নির্দিষ্ট সিস্টেম সেটিংস অ্যাক্সেস করতে পারেন।
  • শুধুমাত্র নির্দিষ্ট সিস্টেম বৈশিষ্ট্য অ্যাক্সেস করতে পারেন.
  • পরিষেবা/প্রোভাইডারদের প্রকাশ করা যাবে না।
  • সম্প্রচারের চারপাশে বিশেষ নিয়মের সাথে গ্রহণ এবং পাঠাতে পারে।

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

ইনস্ট্যান্ট অ্যাপস মোডে পরীক্ষা চলছে

সমস্ত CTS মডিউলের পরীক্ষাগুলি তাত্ক্ষণিক অ্যাপগুলিতে প্রযোজ্য নয়৷ যদি মডিউল দ্বারা পরীক্ষিত কার্যকারিতা সিস্টেম সার্ভারের সাথে মিথস্ক্রিয়া থাকে, তাহলে এই পরীক্ষাগুলি ইনস্ট্যান্ট অ্যাপস মোডে চালানো উচিত। উদাহরণস্বরূপ, OpenGL পরীক্ষাগুলি সিস্টেম সার্ভারের সাথে ইন্টারঅ্যাক্ট করছে না এবং তাই তাদের ইনস্ট্যান্ট অ্যাপস মোডে চালানোর কোন প্রয়োজন নেই যখন অ্যাক্সেসিবিলিটি পরীক্ষাগুলি সিস্টেম সার্ভারের সাথে ইন্টারঅ্যাক্ট করে কিন্তু তাৎক্ষণিক অ্যাপস মোডে সেগুলি চালানোর প্রয়োজন আছে৷

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

ইনস্ট্যান্ট অ্যাপস মোডে পরীক্ষা ব্যর্থ হয়েছে

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

যদি পরীক্ষা ব্যর্থ হয় কারণ তাত্ক্ষণিক অ্যাপগুলিতে অ্যাক্সেসযোগ্য কিছু কার্যকারিতা নষ্ট হয়ে গেছে, একটি বাগ ফাইল করুন

সমস্যা সমাধান

আপনার পরীক্ষা ব্যর্থ হলে DEVICE-এ MyCtsModule.apk ইনস্টল করতে ব্যর্থ হয়। কারণ: '-116' , লগক্যাটে প্যাকেজ ম্যানেজার বার্তাগুলি সন্ধান করুন৷ উদাহরণ স্বরূপ, যদি বলা হয় ইনস্ট্যান্ট অ্যাপ দিয়ে সম্পূর্ণ অ্যাপ প্রতিস্থাপন করা যাবে না: your_app , তাহলে adb প্রথমে আপনার অ্যাপ আনইনস্টল করুন।