Fanya ufuatiliaji wa rafu za matukio ya programu kuacha kufanya kazi ufumbuliwe au utambuliwe kupitia ishara

Matukio ya programu kuacha kufanya kazi na ANR kwenye Android husababisha ufuatiliaji wa rafu, ambao ni muhtasari wa utaratibu wa utendaji uliotekelezwa katika programu yako hadi ilipoacha kufanya kazi. Mihtasari hii inaweza kukusaidia utambue na urekebishe matatizo yoyote katika chanzo.

Ikiwa programu au mchezo wako ulisanidiwa kwa kutumia Java na unatumia ProGuard kuboresha na kufumba misimbo ya programu yako, unaweza kupakia faili ya upangaji ya ProGuard kwa kila toleo la programu yako kwenye Dashibodi ya Google Play. Ikiwa programu au mchezo wako ulisanidiwa kwa kutumia msimbo wa mfumo maalum, kama vile C++, unaweza kupakia faili ya ishara za utatuzi kwa kila toleo la programu yako kwenye Dashibodi ya Google Play. Hatua hii hurahisisha mchakato wa kuchanganua na kurekebisha matukio ya programu kuacha kufanya kazi na ya ANR.

Muhimu: Faili za upangaji zinazotumia tu mbinu ya ReTrace ndizo zinaweza kutumika kufanya programu zilizosanidiwa katika Java zifumbuliwe. Huu ndio muundo unaotumika kwenye ProGuard au R8.

Hatua ya 1: Tengeneza faili ya kufumbua au kutambua matukio kupitia ishara

Ili kufanya matukio ya ANR na ya programu yako kuacha kufanya kazi yafumbuliwe au kutambuliwa kupitia ishara katika toleo la programu yako, unahitaji kwanza kutengeneza faili zinazohitajika za toleo sawa la programu yako. Ni lazima utengeneze na upakie faili ya kila toleo jipya la programu yako ili mchakato wa kufumbua au kutambua matukio kupitia ishara ufanye kazi.

Java: Tengeneza faili ya upangaji ya ProGuard

Ili kufumbua ufuatiliaji wa rafu za Java, unahitaji kwanza kutengeneza faili ya upangaji ya ProGuard. Ili upate maelezo kuhusu jinsi ya kufanya hivyo, nenda kwenye tovuti ya Google Developers.

Ya asili: Tengeneza faili ya ishara za utatuzi

Programu jalizi ya Android Gradle, toleo la 4.1 au jipya

Iwapo mradi wako unatengeneza Android App Bundle, unaweza kujumuisha kiotomatiki faili ya ishara za utatuzi. Ili ujumuishe faili hii, weka yafuatayo katika faili ya build.gradle ya programu yako:

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

Kumbuka: Ukubwa wa faili ya ishara za utatuzi haipaswi kuzidi MB 800. Iwapo nafasi ya hifadhi inayotumiwa na ishara za utatuzi ni kubwa mno, tumia SYMBOL_TABLE badala ya FULL ili upunguze ukubwa wa faili.

Iwapo mradi wako unatengeneza APK, tumia mipangilio ya muundo wa build.gradle hapo juu ili utengeneze ishara za utatuzi kivyake. Pakia mwenyewe faili ya ishara za utatuzi katika Dashibodi ya Google Play jinsi ilivyoelezwa hapa chini Hatua ya 2: Pakia faili ya kufumbua au kutambua matukio kupitia ishara. Kama sehemu ya mchakato wa utengenezaji, programu jalizi ya Android Gradle huweka faili hii katika eneo lifuatalo la mradi:

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

Programu jalizi ya Android Gradle, toleo la 4.0 au la awali (na mifumo mingine ya miundo)

Kama sehemu ya mchakato wa utengenezaji wa APK au App Bundle, programu jalizi ya Android Gradle huweka nakala ya maktaba ambayo ina maelezo ya ziada ya utatuzi kwenye saraka ya mradi. Saraka hii hufuata muundo unaofanana na huu:

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

