გზამკვლევი: Logcat-ის გაგზავნა თქვენი საყვარელი აპის გამართვაში დასახმარებლად

ოდესმე გქონიათ თქვენი საყვარელი აპლიკაცია მოულოდნელად? გსურთ დაეხმაროთ დეველოპერს მომხდარის გამართვაში? ისწავლეთ როგორ გადაიღოთ და გაფილტროთ Logcats ჩვენი მეგზურით.

ხორვატები აფრიალებენ ევროკავშირის დროშას, როდესაც ზეიმობენ ხორვატიის ევროკავშირში გაწევრიანებას ზაგრებში ბან იელეშიჩის მოედანზე 2013 წლის 30 ივნისს. ათიათასობით ხორვატმა გაახარა ქვეყნის ევროკავშირში შესვლა კვირას, შუაღამისას (2200 GMT), ყოფილი იუგოსლავიის რესპუბლიკის დამოუკიდებლობის სისხლიანი ომის დასრულებიდან თითქმის ორი ათწლეულის შემდეგ. AFP PHOTO / STRINGER

ეს ყველას ერთ დროს მოხდა. ამის აღიარება არ არის სირცხვილი. ზოგჯერ ანდროიდის აპები იშლება. Google Maps-ის გასაშვებად იყენებთ სრულიად მარაგ მოწყობილობას, ან ძალიან მორგებულ ROM-ს Xposed მოდულით გააძლიერეთ Google Hangoutsაპლიკაციის ავარია და სხვა პრობლემები შეიძლება მოხდეს და საკმაოდ შემაფერხებელიც კი გახდეს. ეს განსაკუთრებით ეხება უფრო მცირე ზომის შესწორებებისა და აპლიკაციების შემუშავებას, როგორიცაა ჩვენს ვებსაიტზე ნაპოვნი მრავალი. როდესაც პრობლემები წარმოიქმნება, ერთ-ერთი ყველაზე კონსტრუქციული და გამოსადეგი შეხედულება, რომელიც მომხმარებელს შეუძლია მიაწოდოს დეველოპერს ავარიის ხასიათის შესახებ, არის

Logcat. მიუხედავად იმისა, რომ ძალიან სასარგებლოა დეველოპერებისთვის, ამ ინფორმაციის მიღება შეიძლება გარკვეულწილად შემაძრწუნებელი ჩანდეს რეგულარული მომხმარებლისთვის.

როგორც წესი, მოიცავს ბრძანების ხაზის ინსტრუმენტები ADB-ის საშუალებით, Logcat მიუწვდომელია მრავალი მომხმარებლისთვის, რომლებსაც ბრძანების სტრიქონთან მუშაობის მცირე გამოცდილება აქვთ. თუმცა, გარკვეული აპლიკაციების გამოშვებამ აღმოფხვრა, ან, სულ მცირე, მნიშვნელოვნად შეამცირა ADB ბრძანებების მონაწილეობა Logcat-ის მოძიებასა და გაგზავნაში, რაც აადვილებს ამას, როგორც ეკრანის რამდენიმე შეხება. ჩვენს დაუსრულებელ მისიაში, რათა დაეხმაროს დეველოპერებს განვითარებაში, აქ არის დამწყებთათვის სახელმძღვანელო, რომელიც ასწავლის მომხმარებლებს როგორ გაგზავნონ Logcat.


რა არის Logcat და როგორ მოვიყვანოთ?

Logcat არის ADB Shell ინსტრუმენტი, რომელიც გამოიყენება სისტემის ყველა მოვლენის ჟურნალის ამოსაღებად. ეს მოიცავს შეცდომებს, გაფრთხილებებს, სტეკის კვალს და ზოგად სისტემურ მოვლენებს. როდესაც შეცდომა ხდება, ძირითადი ინფორმაცია, რომელიც მიუთითებს წარუმატებლობის წყაროზე, გამოდის ამ ჟურნალის მეშვეობით, რაც მას ძალიან სასარგებლო ინსტრუმენტად აქცევს პრობლემების აღმოსაფხვრელად. ჩვეულებრივ, ისინი იხსნება და იფილტრება ADB ბრძანებების მეშვეობით. თუმცა, აპლიკაციები, როგორიცაა aLogcat, კატალოგიდა ჩვენი რჩეული ინსტრუმენტი ამ სტატიისთვის, მათლოგი, დაზოგა მომხმარებლების ძალისხმევა ამ ბრძანების ხელსაწყოების შედგენით Play-Store-დან ჩამოსატვირთი აპის GUI-ში.

