рдЬрд╛рд╡рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдкреНрд╕ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛: рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж

рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ


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

13. рдЙрд╕ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ ... рдмреНрд▓рд╛-рдмреНрд▓рд╛-рдмреНрд▓рд╛ ...

14. рдЕрдкрдиреЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреБрдЫ рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЪрд░рдг-рджрд░-рдЪрд░рдг рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝реАрд▓реНрдб рдФрд░ рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд▓реЗрдЦ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рд╕реНрдорд╛рд▓реА рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЕрдкрдиреЗ рдкреЗрди рдХреЗ рд╕рд╛рде .smali рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреИрдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡рд╣рд╛рдВ рдЕрдкрдирд╛ рдХреЛрдб рджрд░реНрдЬ рдХрд░реЗрдВред

рдЙрдкрдХрд░рдг


рд╣рдореЗрдВ рдлрд┐рд░ рд╕реЗ Apk-рдЯреВрд▓ 1.4.1 рдФрд░ NetBeans 6.8 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдФрд░ рдпреЗ рдЕрдм рддрдХ рдХреЗ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд┐рдВрдЧ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдФрд░ рд╡рд┐рд╖рдпрдЧрдд рдордВрдЪреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП - рди рдХреЗрд╡рд▓ рдореБрдЭреЗред

рдореИрдВрдиреЗ рдХрд▓ рдХреЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдк-рдЯреВрд▓ рдФрд░ рдиреЗрдЯрдмреАрдиреНрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореИрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛ред NetBeans рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддрд╛ рд╣реИ, рдмрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рдиреЗрдХреНрд╕реНрдЯ-рдиреЗрдХреНрд╕реНрдЯ-рдиреЗрдХреНрд╕реНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред Apk-tools рдХреЛ apktool.jar рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдХрд╛рдЗрд╡ рд╕реЗ рдХрд┐рд╕реА рднреА рдлреЛрд▓реНрдбрд░ рдореЗрдВ apktool.jar рдлрд╛рдЗрд▓ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред

рдЖрд╡реЗрджрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреИрд╕реЗ рдбрд╛рд▓реЗрдВ


рд╡рд┐рдЪрд╛рд░ рдЖрдо рддреМрд░ рдкрд░ рд╕рд░рд▓ рд╣реИред рдЖрдкрдХреЛ рдЙрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд onCreate(...) рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рджрд░реНрдЬ рдХрд░реЗрдВред рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, onCreate(...) рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдпрдВрддреНрд░рдг рд╣рдорд╛рд░реЗ рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ред рдЬрдмрдХрд┐ рд▓реВрдк рд╡рд╣рд╛рдВ рдШреВрдо рд░рд╣рд╛ рд╣реЛрдЧрд╛, рд╣рдо рдЗрддреНрдореАрдирд╛рди рд╕реЗ рдбрд┐рдмрдЧрд░ рдХреЛ рд░рдирд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдЕрдВрддрд╣реАрди рд▓реВрдк рдХреЗ рдареАрдХ рдмрд╛рдж рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдбрд┐рдмрдЧрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд▓реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдмрд╛рд╣рд░ рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдФрд░ рддреБрд░рдВрдд рд╣рдорд╛рд░реЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИред

рдпрд╣ рдЦрдВрдб рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХ рдУрдПрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдХреГрдкрдпрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдареАрдХ рд╕реЗ рдкрд╛рд▓рди рдХрд░реЗрдВ - рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ!

  1. Apk-tool рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА .apk рдлрд╝рд╛рдЗрд▓ рдХреЛ temp рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд░реЗрдВред -d рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ :
     java -jar apktool.jar d my.app.apk temp 

    рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, temp/smali рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ .smali рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
  2. temp/AndroidManifest.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╡рд┐рдзрд┐ рдвреВрдВрдвреЗрдВ
     <intent -filter="-filter"> <action android:name="android.intent.action.MAIN"> <category android:name="android.intent.category.LAUNCHER"> </intent> 

    рдпрд╣ рд╡рд╣ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
  3. рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдорд┐рд▓реА? рдЕрдм .smali рдлрд╝рд╛рдЗрд▓ рдЦреЛрдЬреЗрдВ рдЬреЛ рдЗрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ (рдЖрдорддреМрд░ рдкрд░ android.app.Activity class рдХрд╛ рд╡рдВрд╢рдЬ)ред temp/smali рдореЗрдВ рдЧрд╣рд░реА рджреЗрдЦреЛред
  4. рдЕрдм рдЗрд╕ рдХрдХреНрд╖рд╛ рдореЗрдВ onCreate(...) рд╡рд┐рдзрд┐ рдвреВрдВрдвреЗрдВ рдФрд░ рдХреЙрд▓ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдХреЙрд▓ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬрд╛рддреА рд╣реИ)
     invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V 

    onCreate(...) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦреЗрдВ:
     :debug sget v0, Lmy/activity/class/MyActivity;->debugFlag:I if-nez v0, :debug 

    рдЪреМрдХрд╕ рдкрд╛рдардХ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд╡рд╣ рдЕрдВрддрд╣реАрди рд▓реВрдк рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдмрд╛рдд рдХреА рдереАред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, MyActivity рдмрдЬрд╛рдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдо рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ v0 рдмрдЬрд╛рдп, рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рднреА рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рд░рдЬрд┐рд╕реНрдЯрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ .locals рдФрд░ / рдпрд╛ .registers рддрджрдиреБрд╕рд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝реЗрдВред
  5. рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рднреА рдЬреЛрдбрд╝реЗрдВ
     .field static debugFlag:I = 0x01 

    рдЕрдиреНрдпрдерд╛, рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдЕрдирдВрдд рд▓реВрдк рдХрд╛ рдХреЛрдб рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  6. рдЕрдкрдиреЗ .apk рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд┐рд░ рд╕реЗ -d рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛ , temp рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдБ:
     java -jar apktool.jar b temp my.app.apk 

    рдмреЗрд╢рдХ, рдореВрд▓ my.app.apk рдХреЛ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд╣реАрдВ my.app.apk рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЕрдм рд╣рдордиреЗ my.app.apk рдХреЛ рдкреИрдЪ рдХрд░ my.app.apk ред рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╡рд░реНрдЧ рдореЗрдВ onCreate(...) рд╡рд┐рдзрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд╣рдордиреЗ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ред рдЦреИрд░, рдЗрд╕ рдкреИрдЪ my.app.apk рдФрд░ рдХрд▓ рдореЗрд░реЗ рд▓реЗрдЦ рд╕реЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ (рдбреАрдмрдЧрд┐рдВрдЧ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдиреМрд╡реЗрдВ рдЪрд░рдг рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рдХрд╛рд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП! рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдареАрдХ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкреИрдЪ onCreate(...) рд╡рд┐рдзрд┐ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рд╣рдорд╛рд░реЗ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред рдЕрдЧрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдПрдВрдбреНрд░реЙрдЗрдб рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рддреЛ рдордирд╛ рдХрд░ рджреЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдЦреНрддреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ!

рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдмрд╛рд░рд╣рд╡реЗрдВ рдЪрд░рдг рдореЗрдВ, рдиреЗрдЯрдмреАрдиреНрд╕ .java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЦреЛрд▓реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ onCreate(...) рд╡рд┐рдзрд┐ рд╕реНрдерд┐рдд рд╣реИред NetBeans рдореЗрдВ рдбреАрдмрдЧ рдкреИрдирд▓ рдкрд░ рдкреЙрдЬрд╝ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдлрд┐рд░, рдЗрд╕ рдУрдкрди .java рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЕрдВрддрд╣реАрди рд▓реВрдк рдХреЛрдб рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкрд░ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдбрд╛рд▓реЗрдВ рдЬреЛ рдЖрдкрдиреЗ onCreate(...) рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдерд╛ред рдлрд┐рд░, рдиреЗрдЯрдмреАрдиреНрд╕ рдбреАрдмрдЧрд░ рдореЗрдВ рдЪрд░ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, debugFlag рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреЛ 0 рдореЗрдВ debugFlag рдФрд░ рдиреЗрдЯрдмреАрдиреНрд╕ рдореЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ рдкреИрдирд▓ рдкрд░ "рдЬрд╛рд░реА рдбрд┐рдмрдЧрд┐рдВрдЧ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдкреНрд░рдмрдВрдзрди рдПрдХ рдЕрдирдВрдд рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рддреБрд░рдВрдд рдЖрдкрдХреЗ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣реА рд╣реИ, рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рдЖрд╡реЗрджрди рдХреЛ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдмрд╣реБрдд рдкрд╣рд▓реЗ onCreate(...) рд╡рд┐рдзрд┐ рдХреЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рд╕реЗ!

WaitForDebugger рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж ()


рдкрд╛рдардХ, рдЬреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдереЛрдбрд╝рд╛ рд╣реИ, рд╕рдВрднрд╡рддрдГ android.os.Debug.waitForDebugger() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╖рдп рдордВрдЪреЛрдВ рдкрд░ рдкрдврд╝рддрд╛ рд╣реИред рдЗрд╕реА рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП android.os.Debug.waitForDebugger() рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдПрдХ рд╣реА рдкрд╛рдардХ рд╢рд╛рдпрдж рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдмрдЧреАрдЪреЗ рдХреЛ рдПрдХ рдЪрдХреНрд░ рдХреЗ рд╕рд╛рде рдвреЗрд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ onCreate(...) рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
 invoke-static {}, Landroid/os/Debug;->waitForDebugger()V 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдзрд┐ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ - рд╕реМрдВрджрд░реНрдп! рдЖрдкрдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ - рдХрд┐рд╕реА рдЪреАрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рд▓реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, android.os.Debug.waitForDebugger() рд╕рд╛рде рдлреЛрдХрд╕ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдХрдИ рдХреЗ рд▓рд┐рдП (рдореЗрд░рд╛ рд╕рд╣рд┐рдд), android.os.Debug.waitForDebugger() рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж android.os.Debug.waitForDebugger() рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ" рдФрд░ рдбреАрдмрдЧрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдбреАрдбреАрдПрдордПрд╕ рдореЗрдВ рднреА рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдЫреЛрдЯрд╛ "рд▓рд╛рд▓ рдмрдЧ" рдЖрдЗрдХрди рдЖрд╡реЗрджрди рдХреЗ рд╡рд┐рдкрд░реАрдд рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рд╣рдо рдбрд┐рдмрдЧрд░ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдирд┐рдпрдВрддреНрд░рдг android.os.Debug.waitForDebugger() рдмрд╛рдж рддреБрд░рдВрдд рдЕрдЧрд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд┐рдирд╛ рд░реБрдХреЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ android.os.Debug.waitForDebugger() рдмрд╛рдж рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред

android.os.Debug.waitForDebugger() рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП android.os.Debug.waitForDebugger() рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕ рддрд░рд╣ рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП - рдЕрднреА рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред рд╢рд╛рдпрдж рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдЧрд╛ред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рднреА рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдмреЗрд╡рдХреВрдл рд╣реВрдВ - рдХреГрдкрдпрд╛ рдзреИрд░реНрдп рд░рдЦреЗрдВред рдореИрдВ рд╕рднреА рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рдЦреБрд╢ рдбрд┐рдмрдЧрд┐рдВрдЧ!

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


All Articles