Kumbuka: Iwapo utatumia mfumo tofauti wa muundo, unaweza kuubadilisha ili uhifadhi maktaba yenye maelezo ya ziada ya utatuzi katika saraka ukitumia muundo unaohitajika hapo juu.

  1. Weka maudhui yaliyo ndani ya saraka hii katika muundo wa ZIP:
    • $ cd app/build/intermediates/cmake/universal/release/obj
    • $ zip -r symbols.zip .
  2. Pakia mwenyewe faili ya symbols.zip kwenye Dashibodi ya Google Play jinsi ilivyofafanuliwa hapa chini Hatua ya 2: Pakia faili ya kufumbua au kutambua matukio kupitia ishara.

Ukubwa wa faili ya ishara za utatuzi haupaswi kupita MB 800. Iwapo faili yako ni kubwa mno, huenda ni kwa sababu faili zako za .so zina jedwali la ishara (majina ya kazi) na pia maelezo ya utatuzi ya DWARF (majina ya faili na mistari ya misimbo). Maelezo haya hayahitajiki katika mchakato wa kutambua msimbo kupitia ishara na yanaweza kuondolewa kwa kutekeleza amri hii:

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

Kumbuka: $OBJCOPY huashiria toleo mahususi la ABI ambako unaondoa maelezo ya ziada ya utatuzi, kwa mfano:ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-objcopy

Hatua ya 2: Pakia faili ya kufumbua au kutambua matukio kupitia ishara

Ili kufanya matukio ya programu yako kuacha kufanya kazi na ya ANR yafumbuliwe au yatambuliwe kupitia ishara kwenye toleo la programu yako, ni lazima upakie faili ya kufumbua au kutambua matukio kupitia ishara kwa kila toleo la programu yako.

Muhimu: Hatua hii inahitajika tu kwa wasanidi programu wanaotumia APK. Iwapo unatumia App Bundle na programu jalizi ya Android Gradle toleo la 4.1 au jipya, basi hakuna hatua unayohitaji kuchukua. Tutachukua kiotomatiki faili ya kufumbua matukio kutoka kwenye kifurushi na unaweza kwenda kwenye Hatua ya 3: Angalia ufuatiliaji wa rafu za matukio ya kuacha kufanya kazi yaliyofumbuliwa. Unaweza kupata maelezo zaidi kuhusu App Bundle kwenye tovuti ya Wasanidi Programu wa Android.

Pakia faili ukitumia Dashibodi ya Google Play

Ili kupakia faili ya kufumbua au kutambua matukio kupitia ishara:

  1. Fungua Dashibodi ya Google Play.
  2. Chagua programu.
  3. Kwenye menyu ya kushoto, chagua Toleo > Kichunguzi cha App Bundle.
  4. Ukitumia kiteuzi kwenye kona ya juu kulia, chagua vizalia vya programu vinavyofaa.
  5. Chagua kichupo cha Vipakuliwa kisha uende chini kwenye sehemu ya “Vipengee”.
  6. Bofya kishale cha kupakia kwenye faili ya upangaji au ishara za utatuzi jinsi inavyotumika ili upakie faili ya toleo la programu yako ya kufumbua au kutambua matukio kupitia ishara.
Kupakia faili kwa kutumia API ya Wasanidi Programu wa Google Play

Ili kupakia faili kwa kutumia API ya Wasanidi Programu wa Google Play, nenda kwenye tovuti ya Google Developers .

Hatua ya 3: Angalia ufuatiliaji wa rafu wa matukio ya kuacha kufanya kazi yaliyofumbuliwa

Baada ya kupakia faili ya upangaji ya ProGuard au ya ishara za utatuzi ya toleo la programu yako, ANR na matukio ya programu kuacha kufanya kazi yatafumbuliwa baadaye. Unaweza kukagua ufuatiliaji wa rafu uliofumbuliwa kwa ANR na matukio ya kuacha kufanya kazi kwenye ukurasa wa programu yako wa ANR na Kuacha Kufanya Kazi.

  1. Fungua Dashibodi ya Google Play.
  2. Chagua programu.
  3. Kwenye menyu ya kushoto, chagua Ubora > Android vitals > ANR na Kuacha Kufanya Kazi.
  4. Chagua tukio la kuacha kufanya kazi.
  5. Kwenye sehemu ya "Ufuatiliaji wa Rafu" utaona ufuatiliaji wa rafu uliofumbuliwa au unaotambuliwa kupitia ishara.