როგორც აღვნიშნეთ, Matlog არის ის, რასაც ჩვენ ვიყენებთ Logcats-ის შესაგროვებლად. შერჩეული მისი არასასურველი, მაგრამ მოსახერხებელი ინტერფეისისთვის, Matlog შეიქმნა XDA Junior Member-ის მიერ plusCubed და საფუძველზე ნოლან ლოუსონის ღია კოდის აპლიკაცია Catlog. კატალოგის მსგავსად, Matlog შეიძლება იყოს შედგენილი წყაროდან, ან გადმოწერილი უფასოდ Google Play Store-დან. მიუხედავად იმისა, რომ დაყენება საშუალებას გაძლევთ გამოტოვოთ ნაბიჯი დაყენების დროს, არ არის საჭირო root წვდომა Logcats-ის შესაგროვებლად. თუ თქვენი მოწყობილობა არ არის Root, ერთი ADB shell ბრძანება მისცემს აპლიკაციას წვდომას თქვენი მოწყობილობის ჟურნალების წასაკითხად. ჯერ არ დაყენებული გაქვთ ADB თქვენს აპარატზე? პრობლემა არ არის, უბრალოდ მიჰყევით ამ ნაბიჯებს, რომ ამოქმედოთ.

შენიშვნა: Huawei-ს ტელეფონებს მთლიანად გამორთული აქვთ Logcat-ის გამომავალი. თქვენ დაგჭირდებათ ფარული პარამეტრის შეცვლა სანამ გააგრძელებთ ამ სახელმძღვანელოს დანარჩენს.


ADB-ის დაყენება

Პირველი, ჩამოტვირთეთ ADB ორობითი პირდაპირ Google-იდან თქვენი კონკრეტული OS-ისთვის და ამოიღეთ იგი თქვენს კომპიუტერში ცალკე დირექტორიაში. შემდეგი, დააინსტალირეთ შესაბამისი დრაივერი თქვენი კონკრეტული ტელეფონისთვის. შემდეგ, ჩართეთ „USB Debugging“ პარამეტრებში --> დეველოპერის პარამეტრები. თუ ვერ ხედავთ დეველოპერის ოფციებს, მაშინ დაგჭირდებათ მისი ჩართვა პარამეტრებში --> ტელეფონის შესახებ, შემდეგ 7-ჯერ დააჭირეთ Build ნომერს. დაბოლოს, დარწმუნდით, რომ ADB მუშაობს ბრძანების ხაზის გაშვებით იმავე დირექტორიაში, როგორც ADB ორობითი (დააწკაპუნეთ მარჯვენა ღილაკით --> "გახსენით ბრძანების სტრიქონი აქ") და გაუშვით შემდეგი ბრძანება:

adb devices

თუ ხედავთ თქვენი მოწყობილობის სერიულ ნომერს (და არ წერია არაავტორიზებული), თქვენ ოქროსფერი ხართ. თუ თქვენს ტელეფონზე ხედავთ ამომხტარ ფანჯარას, რომელიც გთხოვთ თქვენს კომპიუტერს ADB წვდომის მინიჭებას, მაშინ თქვით დიახ. თუ არცერთს ვერ ხედავთ, მაშინ სცადეთ გადატვირთოთ თქვენი კომპიუტერი/ტელეფონი და ხელახლა შეაერთოთ იგი თქვენს კომპიუტერში. წინააღმდეგ შემთხვევაში, სცადეთ დრაივერის ხელახლა ინსტალაცია.


Matlog-ის დაყენება

ახლა, როდესაც თქვენ გაქვთ ADB და გაშვებული (იმედია), ყველაფერი რაც თქვენ უნდა გააკეთოთ იმისათვის, რომ ჩართოთ Matlog-ის Logcats-ის დაჭერის შესაძლებლობა, არის შემდეგი ბრძანების გაცემა ADB ჭურვიში. ისევ და ისევ, თუ თქვენი მოწყობილობა უკვე დაფუძნებულია, თქვენ არ გჭირდებათ ამ ბრძანების გაშვება, რადგან ეს საჭიროა მხოლოდ unrooted ტელეფონებისთვის.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Matlog ჩანაწერის ვიჯეტი გაუმართავი აპლიკაციის გვერდით

ჩართვისა და გახსნის შემდეგ, Matlog აჩვენებს სისტემის მოვლენებს რეალურ დროში. ამის შესაჩერებლად შეგიძლიათ დააჭიროთ პაუზის ღილაკს, შემდეგ შეეხეთ ელიფსის მენიუს და აირჩიეთ „გასუფთავება“ ველის გარე მონაცემების მოსაშორებლად. რეკომენდირებულია ამის გაკეთება გაუმართავი აპლიკაციის შესვლის მომზადებისას, რათა შემცირდეს ჟურნალის ზომა. ნაბიჯების შესამცირებლად და, შესაბამისად, ჟურნალის სიგრძის კიდევ უფრო შესამცირებლად, დაამატეთ Matlog ვიჯეტი თქვენს მთავარ ეკრანზე ავარიული პროგრამის გვერდით, როგორც ეს ნაჩვენებია მარჯვნივ. Ამ შემთხვევაში, Apktool X არის ჩვენი გაუმართავი აპლიკაცია.

ვიჯეტის დაჭერით საშუალებას გაძლევთ დაასახელოთ და დაიწყოთ ჟურნალის ჩაწერა. შემდეგ, უბრალოდ გაამრავლეთ გაუმართაობა ჟურნალის დაწყებისთანავე, რაც შეავსებს Logcat-ს თქვენი პრობლემის შესაბამისი ინფორმაციით. საკითხის რეპროდუცირების შემდეგ, უბრალოდ შეეხეთ ვიჯეტს, რათა დაასრულოთ ჟურნალის ჩაწერა.

ამის შემდეგ, Matlog გაიხსნება გადაღებულ ჟურნალში. შეეხეთ ელიფსებს და აირჩიეთ „გაგზავნა“ ჟურნალის ელფოსტით, როგორც თანდართული ტექსტური ფაილი, მოწყობილობის ზოგადი ინფორმაციასთან ერთად. Ის არის! თქვენი Logcat წარმატებით იქნა აღბეჭდილი და გაგზავნილი პროფესორ ოუკს.

ჩემს ზემოთ მოცემულ მაგალითში შემიძლია გითხრათ, რომ Apktool X-ის გაფუჭების მიზეზი არის ის, რომ ჩემი მოწყობილობა არ არის ამოღებული. დოჰ! სრულად უნდა მქონოდა წაიკითხეთ სტატია აპის გამოყენებამდე.

ეს ძალიან ადვილი იყო

რა თქმა უნდა, ყველა საკითხი არ არის ასე ადვილად გადასაღებად. ხანდახან ჩატვირთვასთან დაკავშირებული საკითხები ან საკითხები, რომლებიც გაგრძელდება დროის უფრო მეტ პერიოდზე, შეიძლება მოითხოვდეს აპის სხვადასხვა ფუნქციების გადაღებას. ასეთ შემთხვევებში, თქვენ უნდა დაუშვათ Matlog-ის ფონზე გაშვება (არ გააჩეროთ ან გაასუფთავოთ) და გამოიყენოთ Log Level და Filter ფუნქციები მონაცემების გასაანალიზებლად.

თუმცა, როგორც წესი, არ არის ერთადერთი აუცილებელი მეთოდი შესაბამისი მონაცემების შესაგროვებლად - ზოგიერთ სიტუაციაში საჭიროა მეტი კონტექსტი – თითოეული ეს ხელსაწყო შეიძლება გამოყენებულ იქნას უფრო ხანგრძლივ ჟურნალებში მონაცემების დასალაგებლად და დასაზუსტებლად დეველოპერი. ბუნებრივია, ეს დამოკიდებულია შეცდომის ბუნებაზე და იმაზე, თუ რას ითხოვს დეველოპერი. რომელიმე მათგანის გამოსაყენებლად, უბრალოდ გაუშვით Matlog-ი, გაამრავლეთ თქვენი პრობლემა, დაუბრუნდით Matlog-ში, შეეხეთ წერტილების მენიუს და აირჩიეთ ამ ორი დახარისხების მეთოდიდან ერთ-ერთი.

