የስንክል ቁልል ዱካዎችን ይግለጡ ወይም የሳንካ እርማት ምልክት ያድርጉባቸው

በAndroid ላይ ያሉ ስንክሎች እና ኤኤንአሮች የቁልል ዱካ ይፈጥራሉ፣ ይህ ፕሮግራምዎ እስከተሰናከለበት ጊዜ ድረስ የተጠሩ የታቀፉ ተግባራት ተከታታይ ቅጽበተ-ፎቶ ነው። እነዚህ ቅጽበተ-ፎቶዎች በምንጩ ላይ ያሉ ማናቸውም ችግሮችን ለይተው እንዲያስተካክሏቸው ያግዙዎታል።

የእርስዎ መተግበሪያ ወይም ጨዋታ ጃቫን በመጠቀም የተገነባ ከሆነ እና መተግበሪያዎን ለማትባት እና ለማደበቅ ProGuard የሚለውን የሚጠቀሙ ከሆነ በPlay Console ላይ ለእያንዳንዱ የመተግበሪያዎ ስሪት የProGuard የካርታ ሠሪ ፋይል መስቀል ይችላሉ። የእርስዎ መተግበሪያ ወይም ጨዋታ እንደ C++ ያለ ቤተኛ ኮድ በመጠቀም የተገነባ ከሆነ፣ በPlay Console ላይ ለእያንዳንዱ የመተግበሪያዎ ስሪት ስህተት አርም ምልክቶች ፋይል መስቀል ይችላሉ። ይህ የእርስዎን ብልሽቶች እና ኤኤንአርዎች መተንተን እና ማስተካከል ይበልጥ ቀላል ያደርገዋል።

አስፈላጊ፦ ከReTrace ጋር ተኳኋኝ የሆኑ የማዛመጃ ፋይሎች ብቻ ናቸው በጃቫ የተጠናቀሩ መተግበሪያዎችን ለመግለጥ የሚደገፉት። ይህ ProGuard ወይም R8 ከሚጠቀመው ቅርጸት ጋር ተመሳሳይ ነው።

ደረጃ 1፦ የግልጽ ማድረጊያ ወይም በምልክት መለያ ፋይል ያመንጩ

ለአንድ የመተግበሪያዎ ስሪት ብልሽቶችን እና ኤኤንአርዎችን ለመግለጥ ወይም የሳንካ እርማት ምልክት ለማድረግ መጀመሪያ ለተመሳሳዩ የመተግበሪያዎ ስሪት የሚያስፈልጉትን ፋይሎች ማመንጨት አለብዎት። መግለጥ ወይም የሳንካ እርማት ምልክት ማድረግ እንዲሰራ ለእያንዳንዱ አዲስ የመተግበሪያዎ ስሪት ፋይል ማመንጨት ወይም መስቀል አለብዎት።

ጃቫ፦ የProGuard ማዛመጃ ፋይል ያመንጩ

የጃቫ ቁልል ዱካዎችን ለመግለጥ፣ መጀመሪያ የProGuard ማዛመጃ ፋይል ማመንጨት አለብዎት። እንዴት እንደሆነ ለማወቅ ወደ የGoogle ገንቢዎች ጣቢያ ይሂዱ።

ቤተኛ፦ የስህተት አርም ምልክቶች ፋይል ያመንጩ

የAndroid Gradle ተሰኪ ስሪት 4.1 እና ከዚያ በኋላ

የእርስዎ ፕሮጀክት አንድ የAndroid መተግበሪያ ቅርቅብ የሚገነባ ከሆነ፣ የስህተት አርም ምልክቶች ፋይሉን በራስ-ሰር ማካተት ይችላሉ። ይህን ፋይል ለማካተት የሚከተለውን ወደ የመተግበሪያዎ build.gradle ፋይል ያክሉ፦

  • android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

ማስታወሻ፦ የስህተት አርም ምልክቶች ፋይል ገደብ 800 ሜባ ነው። የእርስዎ የስህተት አርም ምልክቶች አሻራው በጣም ትልቅ ከሆነ፣ የፋይል መጠኑን ለመቀነስ ከFULL ይልቅ SYMBOL_TABLE የሚለውን ይጠቀሙ።

የእርስዎ ፕሮጀክት ኤፒኬ የሚገነባ ከሆነ፣ የስህተት አርም ምልክቶች ፋይሉን ለይተው ለማመንጨት የbuild.gradle ግንብ ቅንብሩን ይጠቀሙ። ከታች በደረጃ 2፦ ግልጽ ማድረጊያ ወይም የስህተት ማረሚያ ምልክቶች ፋይል ይስቀሉ ራስዎ ስህተት አርም ምልክቶች ፋይሉን ወደ Google Play Console ይስቀሉ። እንደ የግንብ ሂደት አካል የAndroid Gradle ተሰኪው ይህን ፋይል በሚከተለው የፕሮጀክት ቦታ ላይ ያስቀምጣል፦

  • app/build/outputs/native-debug-symbols/variant-name/native-debug-symbols.zip

የAndroid Gradle ተሰኪ ስሪት 4.0 እና ከዚህ የቀደሙ (እና ሌሎች የግንብ ስርዓቶች)

እንደ ለመተግበሪያ ቅርቅብ ወይም ኤፒኬ የግንባታ ሂደት አካል የAndroid Gradle ተሰኪው በፕሮጀክት ማውጫው ላይ ያልተላጡ የቤተ-ፍርግሞች ቅጂ ያስቀምጣል። ይህ ማውጫ ከሚከተለው ጋር ተመሳሳይ የሆነ አወቃቀር ይከተላል፦

app/build/intermediates/cmake/universal/release/obj

├── armeabi-v7a/

│   ├── libgamenegine.so

│   ├── libothercode.so

│   └── libvideocodec.so

├── arm64-v8a/

│   ├── libgamenegine.so

│   ├── libothercode.so

│   └── libvideocodec.so

├── x86/

│   ├── libgamenegine.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. ከታች በደረጃ 2፦ ግልጽ ማድረጊያ ወይም የስህተት ማረሚያ ምልክቶች ፋይል ይስቀሉ ውስጥ በተብራራው መሠረት ራስዎ የsymbols.zip ፋይሉን ወደ Play Console ይስቀሉ።

የስህተት አርም ምልክቶች ፋይል ገደብ 800 ሜባ ነው። የእርስዎ ፋይል ከልክ በላይ ትልቅ ከሆነ፣ ይህ የሆነው የእርስዎ .so ፋይሎች የምልክት ሠንጠረዥ (የተግባር ስስሞች) እና እንዲሁም የDWARF ስህተትን በማረም ላይ መረጃን (የፋይሎች ስም እና የኮድ መስመሮች) ስለያዘ ሳይሆን አይቀርም። በኮድዎ ላይ የስህተት ማረሚያ ምልክቶችን ለማድረግ እነዚህ አያስፈልጉም፣ እና ይህን ትዕዛዝ በማሄድ ሊወገዱ ይችላሉ፦

  • $OBJCOPY --strip-debug lib.so lib.so.sym

ማስታወሻ፦ $OBJCOPY እርስዎ እየላጡት ያለው የኤቢአይ ስሪትን ይጠቁማል፣ ለምሳሌ፦ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-objcopy

ደረጃ 2፦ ግልጽ ማድረጊያ ወይም የስህተት ማረሚያ ምልክቶች ፋይል ይስቀሉ

ለአንድ የመተግበሪያዎ ስሪት ስንክሎችን እና ኤኤንአሮችን ለመግለጥ ወይም የሳንካ እርማት ምልክት ለማድረግ ለእያንዳንዱ የመተግበሪያዎ ስሪት የምግልስ ማድረጊያ ወይም የስህተት ማረሚያ ምልክት ማድረጊያ ፋይሎችን መስቀል አለብዎት።

አስፈላጊ፦ ይህ ደረጃ ኤፒኬዎችን ለሚጠቀሙ ገንቢዎች ብቻ ነው የሚያስፈልገው። የመተግበሪያ ቅርቅብ እና የAndroid Gradle ተሰኪ ስሪት 4.1 ወይም ከዚያ በኋላ እየተጠቀሙ ከሆነ፣ ምን ነገር ማድረግ አያስፈልገዎትም። የስህተት ማረሚያ ምልክት ማድረጊያ ፋይሉን ከቅርቅቡ በራስ-ሰር እናመጣውና እርስዎ ዘልለው ወደ ደረጃ 3፦ የስህተት ማረሚያ ምልክት የተደረገላቸው የስንክል ቁልል ዱካዎችን መመልከት መሄድ ይችላሉ። በየAndroid ገንቢዎች ጣቢያው ላይ ስለመተግበሪያ ቅርቅቦች ተጨማሪ ማወቅ ይችላሉ።

Play Consoleን በመጠቀም ፋይሎችን ይስቀሉ

የግልጽ ማድረጊያ ወይም የስህተት ማረሚያ ምልክት ፋይልን ለመስቀል፦

  1. Play Consoleን ክፈት።
  2. አንድ መተግበሪያ ይምረጡ።
  3. በግራ ምናሌው ላይ ልቀት > የመተግበሪያ ቅርቅብ አሳሽን ይምረጡ።
  4. ከላይ ቀኝ ጥግ ላይ ያለውን መራጭ በመጠቀም፣ አግባብነት ያለው ቅሪት ይጠቀሙ።
  5. ዘመናዊ ውርዶች ትርን ይምረጡ እና ወደ «ንብረቶች» ክፍል ይሸብልሉ።
  6. ለመተግበሪያዎ ስሪት የግልጽ ማድረጊያ ወይም የስህተት አርም ምልክት ፋይሉን ለመስቀል እንደሚመለከተው ለማዛመጃ ፋይሉን ወይም ለስህተት ማረሚያ ምልክቶቹ የስቀል ቀስቱን ጠቅ ያድርጉ።
የGoogle Play ገንቢ ኤፒአዩን በመጠቀም ፋይሎችን ይስቀሉ

የGoogle Play ገንቢ ኤፒአዩን በመጠቀም ፋይሎችን ለመስቀል ወደ የGoogle ገንቢዎች ጣቢያው ይሂዱ።

ደረጃ 3፦ ግልጽ የተደረጉ የብልሽት መከታተያ ቁልሎችን ይመልከቱ

ለመተግበሪያዎ ስሪት የProGuard ማዛመጃ ወይም የስህተት አርም ምልክት ፋይሉን ከሰቀሉ በኋላ፣ ከዚህ በኋላ የሚከሰቱ ስንክሎች እና ኤኤንአሮች ግልጽ ይደረጋሉ። በመተግበሪያዎ የስንክሎች እና ኤኤንአሮች ገጽ ላይ ግልጽ የተደረጉ የተናጠል ስንክሎች እና ኤኤንአሮች የቁልል ዱካዎችን መገምገም ይችላሉ።

  1. Play Consoleን ክፈት።
  2. አንድ መተግበሪያ ይምረጡ።
  3. በግራ ምናሌው ላይ ጥራት > የAndroid መሠረታዊ ነገሮች > ስንክሎች እና ኤኤንአሮች ይምረጡ።
  4. አንድ ብልሽት ይምረጡ።
  5. በ«የመከታተያ ቁልል» ክፍሉ ውስጥ፣ የእርስዎን ግልጽ የተደረጉ ወይም ምልክት ያላቸው የመከታተያ ቁልሎችን ያያሉ።

አስፈላጊ፦ አንዴ ለመተግበሪያዎ ስሪት የማዛመጃ ፋይል ከሰቀሉ በኋላ የወደፊት የዚህ መተግበሪያ ስሪትዎ ስንክሎች እና ኤኤንአሮች ብቻ ናቸው ግልጽ የሚደረጉት። የሚመለከተው የማዛመጃ ፋይሉን ከመሰቀልዎ በፊት የተከሰቱ የመተግበሪያዎ ስሪት ስንክሎች እና ኤኤንአሮች ግልጽ አይደረጉም።

ተደጋጋሚ ጥያቄዎች

የPlay Console ግልጽ ማድረጊያ/የስህተት ማረሚያ ምልክት መጠቀም አልፈልግም። ከመስመር ውጭ ማድረግ አልችልም?

Play Console ለቤተኛ መተግበሪያዎች የመከታተያ ቁልሎች ምልክቶችን ለመስራት ndk-stackን ይጠቀማል እና ለጃቫ ብልሽቶች ReTrace የሚለውን ይጠቀማል። የግልጽ ማድረጊያ ፋይሎችዎን ለማጋራት ካልመረጡ፣ የተደበቁ የብልሽት ቁልሎችን ከPlay Console መቅዳት እና ለእነሱ የስህተት ማረሚያ ምልክት ለማድረግ አግባብ የሆነውን መሣሪያ ከመስመር ውጭ መጠቀም ይችላሉ። ይሁንና፣ ይህ ሂደት ለእያንዳንዱ የስንክል ቁልል ራስዎ ማድረግ አለብዎት፣ ይህ ቀርፋፋ እና ጊዜ የሚያጠፋ ያደርገዋል። የግልጽ ማድረጊያ ፋይሎችዎን በማቅረብዎ Play Console ይህን ለእርስዎ ይቆጣጠርልዎታል።

የግልጽ ማድረጊያ/ስህተት ማረሚያ ምልክቶች ፋይሉን ሰቅያለሁ፣ ለምንድነው የእኔ ስንክሎች እና ኤኤንአሮች አሁንም የተደበቁት?

ለመተግበሪያዎ ስሪት የProGuard ማዛመጃ ወይም የስህተት አርም ምልክት ፋይሉን ከሰቀሉ በኋላ፣ ከዚህ በኋላ የሚከሰቱ ብልሽቶች እና ኤኤንአሮች ብቻ ግልጽ ይደረጋሉ። በPlay Console ግልጽ የተደረጉ ስንክሎችን እና ኤኤንአሮችን ከማየትዎ በፊት አዲስ ስንክሎች እና ኤኤንአሮች በተጠቃሚዎች መሣሪያዎች ሪፖርት እስኪደረጉ ድረስ ጊዜ መስጠት አለብዎት።

የግልጽ ማድረጊያ/ስህተት ማረሚያ ምልክት ፋይሉ ከተሰቀለ በኋላ ለምንድነው የእኔ ስንክሎች እና ኤኤንአሮች በከፊል ብቻ ግልጽ የተደረጉት?

ይህ የሚከሰተው ያልተሟላ የግልጽ ማድረጊያ/ስህተት ማረሚያ ምልክት ፋይል በመሰቀሉ ነው። ለመላው መተግበሪያዎ የስህተት ማረሚያ ምልክት ፋይሎችን ማካተትዎ ያረጋግጡ፣ በተለይ ውስብስብ ወይም ባለብዙ-ደረጃ ግንብ ሂደት የሚጠቀሙ ከሆነ። ከፊል ግልጽ ማድረግ ከሚከሰትባቸው በጣም የተለመዱ ምክንያቶች ውስጥ አንዱ የሶስተኛ ወገን ቤተ-ፍርግም የሚጠቀሙ ከሆነ ነው። በዚህ ሁኔታ ላይ የግልጽ ማድረጊያ ፋይሎቹን ከቤተ-ፍርግም አቅራቢው ማግኘት ሊችሉ ይችላሉ።

የግልጽ ማድረጊያ/ስህተት ማረሚያ ምልክት ፋይሉ ከተሰቀለ በኋላ ለምንድነው መጠናቸው ያነሰ ግን ይበልጥ ከባድ የሆኑ ስንክሎችን እና ኤኤንአሮችን የማገኘው ያለሁት?

ያለግልጽ ማድረጊያ ፋይሎች፣ በ32-ቢት እና 64-ቢት መሣሪያ ላይ ወይም በኤአርኤም እና Intel መሣሪያ ላይ ያለ ተመሳሳዩ ብልሽት ወይም ኤኤንአር ተለይተው ይታያሉ። ግልጽ ማድረጊያ ፋይሎችን በማቅረብዎ እነዚህን ስንክሎች አብረን መሰብሰብ እንችላለን፣ በዚህም በመተግበሪያዎ ላይ ከፍተኛ ተጽዕኖ ያላቸውን የስንክሎችን እና የኤኤንአሮች የተሻለ እይታ እንሰጠዎታለን።

ፋይሉን መስቀል ብረሳውስ?

ለአዲስ የመተግበሪያዎ ስሪት ፋይሉን መስቀል ከረሱ ስንክሎች እና ኤኤንአሮች ወደ መደበቅ ያድህራሉ። አሁን ለመስቀል ከላይ ያሉትን መመሪያዎች ይከተሉ። ለመተግበሪያዎ ስሪት የProGuard ማዛመጃ ወይም የስህተት አርም ምልክት ፋይሉን ከሰቀሉ በኋላ፣ ከዚህ በኋላ የሚከሰቱ ብልሽቶች እና ኤኤንአሮች ብቻ ግልጽ ይደረጋሉ። በPlay Console ግልጽ የተደረጉ ስንክሎችን እና ኤኤንአሮችን ከማየትዎ በፊት አዲስ ስንክሎች እና ኤኤንአሮች በተጠቃሚዎች መሣሪያዎች ሪፖርት እስኪደረጉ ድረስ ጊዜ መስጠት አለብዎት።

ፋይሉን መስቀል የመርሳት አጋጣሚ ለመከላከል የግንብ ሂደትዎ የGradle ተሰኪ ስሪት 4.1 ወይም ከዚያ በኋላ እንዲጠቀም አድርገው መቀየር ያስቡበት። በዚህ ጉዳይ ውስጥ፣ በየAndroid ገንቢዎች ጣቢያ ላይ የሚከተሉትን መመሪያዎች በመከተል የስህተት አርም ምልክቶች ፋይሉን በመተግበሪያ ቅርቅቡ ውስጥ በራስ-ሰር ማካተት ይችላሉ።

የተሳሳተው ፋይል ብሰቅልስ?

ለመተግበሪያዎ ስሪት የተሳሳተ ፋይል ቢሰቅሉ ስንክሎች እና ኤኤንአሮች ወደ መደበቅ ያድህራሉ። የታረመውን ስሪት ለመስቀል፦

  1. Play Consoleን ክፈት።
  2. አንድ መተግበሪያ ይምረጡ።
  3. በግራ ምናሌው ላይ ልቀት > የመተግበሪያ ቅርቅብ አሳሽን ይምረጡ
  4. ከላይ ቀኝ ጥግ ላይ ያለውን መራጭ በመጠቀም፣ አግባብነት ያለው ቅሪት ይጠቀሙ።
  5. ዘመናዊ ውርዶች ትርን ይምረጡ እና ወደ «ንብረቶች» ክፍል ይሸብልሉ።
  6. ትክክል ካልሆነው የግልጽ ማድረጊያ ወይም የስህተት ማረሚያ ምልክት ፋይሉ ቀጥሎ ያለውን የሰርዝ አዶ ጠቅ ያድርጉት።
  7. አንዴ ትክክል ያልሆነው ስሪት ከተሰረዘ በኋላ የስቀል አዶውን ጠቅ ያድርጉትና ለመተግበሪያዎ ስሪት ትክክለኛውን ፋይል ይስቀሉ።

ለመተግበሪያዎ ስሪት ትክክለኛው የProGuard ማዛመጃ ወይም የስህተት አርም ምልክት ፋይሉን ከሰቀሉ በኋላ፣ ከዚህ በኋላ የሚከሰቱ ብልሽቶች እና ኤኤንአሮች ብቻ ግልጽ ይደረጋሉ። በPlay Console ግልጽ የተደረጉ ስንክሎችን እና ኤኤንአሮችን ከማየትዎ በፊት አዲስ ስንክሎች እና ኤኤንአሮች በተጠቃሚዎች መሣሪያዎች ሪፖርት እስኪደረጉ ድረስ ጊዜ መስጠት አለብዎት።

ጠቃሚ ምክር፦ ትክክል ያልሆነ የፋይሉ ስሪት የመስቀል አጋጣሚ ለመከላከል የግንብ ሂደትዎ የGradle ተሰኪ ስሪት 4.1 ወይም ከዚያ በኋላ እንዲጠቀም አድርገው መቀየር ያስቡበት። በዚህ ጉዳይ ውስጥ፣ በየAndroid ገንቢዎች ጣቢያ ላይ የሚከተሉትን መመሪያዎች በመከተል የስህተት አርም ምልክቶች ፋይሉን በመተግበሪያ ቅርቅቡ ውስጥ በራስ-ሰር ማካተት ይችላሉ።

በአሁኑ ጊዜ ኤፒኬዎችን እየተጠቀምኩ ነኝ። እንዴት ነው ወደ የመተግበሪያ ቅርቅቦችን መጠቀም መቀየር የምችለው?

ለመጀመር የAndroid ገንቢዎች ጣቢያውን ይጎብኙ።

የእኔ መተግበሪያ ሁለቱም ቤተኛ እና የጃቫ ኮድ አለው። ሁለቱንም ቤተኛ የስህተት ማረሚያ ምልክት ፋይል እና የጃቫ ግልጽ ማድረጊያ ፋይል መስቀል እችላለሁ?

አዎ።

ለምንድነው አንዳንድ ኤኤንአሮች የመከታተያ ቁልል የማያሳዩት?

በየጊዜው ስርዓቱ ኤኤንአር ያገኛል፣ ነገር ግን የመከታተያ ቁልልን መሰብሰብ አይችልም። በዚህ ክስተት ላይ ይበልጥ የተሟላ የመተግበሪያዎን እርጋታ እይታ እንዲሰጠዎት ኤኤንአር ታይቷል፣ ነገር ግን የመከታተያ ቁልል ራሱ ሊታይ አይችልም። የመከታተያ ቁልሎች የሌላቸው ኤኤንአሮች በዓይነት እና በእንቅስቃሴ የተከፋፈሉ ናቸው፣ ስለዚህ ተመሳሳይ ኤኤንአሮችን መገምገም እና ማስተካከል ያለመከታተያ ቁልሎች ብዛቱን ለመቀነስ ሊያግዝ ይችላል።

ይሄ አጋዥ ነበር?

እንዴት ልናሻሽለው እንችላለን?

ተጨማሪ እገዛ ያስፈልግሃል?

እነዚህን ቀጣይ እርምጃዎች ይሞክሩ፦

ፍለጋ
ፍለጋ አጽዳ
ፍለጋን ዝጋ
ዋናው ምናሌ
5123090083165009677
true
የእገዛ ማዕከልን ይፈልጉ
true
true
true
true
true
92637
false
false