Muhimu: Baada ya kupakia faili ya upangaji kwenye toleo la programu yako, ANR na matukio ya kuacha kufanya kazi ya baadaye katika toleo la programu yako ndiyo tu yatafumbuliwa. Matukio ya kuacha kufanya kazi na ANR ya toleo la programu yako yanayotokea kabla ya kupakia faili husika ya upangaji hayatafumbuliwa.

Maswali Yanayoulizwa Sana

Nisingependa kutumia Dashibodi ya Google Play kufumbua au kutambua matukio kupitia ishara. Je, ninaweza kufanya shughuli hii nje ya mtandao?

Dashibodi ya Google Play hutumia ndk-stack kuweka ishara za ufuatiliaji wa rafu kwenye programu asili na ReTrace kwenye matukio ya kuacha kufanya kazi katika Java. Ukichagua kutotuma faili zako za kufumbua matukio, unaweza kunakili rafu za matukio ya kuacha kufanya kazi kwenye Dashibodi ya Google Play na utumie zana inayofaa ya nje ya mtandao kuyatambua kupitia ishara. Hata hivyo, ni sharti mchakato huu ufanywe na mtu binafsi kwa kila rafu ya tukio la kuacha kufanya kazi, hali inayoifanya iwe ya polepole na itumie muda mwingi. Kwa kuweka faili zako za kufumbua matukio, Dashibodi ya Google Play itakufanyia shughuli hii.

Nimepakia faili ya kufumbua au kutambua matukio kupitia ishara. Kwa nini matukio ya programu kuacha kufanya kazi na ANR bado yamefumbwa?

Baada ya kupakia faili ya upangaji ya ProGuard au ya ishara za utatuzi ya toleo la programu yako, ANR na matukio ya programu kuacha kufanya kazi yanayotokea baadaye ndiyo tu yatafumbuliwa. Utahitaji kusubiri kwa muda ili matukio mapya ya programu kuacha kufanya kazi na ANR yaripotiwe na vifaa vya mtumiaji kabla uone matukio yaliyofumbuliwa ya programu kuacha kufanya kazi na ANR kwenye Dashibodi ya Google Play.

Baada ya kupakia faili ya kufumbua au kutambua matukio kupitia ishara, ni kwa nini matukio ya programu kuacha kufanya kazi na ANR yamefumbuliwa kiasi?

Hili husababishwa na kupakia faili isiyo kamili ya kufumbua au kutambua matukio kupitia ishara. Hakikisha unaweka faili za kutambua matukio kupitia ishara za programu yako yote, hasa ikiwa unatumia mchakato wa utengenezaji ambao ni mgumu au wenye hatua nyingi. Mojawapo ya sababu za kawaida zinazosababisha kufumbuliwa kiasi ni iwapo unatumia maktaba ya wengine. Katika hali hii, unaweza kupata faili za kufumbua kutoka kwa mtoa huduma za maktaba.

Baada ya kupakia faili ya kufumbua au kutambua matukio kupitia ishara, kwa nini ninapata matukio machache lakini yenye hatari zaidi ya programu kuacha kufanya kazi na ANR?

Bila faili za kufumbua, tukio sawa la programu kuacha kufanya kazi au ANR kwenye kifaa chenye biti 64 na biti 32, au ARM na kifaa cha intel zitaonyeshwa kandokando. Kwa kuweka faili za kufumbua, tunaweza kupanga matukio haya ya kuacha kufanya kazi pamoja, ili kukupa mtazamo bora wa matukio yenye athari kubwa ya kuacha kufanya kazi na ANR katika programu yako.

Ni nini kitafanyika iwapo nitasahau kupakia faili hiyo?

