আপনার রিলিজ বিল্ডে নেটিভ চিহ্নগুলি অন্তর্ভুক্ত করুন

ডিফল্টরূপে, নেটিভ কোড লাইব্রেরিগুলি আপনার অ্যাপের রিলিজ বিল্ডে ছিনতাই করা হয়। এই স্ট্রিপিংটিতে আপনার অ্যাপের দ্বারা ব্যবহৃত যেকোন নেটিভ লাইব্রেরিতে থাকা প্রতীক টেবিল এবং ডিবাগিং তথ্য অপসারণ করা হয়। নেটিভ কোড লাইব্রেরি খুলে ফেলার ফলে উল্লেখযোগ্য আকার সঞ্চয় হয়; যাইহোক, অনুপস্থিত তথ্যের (যেমন ক্লাস এবং ফাংশনের নাম) কারণে Google Play কনসোলে ক্র্যাশ নির্ণয় করা অসম্ভব। ক্র্যাশগুলি ডিবাগ করতে, আপনাকে প্লে কনসোলে আপনার অ্যাপের সাথে একটি ডিবাগ প্রতীক ফাইল অন্তর্ভুক্ত করতে হবে।

একটি প্রতীক ফাইল আপলোড করুন

Google Play Console Android ভাইটালগুলির অধীনে নেটিভ ক্র্যাশ রিপোর্ট করে৷ কয়েকটি ধাপে, আপনি আপনার অ্যাপের জন্য একটি নেটিভ ডিবাগ সিম্বল ফাইল তৈরি এবং আপলোড করতে পারেন। এই ফাইলটি আপনাকে আপনার অ্যাপকে প্রোডাকশনে ডিবাগ করতে সাহায্য করার জন্য অ্যান্ড্রয়েড ভাইটালগুলিতে সিম্বলিকেটেড নেটিভ ক্র্যাশ স্ট্যাক ট্রেস (যার মধ্যে ক্লাস এবং ফাংশনের নাম অন্তর্ভুক্ত) সক্ষম করে। এই ধাপগুলি আপনার প্রোজেক্টে ব্যবহৃত Android Gradle প্লাগইনের সংস্করণের উপর নির্ভর করে এবং আপনি একটি Android App Bundle (প্রস্তাবিত) বা APK ব্যবহার করছেন কিনা তার উপর নির্ভর করে।

Android Gradle প্লাগইন সংস্করণ 4.1 বা তার পরবর্তী সংস্করণ

আপনার প্রোজেক্ট যদি একটি Android অ্যাপ বান্ডেল (AAB) তৈরি করে, তাহলে আপনি AAB-তে স্বয়ংক্রিয়ভাবে নেটিভ ডিবাগ সিম্বল ফাইল অন্তর্ভুক্ত করার জন্য আপনার বিল্ড কনফিগার করতে পারেন যাতে আপনি আপনার অ্যাপ প্রকাশ করার সময় এটি প্লে কনসোলে আপলোড হয়। এই ফাইলটিকে রিলিজ বিল্ডে অন্তর্ভুক্ত করতে, আপনার অ্যাপের build.gradle.kts ফাইলে নিম্নলিখিতগুলি যোগ করুন:

android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }

নিম্নলিখিত থেকে ডিবাগ প্রতীক স্তর নির্বাচন করুন:

  • Play Console-এর প্রতীকী স্ট্যাক ট্রেসে ফাংশনের নাম পেতে SYMBOL_TABLE ব্যবহার করুন। এই স্তর সমাধি পাথর সমর্থন করে.
  • Play Console-এর প্রতীকী স্ট্যাক ট্রেসে ফাংশনের নাম, ফাইল এবং লাইন নম্বর পেতে FULL ব্যবহার করুন।

আপনার প্রোজেক্ট যদি একটি APK তৈরি করে, তাহলে আলাদাভাবে নেটিভ ডিবাগ সিম্বল ফাইল তৈরি করতে আগে দেখানো android.buildTypes.release.ndk.debugSymbolLevel সেটিংস ব্যবহার করুন। Google Play Console-এ ম্যানুয়ালি নেটিভ ডিবাগ সিম্বল ফাইল আপলোড করুন (প্রক্রিয়াটি স্ট্যাক ট্রেস ডিঅফসকেট করতে একটি ম্যাপিং ফাইল আপলোড করার মতো)। বিল্ড প্রক্রিয়ার অংশ হিসাবে, অ্যান্ড্রয়েড গ্রেডল প্লাগইন এই ফাইলটিকে নিম্নলিখিত প্রকল্পের অবস্থানে আউটপুট করে:

app/build/outputs/native-debug-symbols/<var>variant-name</var>/native-debug-symbols.zip

Android Gradle প্লাগইন সংস্করণ 4.0 বা তার আগের (এবং অন্যান্য বিল্ড সিস্টেম)

বিল্ড প্রক্রিয়ার অংশ হিসাবে, অ্যান্ড্রয়েড গ্রেডল প্লাগইন একটি প্রকল্প ডিরেক্টরিতে আনস্ট্রিপড লাইব্রেরিগুলির একটি অনুলিপি রাখে। এই ডিরেক্টরি গঠন নিম্নলিখিত অনুরূপ:

app/build/intermediates/cmake/universal/release/obj/
├── armeabi-v7a/
│   ├── libgameengine.so
│   ├── libothercode.so
│   └── libvideocodec.so
├── arm64-v8a/
│   ├── libgameengine.so
│   ├── libothercode.so
│   └── libvideocodec.so
├── x86/
│   ├── libgameengine.so
│   ├── libothercode.so
│   └── libvideocodec.so
└── x86_64/
    ├── libgameengine.so
    ├── libothercode.so
    └── libvideocodec.so
  1. এই ডিরেক্টরির বিষয়বস্তু জিপ আপ করুন:

    cd app/build/intermediates/cmake/universal/release/obj
    zip -r symbols.zip .
    
  2. Google Play Console-এ ম্যানুয়ালি symbols.zip ফাইল আপলোড করুন