ჟურნალის დონის შერჩევა, რომელიც აჩვენებს მხოლოდ შეცდომებს

ჟურნალის დონე

Matlog-ის მიერ გამარტივებული კიდევ ერთი ADB ბრძანება, Log Level ფუნქცია შეიძლება გამოყენებულ იქნას კონკრეტული ტიპის სისტემის მოვლენებისა და შეტყობინებების სანახავად. ქვემოთ მოცემულია სხვადასხვა ტიპის შეტყობინებების მოკლე აღწერა, როგორც აღწერილია Android Developers ვებსაიტზე და ფერი კოდირებულია Matlog-ის ეტიკეტების შესატყვისად.

ყველაზე დაბალიდან უმაღლეს პრიორიტეტამდე:

  • : სიტყვიერი (ზოგადი სისტემის მოვლენები)
  • : გამართვა
  • მე: ინფორმაცია
  • : გაფრთხილება
  • : შეცდომა
  • : ფატალური
  • S: ჩუმად (უმაღლესი პრიორიტეტი, რომელზედაც არაფერია დაბეჭდილი)

Log Level ფუნქციას აქვს ამ შეტყობინებების შესაბამისი სია, რომელსაც შეუძლია გაფილტროს ჟურნალი თითოეულ პრიორიტეტულ დონეზე. ჟურნალის დონის არჩევა აჩვენებს მხოლოდ მოვლენებს საკუთარ პრიორიტეტულ დონეზე და უფრო მაღალ დონეზე, რაც ხელს უწყობს ადვილად იდენტიფიკაციას და დაჯგუფებას შეცდომების ნაცვლად ტექსტის მრავალი სტრიქონის ხელით გადახვევის მოთხოვნილება - რაც ზოგჯერ შეიძლება იყოს ათასობით - ამის გაკეთება ისე.

საძიებო ფილტრების ნაკრები "Apktool"-ისთვის

ფილტრები

ფილტრები ასევე შეიძლება გამოყენებულ იქნას ჟურნალის მონაცემების დასალაგებლად. საკვანძო სიტყვის ძიების დაწყებით, მომხმარებელს ეძლევა საშუალება ნახოს მხოლოდ შეტყობინებები, რომლებიც პირდაპირ მიუთითებენ ამ საკვანძო სიტყვაზე. სასარგებლო საკვანძო სიტყვები შეიძლება შეიცავდეს გაუმართავი აპლიკაციის სახელს ან თუნდაც სიტყვას „შეცდომა“, რადგან ის მოიცავს ტერმინის შემთხვევებს ყველა პრიორიტეტულ დონეზე, თუმცა არ მოიცავს ყველა "ლოგის დონის" შეცდომას.

თუ აღმოაჩენთ, რომ ბევრს ეძებთ/ფილტრავთ გარკვეულ საკვანძო სიტყვებს, როდესაც ეხმარებით დეველოპერს აპლიკაციის გამართვაში (ან თუ დეველოპერმა ცალსახად შექმნა ჟურნალის უნიკალური მოვლენა, რომლის მოძიებაც შეგიძლიათ), შემდეგ ასევე შეგიძლიათ შეინახოთ ფილტრი, რომელშიც შეგიძლიათ დაბრუნდეთ მომავალი. ეს სასარგებლოა მაშინ, როდესაც წინასწარ იცით, რას ეძებთ, რაც თუ დეველოპერთან ერთად მუშაობთ, საკმაოდ ხშირად მოხდება.

მზად ხართ გამართვისთვის?

მიუხედავად იმისა, რომ თქვენ შეიძლება არა ახლა იყავით Android-ის აპლიკაციების გამართვის ექსპერტი, Logcats-ის შეგროვებისა და გაგზავნის სწავლა შეიძლება გახდეს შესანიშნავი რესურსი თქვენი საყვარელი აპების დეველოპერებისთვის. Matlog-ის გამოყენება და ზემოაღნიშნული მახასიათებლების გამოყენება, გაუმართავი აპლიკაციის შესახებ შესაბამისი ინფორმაციის შეგროვება, დახარისხება და გაგზავნა არასოდეს ყოფილა ადვილი.


გამოგიყენებიათ Matlog ან სხვა Logcat აპი? დაგეხმარათ ეს სახელმძღვანელო? შეგვატყობინეთ ქვემოთ მოცემულ კომენტარებში!