Ukisahau kupakia faili ya toleo jipya la programu yako, matukio ya kuacha kufanya kazi na ya ANR yatafumbwa tena. Fuata maelekezo hapo juu ili uipakie sasa. Baada ya kupakia faili ya upangaji ya ProGuard au ya ishara za utatuzi ya toleo la programu yako, ANR na matukio ya programu kuacha kufanya kazi yanayotokea baadaye ndiyo tu yatafumbuliwa. Utahitaji kusubiri kwa muda ili matukio mapya ya programu kuacha kufanya kazi na ANR yaripotiwe na vifaa vya mtumiaji kabla uone matukio yaliyofumbuliwa ya programu kuacha kufanya kazi na ANR kwenye Dashibodi ya Google Play.

Ili kuzuia hatari ya kusahau kupakia faili, tunakushauri ubadilishe mchakato wako wa utengenezaji ili utumie App Bundle katika programu jalizi ya Android Gradle, toleo la 4.1 au jipya. Katika hali hii, unaweza kujumuisha kiotomatiki faili ya ishara za utatuzi kwenye App Bundle kwa kufuata maelekezo katika tovuti ya Wasanidi Programu wa Android.

Ni nini kitafanyika iwapo nitapakia faili isiyo sahihi?

Ukipakia faili isiyo sahihi ya toleo la programu yako, matukio ya kuacha kufanya kazi na ya ANR yatafumbwa tena. Ili upakie toleo sahihi:

  1. Fungua Dashibodi ya Google Play.
  2. Chagua programu.
  3. Kwenye menyu ya kushoto, chagua Toleo > Kichunguzi cha App Bundle
  4. Ukitumia kiteuzi kwenye kona ya juu kulia, chagua vizalia vya programu vinavyofaa.
  5. Chagua kichupo cha Vipakuliwa kisha uende chini kwenye sehemu ya “Vipengee”.
  6. Bofya aikoni ya futa karibu na faili isiyo sahihi ya kufumbua au kutambua matukio kupitia ishara.
  7. Baada ya kufuta toleo lisilo sahihi, bofya aikoni ya kupakia na upakie faili sahihi ya toleo la programu yako.

Baada ya kupakia faili sahihi ya upangaji ya ProGuard au ishara za utatuzi katika toleo la programu yako, matukio ya kuacha kufanya kazi na ya ANR yatakayotokea baadaye ndiyo tu yatakayofumbuliwa. Utahitaji kusubiri kwa muda ili matukio mapya ya kuacha kufanya kazi na ANR yaripotiwe na vifaa vya mtumiaji kabla uone matukio yaliyofumbuliwa ya programu kuacha kufanya kazi na ANR kwenye Dashibodi ya Google Play.

Kidokezo: Ili kuzuia hatari ya kupakia toleo lisilo sahihi la faili, tunakushauri ubadilishe mchakato wa utengenezaji na utumie App Bundle katika programu jalizi ya Android Gradle toleo la 4.1 au jipya. Katika hali hii, unaweza kujumuisha kiotomatiki faili ya ishara za utatuzi kwenye App Bundle kwa kufuata maelekezo katika tovuti ya Wasanidi Programu wa Android.

Ninatumia APK kwa sasa. Nitabadili nianze kutumia App Bundle vipi? Programu yangu ina msimbo asili na wa Java. Ninaweza kupakia faili asili ya kutambua tukio kupitia ishara na ya kufumbua ya Java?

Ndiyo.

Kwa nini ANR zingine hazionyeshi ufuatiliaji wa rafu?

Wakati mwingine, mfumo hupata ANR lakini ukashindwa kukusanya ufuatiliaji wa rafu. Katika hali hii, ANR huonyeshwa ili kukuonyesha uthabiti wa programu yako kikamilifu, lakini ufuatiliaji wenyewe wa rafu hauwezi kuonyeshwa. ANR zisizo na ufuatiliaji wa rafu zinawekwa katika makundi kulingana na aina na shughuli. Kwa hivyo, kukagua na kurekebisha ANR kama hizi kunaweza kusaidia kupunguza idadi bila ufuatiliaji wa rafu.

Je, maelezo haya yamekufaa?

Tunawezaje kuboresha?

Je, unahitaji usaidizi mwingine?

Jaribu hatua zifuatazo:

Tafuta
Futa utafutaji
Funga kisanduku cha kutafutia
Menyu kuu
4679524808800898316
true
Tafuta kwenye Kituo cha Usaidizi
true
true
true
true
true
92637
false
false