Winscope ট্রেসিং অ্যান্ড্রয়েড ফ্রেমওয়ার্কের অংশ। এই পৃষ্ঠাটি স্থানীয়ভাবে Winscope ট্রেস ভিউয়ার ডাউনলোড, তৈরি এবং চালানোর জন্য প্রয়োজনীয় পদক্ষেপগুলির রূপরেখা দেয়৷
স্থানীয়ভাবে Winscope তৈরি করুন
Winscope ট্রেসার চালানোর জন্য আপনার পিসি সেট আপ করতে এই পদক্ষেপগুলি অনুসরণ করুন:
- অ্যান্ড্রয়েড সোর্স ডাউনলোড করুন ।
Winscope ফোল্ডারে নেভিগেট করুন:
cd development/tools/winscope
ব্যবহার করে নির্ভরতা ইনস্টল করুন:
npm install
উপলব্ধ কমান্ডের একটি তালিকা দেখতে, চালান:
npm run
ব্যবহার করে সমস্ত পণ্য এবং পরীক্ষার লক্ষ্যগুলি তৈরি করুন:
npm run build:prod
ব্যবহার করে Winscope চালান:
npm run start
আলাদা অংশ তৈরি করুন
আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আলাদাভাবে Winscope এর পৃথক অংশগুলি তৈরি করতে পারেন:
আদেশ | বর্ণনা |
---|---|
build:trace_processor | চেক আউট এবং এর সর্বশেষ সংস্করণ পুনর্নির্মাণ পারফেটোর trace_processor । |
build:protos | প্রোটো সংজ্ঞা পুনরায় কম্পাইল করে। |
পরীক্ষা চালান
উইনস্কোপে ইউনিট এবং এন্ড-টু-এন্ড পরীক্ষা রয়েছে। তাদের চালানোর জন্য npm run <command>
ব্যবহার করুন:
আদেশ | বর্ণনা |
---|---|
test:unit:ci | CI-এর জন্য কম ভার্বোস বিন্যাসে ইউনিট পরীক্ষা চালায় অথবা হুক জমা দিন। |
test:unit:dev | এর জন্য আরও ভার্বস ফরম্যাটে ইউনিট পরীক্ষা চালায় স্থানীয় উন্নয়ন। এই মোড পরিবর্তনের জন্য ঘড়ি এবং স্বয়ংক্রিয়ভাবে সঠিক পরীক্ষা পুনরায় চালায়। |
test:e2e | এন্ড-টু-এন্ড পরীক্ষা চালায়, যেমন এর জন্য ক্রস-টুল প্রোটোকল। |
test:presubmit:quiet | সমস্ত প্রি-সাবমিট ইউনিট পরীক্ষা, লিন্টার এবং গ্রাফ তৈরি করে CI বা প্রিসবমিটের জন্য একটি কম ভার্বোস বিন্যাসে বিশ্লেষণ হুক |
test:presubmit | সমস্ত প্রি-সাবমিট ইউনিট পরীক্ষা, লিন্টার এবং গ্রাফ তৈরি করে স্থানীয় জন্য একটি আরো ভার্বস বিন্যাসে বিশ্লেষণ উন্নয়ন |
test:all | সমস্ত পরীক্ষা চালায় (ইউনিট এবং এন্ড-টু-এন্ড), লিন্টার এবং স্থানীয় জন্য আরো ভার্বস বিন্যাসে গ্রাফ বিশ্লেষণ উন্নয়ন |
@IntDef ম্যাপিং আপডেট করুন
@IntDef
হল একটি পূর্ণসংখ্যার সম্ভাব্য মানগুলিকে সীমাবদ্ধ করতে অ্যান্ড্রয়েডে ব্যবহৃত একটি টীকা। Winscope পূর্ণসংখ্যার পরিবর্তে মানের নাম প্রদর্শন করতে এই টীকাগুলির একটি ম্যাপিং ব্যবহার করে।
@IntDef
ম্যাপিং আপডেট করতে, নিম্নলিখিতগুলি করুন:
টীকা প্রিপ্রসেসর চালানোর জন্য
:framework-minus-apex-intdefs
তৈরি করুন:mp :framework-minus-apex-intdefs
তৈরি করা
intDefMapping.json
ফাইলটিকে প্রিবিল্ট রিপোজিটরিতে কপি করুন:$ python3 -c 'import sys,json,collections; print(json.dumps(collections.OrderedDict(sorted(collections.ChainMap(*map(lambda x:json.load(open(x)), sys.argv[1:])).items())), indent=2))' $(find out/soong/.intermediates/frameworks/base -iname intDefMapping.json) > ./development/tools/winscope/src/common/intDefMapping.json
repo upload
ব্যবহার করে Winscope এ পরিবর্তনগুলি আপলোড করুন।
অন্যান্য কমান্ড
নির্মাণ এবং পরীক্ষা ছাড়াও, উইনস্কোপ স্ক্রিপ্টে অন্যান্য ক্ষমতা রয়েছে, যেমনটি টেবিলে দেখানো হয়েছে। তাদের চালানোর জন্য npm run command
ব্যবহার করুন:
আদেশ | বর্ণনা |
---|---|
format:check | prettier ব্যবহার করে কোড ফরম্যাটিং সমস্যার জন্য পরীক্ষা করে। |
format:fix | prettier ব্যবহার করে কোড ফরম্যাটিং সমস্যা চেক এবং স্বয়ংক্রিয়ভাবে ঠিক করে। |
eslint:check | eslint ব্যবহার করে কোড ফরম্যাটিং সমস্যার জন্য পরীক্ষা করে। |
eslint:fix | eslint ব্যবহার করে কোড ফরম্যাটিং সমস্যা চেক এবং স্বয়ংক্রিয়ভাবে ঠিক করে। |
tslint:check | tslint ব্যবহার করে কোড ফরম্যাটিং সমস্যার জন্য পরীক্ষা করে। |
tslint:fix | tslint ব্যবহার করে কোড ফরম্যাটিং সমস্যা চেক করে এবং স্বয়ংক্রিয়ভাবে ঠিক করে। |
deps_graph:check_cycles | চক্রীয় নির্ভরতার জন্য কোড বিশ্লেষণ করে। |
সমস্যা সমাধান
সমস্যা সমাধানের জন্য নিম্নলিখিত টিপস ব্যবহার করুন:
ত্রুটি
ProtocolError: missing required '<FIELD>'
বাTypeError: Cannot read property '<PROP>' of null
এটি ঘটে যখন ট্রেস ফাইলটি একটি নতুন প্রোটো সংজ্ঞা দিয়ে তৈরি করা হয়, যাতে নতুন প্রয়োজনীয় ক্ষেত্র থাকে।
- নিশ্চিত করুন যে আপনি সঠিক Winscope সংস্করণে ট্রেস খুলছেন (মাস্টার, এস, বা আর)।
আপনি যদি প্রোটোতে নতুন ক্ষেত্র তৈরি করেন,
npm run build:protos
ব্যবহার করে Winscope-এ প্রোটোগুলি পুনরায় কম্পাইল করুন।
কিছু ইনস্টল করা নির্ভরতা সংস্করণ ভুল (বিল্ড ব্যর্থ হয়)
-
package.json
এবংpackage-lock.json
এ পরিবর্তনগুলি প্রত্যাবর্তন করুন।node_modules
সরান। আবারnpm install
চালান।
-
আমি প্রোটো ফাইলগুলির একটিতে একটি নতুন ক্ষেত্র যোগ করেছি। আমি এটা কিভাবে প্রদর্শন করব?
- Winscope প্রোটো সংজ্ঞা ব্যবহার করে যখন এটি সংকলিত হয়েছিল, তাই নতুন ক্ষেত্রগুলি ডিফল্টরূপে প্রদর্শিত হবে না। নতুন ক্ষেত্রগুলি দেখানোর জন্য,
npm run build:protos
ব্যবহার করে প্রোটো পুনর্নির্মাণ করুন।
- Winscope প্রোটো সংজ্ঞা ব্যবহার করে যখন এটি সংকলিত হয়েছিল, তাই নতুন ক্ষেত্রগুলি ডিফল্টরূপে প্রদর্শিত হবে না। নতুন ক্ষেত্রগুলি দেখানোর জন্য,