
рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рддрд░реНрдХ рдЦреЛ рджрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЧрдВрдЬрд╛ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рд▓рд┐рдП рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░реЛрдХрд╛, рдФрд░ рдпрд╣ рдмрд╛рд╣рд░ рд╢рд░реНрдо рдХреА рдмрд╛рдд рдереА, рддреЛ рдореИрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдкреНрд▓рдЧ-рдЗрди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рд╕реЗрдЯред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рд░рд▓ рд╣реИ, рдПрдХ рдпреБрдЧреНрдорд┐рдд рдордХреНрдХрд╛ рд╕рд┐рд▓ рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП, рдЖрдЬ рдореИрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рд╡рд╣ рд╣реИ рдЬреЛ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (
AltGraph + U рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ):
рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (verред 1.0.1):
github.com/Ghedeon/ADB-Uninstall/releasesрд╕реНрдерд╛рдкрдирд╛:
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ тЖТ рдкреНрд▓рдЧрдЗрдиреНрд╕ тЖТ рдбрд┐рд╕реНрдХ рд╕реЗ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ...рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдкреНрд▓рдЧрдЗрди рдХрдЪреНрдЪрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬреЛ рд▓реЛрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдВрдЧреЗред рдореИрдВ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ рд╕рд╣реА рдХрд░реВрдВрдЧрд╛ред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдореАрдХреНрд╖рд╛рдПрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рд╕реБрдЭрд╛рд╡ - рд╕рдм рдХреБрдЫ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИ!
рдпрд╣рд╛рдБ Android рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХреБрдЫ рд░реЛрдЬрд╝ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп):
рдЙрдкрдпреЛрдЧ рдХреЗрд╕ 1:
рдЯреАрдо рдПрдХ рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдЖрдкрдиреЗ рдмрд╕ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдзреИрд░реНрдпрдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ? рд╕рд╣реА,
рд╡рд┐рдлрд▓рддрд╛ [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]ред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдХ рд╕рд╣рдпреЛрдЧреА рд╕реЗ рдПрдХ рдЖрд╡реЗрджрди рд╣реИ,
рдбреАрдмрдЧ рдХреБрдВрдЬреА рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рдХреНрд░рдорд╢рдГ,
рдЕрдкрдбреЗрдЯ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рд╢рд╛рдк рджреЗрддреЗ рд╣реБрдП, рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдЪрдврд╝ рдЬрд╛рддреЗ рд╣реИрдВ,
"adb uninstall <package>"
рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдФрд░ рд▓рдЧрднрдЧ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдмрд╛рдЗрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ
"adb uninstall <package>"
рд╣реИред
рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ 2:
рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓
"adb uninstall"
рдмрд╛рдж рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рджреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдФрд░
рдПрдбреАрдмреА рдХреЛ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐
рдХрд┐рд╕рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред рдЕрдкрдиреЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХреА рдкреВрд░реА рдореВрд░реНрдЦрддрд╛ рдХреЛ рдЧрд▓реЗ рд▓рдЧрд╛рддреЗ рд╣реБрдП, рдирд┐рд░рд╛рд╢ рднрд╛рд╡рдирд╛рдУрдВ рдореЗрдВ рдЖрдк
"adb devices"
рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ,
"adb devices"
рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░
"adb -s <deviceId> uninstall <package>"
рдФрд░ рджреБрдирд┐рдпрд╛ рдЖрдкрдХреЛ рдЖрддреНрдорд╕рдорд░реНрдкрдг рдХрд░рддреА рд╣реИред
рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ 3:
рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рд╕рднреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЦреИрд░, рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдПрдХ рдкрдЯрдХрдерд╛ рд▓рд┐рдЦреА рдЬрд╛рдПрдЧреА рдЬреЛ рдХрд┐рд╕реА рддрд░рд╣ рдкреВрд░реА рд░рд╕реЛрдИ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рджреЗрдЧреАред
рдЙрдкрдпреЛрдЧ рдХреЗрд╕ 4:
рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк
"adb uninstall <package>"
рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВред
рд╕рдорд╛рдзрд╛рди:
- рдЯреАрдо рдХреЗ рд╕рднреА рд╕рджрд╕реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдбрд┐рдмрдЧ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдлрд┐рд░, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕рдм рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдЬреИрд╕реЗ рдЖрдк рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- рдПрдХ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░, рдЕрдзрд┐рдорд╛рдирддрдГ, рд╕реНрдорд╛рд░реНрдЯ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рддрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рдЕрдиреБрдХреВрд▓ рдерд╛, рдЬрдм рддрдХ рдХрд┐ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдЯреАрдо рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╕рдВрдкрд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдорд╛рдВрдЧ рдирд╣реАрдВ рдХреАред рдХрд┐рд╕реА рдХреЗ рддреЛрддреЗ рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк, рдЬреЛ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╡реНрдпрд╕реНрдд рджрд┐рдЦрдиреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╢рд┐рд▓реНрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рдбрд┐рдЬрд╝рд╛рдЗрди
рдЖрдИрдбреАрдП рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐
рд▓реБрд╕реАрдлрд░ рд╕реЗ рд╕рд╛рдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реНрдорд╛рд░рдХ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдХреЗрд╡рд▓ рд▓рд╛рдЧрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдИрдбреАрдИ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрдЗрдЯрдо рдХреЛ рдореЗрдиреВ рдФрд░ / рдпрд╛ рдЯреВрд▓рдмрд╛рд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ
AnAction рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ
рдорд┐рд▓рд╛ рдФрд░
рдПрдХреНрд╢рдирдкрд░реНрдлрд╝рд░реНрдб () рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
Android SDK рдХреЗ рдкреВрд░реНрдг рдкрде рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ:
ProjectRootManager.getInstance(event.getProject()).getProjectSdk().getHomePath();
рдпрджрд┐ рд╣рдо рдЗрд╕рдореЗрдВ
/platfrom-tools
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рд╕реЗ
adb рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдЯрд┐рдкреНрдкрдгреАрдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛: рдпрд╣ рдЖрд╢рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рднреА рдкрдереЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред рддрдм рд╣рдореЗрдВ рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдЙрди рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХ рдУрдПрд╕ рдХреЗ рддрд╣рдд, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдХ рд╣рдЬрд╝рд╛рд░ рдФрд░ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рднреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ crammed рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╣рдиреЗ рд╕реЗ рд░реЛрдХ рджрд┐рдпрд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ System.getenv()
ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рд╡рд┐рдзрд┐ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдИ рдФрд░ рдореИрдВрдиреЗ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдмрд╛рдж рдореЗрдВ, рдЖрдИрдбреАрдИрдП рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ delving, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡реЗ, рдореЗрд░реА рддрд░рд╣, рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдореЗрдВ рдЬреБрдбрд╝реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:
Process pr = Runtime.getRuntime().exec(toolPath + File.separator + "adb devices");
рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ рд╕реЗ
Runtime.exec()
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, IDEA рдРрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рдХреЛрд╖реЗрд░
GeneralCommandLine
рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рдЪ рдореЗрдВ, рдореБрдЭреЗ рдЕрднреА рднреА
TODO рдореЗрдВ рдпрд╣ рд╕рдВрдХреНрд░рдордг рд╣реИ рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ред
рдЕрдм рдЖрдкрдХреЛ рдЙрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рд╣рдЯрд╛ рджреЗрдВрдЧреЗред рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреИрдХреЗрдЬ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрднреА рднреА
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдореЙрдбреНрдпреВрд▓ рдХреЗ
AndroidManifest.xml рд╕реЗ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд▓реЗрдирд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдЖрдк рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдирддреАрдЬрддрди, рдореИрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рд╕рдорд╛рдзрд╛рди рдкрд░ рдмрд╕ рдЧрдпрд╛ - рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдХреЛ рдореМрдЬреВрджрд╛ рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рд╕рдордЭрд╛ рджреВрдВрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ
рд░рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред рдЗрд╕
рд░рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рдмрдирд╛рддреЗ рд╕рдордп,
рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдм рдореЗрдВ, рдЖрдк
рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╕реЗ, рд╣рдо рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд▓реЗрдВрдЧреЗред рдпрджрд┐ рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд╣реА рд▓реЗрдВрдЧреЗ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╣реИред
рд╣рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ:
RunManager runManager = RunManager.getInstance(event.getProject()); ModuleBasedConfiguration selectedConfiguration = (ModuleBasedConfiguration) runManager.getSelectedConfiguration().getConfiguration();
рдЕрдЧрд▓рд╛ рдЪрд░рдг
AndroidManifest.xml рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдкрде рдвреВрдВрдв рд░рд╣рд╛ рд╣реЛрдЧрд╛ред рдкреБрд░рд╛рдиреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрдбрд╝ рд╣реЛрдЧреАред
рдЧреНрд░реЗрдбрд▓ -рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдорддреМрд░ рдкрд░
currentModulePath / src / main рд╣реИ , рдЬрд┐рд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрдбрд╝ рд╣реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИ:
Module module = selectedConfiguration.getConfigurationModule().getModule(); currentModuleFilePath = module.getModuleFilePath(); String currentModulePath = currentModuleFilePath.substring(0, currentModuleFilePath.lastIndexOf(File.separator));
рдкреИрдХреЗрдЬ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА
Stax рдкрд╛рд░реНрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛
AndroidManifest.xml рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ (
рдбрд┐рд╡рд╛рдЗрд╕рдЖрдИрдб рдФрд░
рдкреИрдХреЗрдЬ ) рд╕реАрдзреЗ
рдПрдбреАрдмреА рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рдФрд░, рдЬреНрдпрд╛рджрд╛рддрд░ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ, рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣
рдбрд┐рд╡рд╛рдЗрд╕рдЖрдИрдб рджреНрд╡рд╛рд░рд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХ
рдорд╛рдирд╡-рдкрдардиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
adb -s <deviceId> shell cat /system/build.prop;
рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рд╣реЛрдЧреА (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА рд╣реИ)ред рд╣рдо рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
ro.product.manufacturer ro.product.model ro.build.version.release ro.build.version.sdk
рдирддреАрдЬрддрди, рд╕рд╛рд░ рд╡рд░реНрддрдиреА
R32CC02G02Z рдХреЗ рдмрдЬрд╛рдп
, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЧрд░реНрд╡ рд╣реЛрдЧрд╛:
"рд╕реИрдорд╕рдВрдЧ рдиреЗрдХреНрд╕рд╕ 10 рдПрдВрдбреНрд░реЙрдЗрдб 4.3 (рдПрдкреАрдЖрдИ 18) ред
"рдмрд╛рдд рдЫреЛрдЯреА рд╣реИ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕ рд╕рднреА рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдЪрдпрдирд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдПрдХ рдЬреАрд╡рд┐рдд рдХрддрд╛рд░ рдХреЗ рдХреНрд░рдо рдореЗрдВ, рдкреНрд░рддрд┐рд╖реНрдард┐рдд
рдПрдбреАрдмреА рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ :
Process pr = Runtime.getRuntime().exec(toolPath + File.separator + "adb -s " + device.getSerialNumber() + " uninstall " + packageName);
рд╡рд╣ рд╕рдм рд╣реИред
GitHub рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЛрд░реНрд╕ рдХреЛрдб:
github.com/Ghedeon/ADB-Uninstall ред
рдкреВрд░рдХ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рд▓реЙрдЧ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП,
Notifications.Bus.notify(<notification>)
ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рдВрджреЗрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдПрдХ рдпрд╛ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛: рдИрд╡реЗрдВрдЯ рд▓реЙрдЧ, рдмреИрд▓реВрди, рд╕реНрдЯрд┐рдХреА рдмреИрд▓реВрди, рдЯреВрд▓ рд╡рд┐рдВрдбреЛ рдмреИрд▓реВрди ред рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдРрдб-рдСрди рдХрд╛рд░реНрдмрдирд┐рдХ рджрд┐рдЦреЗрдВ, рдирдВрдЧреЗ рд╕реНрд╡рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдШрдЯрдХ IntelliJ IDEA рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗрдЯ рд╕реЗ рдбрд╛рдпрд▓реЙрдЧ рд░реИрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
- рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд┐рдВрджреБ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред рдлрд┐рд▓рд╣рд╛рд▓, рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдЙрддреНрд╕реБрдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬрдм рдкреНрд▓рдЧрдЗрди рдХреНрд░реИрд╢ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдЖрдИрдбрд┐рдпрд╛ Google рдХреЛ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛, рдЕрдЧрд░ рдХреЛрдИ Crashlytics рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕реНрд╡рд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред
рдореИрдВ рдпреВрдЬрд░реНрд╕
рд▓реВрд╕реАрдлрд░ рдФрд░
рдпреЛрд▓ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреА рдЕрдЪреНрдЫреА рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрддрд╛ рд╣реВрдВред