рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TeamCity рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рд╛рддрд╛ рд╣реВрдВредрдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рднреА рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ (рдЬреЛ рдореБрдЭреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорд┐рд▓рд╛) рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЪреАрдЬреЗрдВ рдЬреЛ рдиреМрд╕рд┐рдЦрд┐рдП рдкрд░реАрдХреНрд╖рдХ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВредрдЙрджреНрджреЗрд╢реНрдп:
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп, рдирд┐рдореНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:- рдСрдЯреЛ рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рдпреЛрдЬрдирд╛
- UI рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдПрдВ
- рдбрд┐рдмрдЧ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдФрд░ рдмрд╛рдж рдХреА рдореИрдиреБрдЕрд▓ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдкреАрдХреЗ рдлрд╛рдЗрд▓реНрд╕ рдЬрд╛рд░реА рдХрд░рдирд╛
- рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рднреА рд╡рд┐рдХрд╛рд╕ рджрд▓ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ
рдпреЛрдЬрдирд╛:
- рдЬрд╛рд╡рд╛ JDK рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- Android SDK рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- рдбреАрдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╢реНрд░реЗрдгреА рд╕реЗрдЯ рдХрд░рдирд╛
- Android рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛
- рдЯреАрдорд╕рд┐рдЯреА рд╕рд░реНрд╡рд░ рдФрд░ рдмрд┐рд▓реНрдб рдПрдЬреЗрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
- рдЯреАрдорд╕рд┐рдЯреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ тЖТ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдб рдФрд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдПрдкреАрдХреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдПрдВ
- UI рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдЪрд░рдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдореБрдЦреНрдп рд╣рд┐рд╕реНрд╕рд╛
1. рдЬрд╛рд╡рд╛ JDK рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЬрд╛рд╡рд╛рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рдзрд╛рд░рдгрд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, JetBrains рдЕрдкрдиреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рд╡рд╛ рдПрд╕рдбреАрдХреЗ рдХреЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ: рд▓рд┐рдВрдХрдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ : рд▓рд┐рдВрдХрднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:JAVA_HOME
- CI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SKD Java рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрдеред
рдЙрджрд╛рд╣рд░рдг:
C:\Java\jdk1.8.0_181
рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред- рдкрде - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдПрд╕рдХреЗрдбреА рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрдеред
рдЙрджрд╛рд╣рд░рдг:
C:\Java\jdk1.8.0_181\bin
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред
рд╣рдо рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ:рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реАрдПрдордбреА рдореЗрдВ рд╣рдо рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ: java -version
рдЬрд╛рд╡рд╛ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рд╣реИ:
2. рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдЯреВрд▓реНрд╕ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдПрдВрдбреНрд░реЙрдЗрдб рдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рддреБрд░рдВрдд Android рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛редрдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рд▓рд┐рдВрдХрдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:ANDROID_HOME
рдЙрджрд╛рд╣рд░рдг: C:\Users\1\AppData\Local\Android\Sdk
ANDROID_AVD_HOME
рдЙрджрд╛рд╣рд░рдг: C:\Users\1\.android\avd
рдкрде:рдЙрджрд╛рд╣рд░рдг: C:\Users\1\AppData\Local\Android\Sdk\platform-tools\
- рд╣рдорд╛рд░реЗ рдФрд░ рд╕реАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВредрдЬрд╛рдБрдЪ рдХрд░реЗрдВ: CMD рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВ: adb --help
рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рдкрде:рдЙрджрд╛рд╣рд░рдг: C:\Users\1\AppData\Local\Android\Sdk\emulator\
- рд╣рдорд╛рд░реЗ рдФрд░ рд╕реАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВредрдЬрд╛рдБрдЪ рдХрд░реЗрдВ: рд╣рдо CMD рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВред emulator -version
рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ:
3. рдЧреНрд░реЗрдб рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЧреНрд░реИрдбрд▓рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХрдВрд╕реЛрд▓ рд╕реЗ рдбрд┐рдмрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдПрдХ рдбрд╛рд▓ рджреЗрдВрдЧреЗредрд╕рдВрд╕реНрдХрд░рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреНрд░реИрдбрд▓ рд░реИрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдПрдЧреАредрдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдб 3.3ред рд▓рд┐рдВрдХ рдХрд░реЗрдВ редрд╣рдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:GRADLE_HOME
- рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ CI рдЧреНрд░реИрдбрд▓ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛редGRADLE_USER_HOME
рдЙрджрд╛рд╣рд░рдг: c:/gradle-cache
рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди, рд╕рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдЧреНрд░реИрдбрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛C:\Windows\System32\config\systemprofile\.gradle
рдЖрдЧреЗ CI рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛редрдкрде:C:\Gradle\gradle-3.3\bin
- рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЧреНрд░реИрдбрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрдередрдЬрд╛рдБрдЪ рдХрд░реЗрдВ: рд╣рдо CMD рдореЗрдВ рдЯрд╛рдЗрдк gradle -v
рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ:
4. рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рддреИрдпрд╛рд░реА4.1ред рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВредрдЧрддрд┐рд╡рд┐рдзрд┐ рдЯрд╛рдЗрдк рдХрд░реЗрдВ - рдиреАрдЪреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЧрддрд┐рд╡рд┐рдзрд┐ред рдпрд╣ рдпреВрдЖрдИ рдЯреЗрд╕реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧрд╛ред4.2ред рдЧреНрд░реИрдбрд▓ рдбреЗрдорди рдХреЛ рдПрдХ рдирд┐рд░рдВрддрд░ рдЖрдзрд╛рд░ рдкрд░ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЧреНрд░реИрдбрд▓ рдбреЗрдорди CI рдореЗрдВ рд╕реНрдкреЙрди рди рдХрд░реЗ:рдлрд╛рдЗрд▓ gradle.properties:
add org.gradle.daemon=false
4.3 рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ ред рд╣рдо рдлрд╝рд╛рдЗрд▓ .gitignore
(рдЖрдкрдХреЗ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП) рдореЗрдВ рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реАрд╕реАрдПрд╕ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╛рдЗрд▓реЗрдВ рди рдЫреЛрдбрд╝реА рдЬрд╛рдПрдВред 4.4ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдХреАрд╕реНрдЯрд░ (рдпрд╛ рдореМрдЬреВрджрд╛ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) рдмрдирд╛рдПрдВред рд▓рд┐рдВрдХ рдХрд░реЗрдВ ред.gradle
.idea
/build/
local.properties
4.5ред рдХрд┐рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдЧреНрд░реИрдбрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдПрдкреАрдХреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗрдВредрдЙрджрд╛рд╣рд░рдг:android{
... //
signingConfigs {
release {
storeFile file("keystorefile.jks") //
storePassword "Password" //
keyAlias "android" // keyAlias,
keyPassword "Password" // APK
}
}
... //
buildTypes {
release {
... //
signingConfig signingConfigs.release // APK
}
}
}
4.6ред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВрдЧреЗред CMD рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ:cd < >
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: C:\Users\1\Documents\GitHub\Command2
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдПрдВредрджрд░реНрдЬ рдХрд░реЗрдВ: рд╣рдоgradlew assembleDebug
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ редрдЕрдЧрд░ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо BUILD SUCCESSFUL рдорд┐рд▓рддрд╛ рд╣реИред
рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ: app\build\outputs\apk\debug
рдЗрд╕рдореЗрдВ рдПрдХ рддрд╛рдЬрд╛ рдПрдкреАрдХреЗ рдлрд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдЬрд╛рдВрдЪ рд▓реЗрдВред4.7ред рд╣рдо рдпрд╣ рднреА рдЬрд╛рдВрдЪреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдПрд╕рдбреАрдХреЗ рдЙрдкрдХрд░рдг рдФрд░ рдПрд╡реАрдбреА рдкреНрд░рдмрдВрдзрдХ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВред4.7.1ред рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдмрдирд╛рдПрдВред рдЖрдк рдмреЗрд╢рдХ рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдкрд┐рдд UI рд╢реЗрд▓ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдПрдХ рдкрд╛рдк рд╣реИредрдЙрдкрдХрд░рдг тЖТ рдПрд╡реАрдбреА рдкреНрд░рдмрдВрдзрдХ:
рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рдПрд╕рдбреАрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред4.7.2ред рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдмрдирд╛рдпрд╛ред рдЖрдЗрдП рдХрдВрд╕реЛрд▓ рд╕реЗ рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рд╣рдо рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ:start /min emulator -avd < >
рдЙрджрд╛рд╣рд░рдг:start /min emulator -avd Pixel_2_API_25
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо /min
рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рд╡рд╣ рд╕реАрдПрдордбреА рдореЗрдВ рдирдП рдЖрджреЗрд╢реЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛редрдбрд┐рд╡рд╛рдЗрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
4.7.3ред рд╣рдо рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдПрдкреАрдХреЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВредрд╣рдо CMD рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ:adb install <path_to_apk>
рдЙрджрд╛рд╣рд░рдг:adb install C:\Users\1\Documents\GitHub\Command2\app\release\app-release.apk
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ:
4.7.4ред рд╣рдо рд╕реНрдерд╛рдкрд┐рдд APK рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВредрд╣рдо CMD рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ:adb shell monkey -p < > -c android.intent.category.LAUNCHER 1
рдЙрджрд╛рд╣рд░рдг:adb shell monkey -p com.panarik.command -c android.intent.category.LAUNCHER 1
рдЖрд╡реЗрджрди рд╢реБрд░реВ:
4.7.5ред рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GitHub рдХреЛред рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреА:Git BASH рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдпрджрд┐ рд╣рдо Git VCS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рд▓рд┐рдВрдХ рдХрд░реЗрдВ редрд╣рдо рд░рд┐рдореЛрдЯ рд░реЗрдкреЛ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВред рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВ Git BASH:git clone < .git>
рдЙрджрд╛рд╣рд░рдг:git clone https://github.com/panarik/Command2.git
рд╣рдо рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
TeamCity рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдЕрднреНрдпрд╛рд╕ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рддреБрд░рдВрдд TeamCity рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЯреАрдорд╕рд┐рдЯреА рдореЗрдВ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдЬ рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдмрдЧреЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПред5. TeamCity Server рдФрд░ Build Agent рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛рдореИрдВ рдЕрдзрд┐рд╖реНрдард╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рд╡рд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдЗрдб рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╣реИред рдЯреАрдорд╕рд┐рдЯреА рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ I рдореЗрдВ рдЧреИрд░-рдорд╛рдирдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рддрд╛рдХрд┐ рдкреЛрд░реНрдЯ рд╕реНрдХреИрди рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛред6. рдЯреАрдордХрд┐рдЯреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ тЖТ рдмрд┐рд▓реНрдбрд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╕ рдПрдкреАрдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкрде рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:рдЙрджрд╛рд╣рд░рдг:app\build\outputs\apk\release\app-release.apk
6.1ред рдЯреАрдорд╕реАрдЯреА рд╡реАрд╕реАрдПрд╕ рд░реВрдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдирд╛рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИред рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рд╣рдо Git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд░рд┐рдореЛрдЯ рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХред рдЙрджрд╛рд╣рд░рдг:https://github.com/panarik/Command2.git
6.2ред TeamCity Build рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдПрдХ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдкреАрдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣рдо рдЧреНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВредрдлрд╝реАрд▓реНрдб рдЧреНрд░реИрдбрд▓ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ: -clean build assembleDebug --no-daemon
(-рдиреЛ-рдбреЗрдорди рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдФрд░ рдпрд╣ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдордиреЗ рдЕрдиреБрднрд╛рдЧ 4.2 рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛)
рд░рди рд░рди рдкрд░, рд╣рдореЗрдВ рдПрдкреАрдХреЗ рдорд┐рд▓рддрд╛ рд╣реИред7. UI рдСрдЯреЛрдЯреЗрд╕реНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдЪрд░рдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣рдореЗрдВрд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рд╛, рдЕрд░реНрдерд╛рддреН, рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓реЙрдиреНрдЪредрдЪрд░рдг .BAT рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЯреАрдордХреАрдЯ рдпреВрдЖрдИ рдЖрджрд┐ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдордХреНрдЦреА рдкрд░ рдмрджрд▓реЗрдВред7.1ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдмрдирд╛рдПрдВредрдЖрдк BATnik рдХреЛ URL рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ BAT_FILES
BATniks рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрде рдХреЗ рд╕рд╛рде TeamCity рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ : рд╣рдо
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдореБрд▓реЗрдЯрд░ рд╕реНрдЯрд╛рд░реНрдЯ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВредрдЙрджрд╛рд╣рд░рдг:start /min "emulator" /D "C:\Users\1\AppData\Local\Android\Sdk\emulator" emulator.exe -avd Pixel_2_API_25 -no-snapshot-save -no-boot-anim
рдПрдХ рдмрдВрдж рд╕рд╛рдЗрдЯ рдкрд░ рдХрдорд╛рдВрдб рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕реВрдЪреА: рд▓рд┐рдВрдХ ред7.2ред рдПрдореБрд▓реЗрдЯрд░ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдмрдирд╛рдПрдВред рдЖрдк рддреБрд░рдВрдд .BAT рдореЗрдВ рдкрд╣рд▓рд╛ рдЪрд░рдг рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛редрдРрд╕реА рдЯреАрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЬрд╛рд╕реВрд╕реА рдХрд░рддрд╛ рд╣реИ:adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82'
рдпреВрдЖрдИ рд╕реЗ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
рдСрдл рд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рдЯреАрдореЛрдВ рдХреА рд╕реВрдЪреА: рд▓рд┐рдВрдХред7.3ред рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВредрдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рднреАред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХрдорд╛рдВрдб:gradlew connectedDebugAndroidTest
7.4ред рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВредрдЙрджрд╛рд╣рд░рдг рдХрдорд╛рдВрдб:adb -s emulator-5554 emu kill
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реБрдИредрдЖрдк рдПрдХ рдЕрд▓рдЧ рдЪрд░рдг рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рднреА рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИредрдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдпреЗ рдзрдиреНрдпрд╡рд╛рдж!рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рд╣реИ, рдФрд░ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рд╣реИ, рддреЛ рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред