рдХреНрд░реИрд╢ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдПрдВ

рд╣рд╛рдп рд╣реИрдмреНрд░реЛрдбреНрд░рд┐рдб!
рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░, рдХрд┐рд╕ рдлрд░реНрдорд╡реЗрдпрд░ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рддреЛ рдпрд╣ рдЫреЛрдЯрд╛ рд╡рд┐рд╖рдп рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдПрдХ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред
рдПрд╕реАрдЖрд░рдП рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХреИрдЯ рд╡рд┐рд╡рд░рдг рдХреЗ рддрд╣рддред


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдирдХ рд╕рдВрджреЗрд╢ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ (рдХреЗрд▓реЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕), рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрд╕реАрдЖрд░рдП рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ - code.google.com/p/acra

рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐рдпрд╛рдБ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ:
1. рдЕрдкрдиреЗ Google рдбреЙрдХреНрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐) рдХреЗ рд▓рд┐рдП рдХреНрд░реИрд╢ рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдЦрдирд╛
2. рдореЗрд▓ рдкрд░ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдирд╛
3. рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛, рдЬрд╣рд╛рдВ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ
рдЖрдк рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рднреЗрдЬрдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЕрдкрдиреЗ ReportSender рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдХрдИ рд╕реВрдЪрдирд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореЛрдб рд╣реИрдВ:
1. рд╕рд╛рдЗрд▓реЗрдВрдЯ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ) - рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЖрдкрдХреЗ Google рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдП рдмрд┐рдирд╛ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдорд╛рдирдХ рджреБрд░реНрдШрдЯрдирд╛ рд╕рдВрд╡рд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
2. рдЯреЛрд╕реНрдЯ - рдПрдХ рдЯреЛрд╕реНрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЖрдкрдХреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ
3. рдЕрдзрд┐рд╕реВрдЪрдирд╛ - рдПрдХ рд╕рдВрджреЗрд╢ рд╕реНрдерд┐рддрд┐ рдкрдЯреНрдЯреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рдВрд╡рд╛рдж рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдПрдХ рдЯрд┐рдкреНрдкрдгреА (рд╡реИрдХрд▓реНрдкрд┐рдХ) рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рднреЗрдЬреЗ рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ customReportContent рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдерд╛рдкрдирд╛

рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рд╕реЗ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдЬрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ libs рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ, рд▓рд┐рдВрдХ рдХреЛ рдЧреНрд░рд╣рдг рдореЗрдВ рдмрд┐рд▓реНрдб рдкрд╛рде рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

рдХрд╛рдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг

рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдиреЗ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдкрд╣рд▓реЗ рдПрдХ (Google рдбреЙрдХреНрд╕ рдкрд░ рднреЗрдЬ) рдкрд░ рдмрд╕ рдЧрдпрд╛ред
рдЖрдЧреЗ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЪрдорддреНрдХрд╛рд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рднреА, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХреА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдХреЛрдб рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдЬреИрд╕реЗ:

import org.acra.*; import org.acra.annotation.*; @ReportsCrashes( formKey = "  ", logcatArguments = { "-t", "50", Constants.DEBUG_TAG+":D"} ) public class MyApp extends Application { @Override public void onCreate() { ACRA.init(this); ErrorReporter.getInstance().checkReportsOnApplicationStart(); super.onCreate(); } } 

рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХрд╛ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
 <application android:name="MyApp" ... 

рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рд╣рдо рдлреЙрд░реНрдо рдХреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдФрд░ рдХрд╣рд╛рдВ рд╕реЗ рдиреАрдЪреЗ рд▓рд╛рдпрд╛ рдЬрд╛рдП) рдФрд░ рд▓реЙрдЧрдХрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ, рд╣рдо рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 50 рдЯреБрдХрдбрд╝реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ (рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдЬреАрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЯреИрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИ)ред
рд╡реИрд╕реЗ, рдкреНрд░рдХрдЯ рдореЗрдВ рд▓реЙрдЧ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛:
 <uses-permission android:name="android.permission.READ_LOGS"/> </pre> 

рдЕрдЧрд▓рд╛, рдСрдирдХреНрд░реИрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╢реБрд░реБрдЖрддреА рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдереЗ рд▓реЗрдХрд┐рди рднреЗрдЬреЗ рдирд╣реАрдВ рдЧрдП рдереЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдирд╣реАрдВ рдерд╛)ред

Google рдбреЙрдХреНрд╕ рддреИрдпрд╛рд░ рдХрд░рдирд╛

рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдВрднрд╡рддрдГ Google рдЦрд╛рддрд╛ рд╣реИред рд╣рдо Google рдбреЙрдХреНрд╕ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ "рд▓реЛрдб" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЙрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ ACRA рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ CrashReports-Template.csv рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдбреЙрдХ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рд╣рдо рдЯреВрд▓ рдореЗрдиреВ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдлреЙрд░реНрдо рдЪреБрдиреЗрдВ-> рдлреЙрд░реНрдо рдмрдирд╛рдПрдБред рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдЦреБрд▓реЗрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ "рдЗрд╕ рдлреЙрд░реНрдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдбреЛрдореЗрди> рд╕рд╛рдЗрди-рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓рд┐рдВрдХ рдореЗрдВ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬреА рд╣реЛрдЧреА - formKey, рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВред рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реЗрд╡ рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддреИрдпрд╛рд░ рд╣реИред рд╕рд╣реЗрдЬреЗ рдЧрдП рдХреБрдВрдЬреА рдХреЛ рдХреЛрдб рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛!

рд╡рд┐рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрджрд╛рд╣рд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
code.google.com/p/acra/wiki/AdvancedUsage

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рдЖрдк рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рдореБрджреНрджреЗ рдХреА рдЪрд░реНрдЪрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЧрд┐рд░рд╛рд╡рдЯ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
stackoverflow.com/questions/601503/how-do-i-obtain-crash-data-from-my-android-application

рдореИрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рднреЗрдЬреА рдЧрдИ рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рддреБрд░рдВрдд рдЖрдкрдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред
рд╡рд┐рд╖рдп рдкрд░ рд╕рднреА рдкреНрд░рд╢реНрди рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдкреАрдПрдо рдореЗрдВред

Source: https://habr.com/ru/post/In123542/


All Articles