يتم تلقائيًا إزالة مكتبات الرموز البرمجية الأصلية في إصدارات تطبيقك العلنية. وتتألف عملية الإزالة هذه من إزالة جدول الرموز ومعلومات تصحيح الأخطاء المضمّنة في أي مكتبات أصلية يستخدمها تطبيقك. يؤدي إزالة مكتبات الرموز البرمجية الأصلية إلى توفير مساحة كبيرة، ولكن يُصبح من المستحيل تشخيص الأعطال على Google Play Console بسبب المعلومات المفقودة (مثل أسماء الفئات والدوالّ). لتصحيح أخطاء الأعطال، يجب تضمين ملف رموزال تصحيح الأخطاء مع تطبيقك في Play Console.
تحميل ملف رموز
تُبلغ أداة Google Play Console عن الأعطال الأصلية ضمن مؤشرات Android الحيوية. يمكنك ببضع خطوات إنشاء ملف رموز تصحيح أخطاء أصلية لتطبيقك وتحميله. يتيح هذا الملف تتبُّع تسلسل استدعاء الدوال البرمجية للأعطال الأصلية (التي تتضمّن أسماء الفئات والدوالّ ) في "مؤشرات Android الحيوية" لمساعدتك في تصحيح أخطاء تطبيقك في قناة الإصدار العلني. تختلف هذه الخطوات تبعًا لإصدار المكوّن الإضافي Android Gradle المُستخدَم في مشروعك، وكذلك تبعًا لاستخدام حِزمة Android App Bundle (ننصح بها) أو حِزمة APK.
الإصدار 4.1 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدار أحدث
إذا كان مشروعك ينشئ حِزمة تطبيق Android (AAB)، يمكنك ضبط عملية الإنشاء
لتضمين ملف تصحيح أخطاء الترميز الأصلي تلقائيًا في حِزمة AAB حتى تتم jego تحميله إلى Play Console عند نشر تطبيقك. لتضمين هذا الملف في
إصدارات التطبيق العلنية، أضِف ما يلي إلى ملف build.gradle.kts
في تطبيقك:
android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }
اختَر مستوى رمز تصحيح الأخطاء من الخيارات التالية:
- استخدِم
SYMBOL_TABLE
للحصول على أسماء الدوال البرمجية في عمليات تتبُّع تسلسُل استدعاء الدوال البرمجية الترميزية في Play Console. يتيح هذا المستوى استخدام المقابر. - استخدِم
FULL
للحصول على أسماء الدوال البرمجية والملفات وأرقام الأسطر في عمليات تتبُّع تسلسل استدعاء الدوال البرمجية التي تم ترميزها في Play Console.
إذا كان مشروعك ينشئ حزمة APK، استخدِم الإعداد
android.buildTypes.release.ndk.debugSymbolLevel
المعروض سابقًا ل
إنشاء ملف تصحيح أخطاء الترميز الأصلي بشكل منفصل. حمِّل يدويًا ملف
الرموز الأصلية لتصحيح أخطاء الترميز
إلى Google Play Console (تشبه العملية تحميل ملف تعيين
لإزالة تشويش عمليات تتبُّع تسلسل استدعاء الدوال البرمجية).
وكجزء من عملية التصميم، يعمل المكوّن الإضافي لنظام Gradle المتوافق مع Android على إخراج هذا الملف في
موقع المشروع التالي:
app/build/outputs/native-debug-symbols/<var>variant-name</var>/native-debug-symbols.zip
الإصدار 4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدار أقدم (وأنظمة التصميم الأخرى)
كجزء من عملية التصميم، يحتفظ المكوّن الإضافي لنظام Gradle المتوافق مع Android بنسخة من المكتبات التي لم تتم إزالتها في دليل المشروع. يشبه بنية هذا الدليل ما يلي:
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
اضغط محتوى هذا الدليل:
cd app/build/intermediates/cmake/universal/release/obj zip -r symbols.zip .
حمِّل ملف
symbols.zip
يدويًا إلى Google Play Console.