рд╕реБрдкреНрд░рднрд╛рдд рд╣рдо рд╕реЛрдорд╡рд╛рд░ рдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
"рдПрдВрдбреНрд░реЙрдЗрдб-рдбреЗрд╡рд▓рдкрд░ред рдЙрдиреНрдирдд рдкрд╛рдареНрдпрдХреНрд░рдо ред
тАЭ
рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ AndroidX рдкрд░ Android рдХреЛрдбрдмреЗрд╕ рдХреЛ
Kure рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдЧрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЕрд╡рд╕рд░ рд╣реИред рдзреАрдореЗрдкрди рдФрд░ рд╕рдВрд╕рд╛рдзрди рдХреА рдЦрдкрдд рдХреЗ рдХрд╛рд░рдг рдЧреНрд░реИрдбрд▓ рдХреА рд╣рдореЗрд╢рд╛ рдЦрд░рд╛рдм рдкреНрд░рддрд┐рд╖реНрдард╛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдЗрд╕рдХреА рдЧрддрд┐ рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ / рдмрд╛рдж рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рд╕реНрдХреИрди рдореАрдЯреНрд░рд┐рдХ рджреЗрдЦреЗрдВ
рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ
рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж я╕Пя╕П5.5 рдорд┐рдирдЯ рд╕реЗ
17 рд╕реЗрдХрдВрдб рддрдХ рдХреА рдХрдореА
?? рдкрд╛рдЧрд▓ рд╣реЛ рдЬрд╛рдУ!рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдордп рдХреЛ рдФрд░ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЙрд╕ рдорд╛рдореВрд▓реА, рджрд░реНрдж рд░рд╣рд┐рдд рдЙрдкрд╛рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдВрдХреЗрддрдХ рдХреЗ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдард╛рдП рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ!
рдЕрдиреБрдХреВрд▓рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЧреНрд░реИрдбрд▓ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдХреИрди рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЯрд░реНрдорд┐рдирд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:
./gradlew assembleDebug --scan
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдкрд░, рдЖрдкрдХреЛ рд╕реНрдХреИрди рдкрд░рд┐рдгрд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рд╛рдБ рджрд░реНрдЬ рдХрд░реЗрдВред рдкреНрд░рдХрд╛рд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕реНрдХреИрди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓ рдХрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рдЦреЛрд▓реЗрдВред
рд╕рд╛рдЗрдЯ рдкрд░ рдХрд╛рдлреА рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рдЙрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИредрд╕рд╛рд░рд╛рдВрд╢ рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд░рд╛рдВрд╢ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рдХреМрди рд╕реА рд░реБрдЪрд┐рдпрд╛рдВ
рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрднрд╛рдЧ рд╣реИред рдпрд╣ рдХреБрд▓ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдмреНрд░реЗрдХрдбрд╛рдЙрди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдо рдЧрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рд╕реБрдзрд╛рд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ, рдЪрд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдФрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
рдЪрд░рдг # 1: рдЕрдкрдЧреНрд░реЗрдб рдЯреВрд▓
Android рдЯреАрдо рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╕реБрдзрд╛рд░ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдЧреНрд░реИрдЧрд▓ рдкреНрд▓рдЧрдЗрди рдХреЗ
рд╕рдВрд╕реНрдХрд░рдг 3.2.1 рдкрд░ рдереА (
рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг )ред
рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрд┐рди рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк
рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдирд╡реАрдирддрдо
рд╕рдВрд╕реНрдХрд░рдг 3.4.0 рдерд╛
редрд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдкрдХрдбрд╝ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
( рдиреЛрдЯ: рдЧреНрд░реЗрдбрд▓ рд╕рдВрд╕реНрдХрд░рдг 5.0 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЧреНрд░реЗрдбреЗрд▓ рдбреЗрдорди рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрдХрд╛рд░ 1 рдЬреАрдмреА рд╕реЗ 512 рдПрдордмреА рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЦрд░рд╛рдм рдмрд┐рд▓реНрдб рдкреНрд░рджрд░реНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░реЗрдбреЗрд▓ рдбреЗрдореЙрди рдХреЗ рд▓рд┐рдП gradle.properties рдореЗрдВ рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ред)https://developer.android.com/studio/releases/gradle-pluginрдЧреНрд░реЗрдбрд▓ 5.0 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп , рд╣рдореЗрдВ рдореЗрдореЛрд░реА рд╕рд╛рдЗрдЬрд╝ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рд╣рдорд╛рд░реА рдмрд┐рд▓реНрдб рд╕реНрдкреАрдб рди рдмрд┐рдЧрдбрд╝реЗред рд╣рдо рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдЗрд╕ рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗредрд╢реАрд░реНрд╖-рд╕реНрддрд░
build.gradle рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдореЗрдВ рдкрд╛рдПрдВрдЧреЗ, рдФрд░
рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВрдЧреЗ:
classpath 'com.android.tools.build:gradle:3.4.0'
рдЖрдкрдХреЛ
gradle/wrapper/gradle-wrapper.properties
рд░реИрдкрд░ рдЧреБрдг рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
рд╡рд┐рддрд░рдг URL рдХреЛ
gradle/wrapper/gradle-wrapper.properties
рдкрд░ рд╕реНрдерд┐рдд
gradle/wrapper/gradle-wrapper.properties
ред URL рдХреЛ рдирд┐рдореНрди рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
(
рдпрд╣ рд▓рд┐рдВрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдЧреНрд░реИрдЧрд▓ рдкреНрд▓рдЧрдЗрди рдкреЗрдЬ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред )
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
рдпрджрд┐ рдХреЛрдЯрд▓рд┐рди рдЧреНрд░реЗрдбрд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг
1.3.0 рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЛрдЯрд▓рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛
ред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ
рдХреЛрдЯреЗрд▓рд┐рди рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдИрдбреАрдИ рдЯреВрд▓рдЯрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдпрд╣
рд╕рдВрд╕реНрдХрд░рдг 1.3.31 рд╣реИ )ред
рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣рдордиреЗ рдХреЛрдИ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред

рдЪрд░рдг # 2: рд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд╕реЗ рд▓рдЧрднрдЧ 2.5 рдорд┐рдирдЯ рдХреА рдХрдЯреМрддреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдмрд┐рд▓реНрдб рд▓реЙрдЧ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдпрд╛, рдЬреЛ рд╣рдореЗрдВ рд░реВрдЪрд┐ рджреЗрдЧреА:
(> рдХрд╛рд░реНрдп: рдРрдк: compileDevelopDebugJavawithJavac
рдЧреНрд░реЗрдб рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рдореНрди рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдирд╣реАрдВ рд╣реИрдВ: butterknife-compiler-10.1.0.jar (com.jakewharton: butterknife-compiler: 10.1.0), dger-compiler-2.9.jar (com.google)ред рдбреИрдЧрд░: рдбреИрдЧрд░-рдХрдВрдкрд╛рдЗрд▓рд░: 2.9)ред
рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдп рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП gradle.properties рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ android.enableSeparateAnnotationProcessing-true рдзреНрд╡рдЬ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред)рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЗ рдмреЗрдХрд╛рд░ рд╕рдВрдХрд▓рди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЙрдЧ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо
android.enableSeparateAnnotationProcessing=true
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдореЗрдВ
"рдПрдиреЛрдЯреЗрд╢рдирдкреНрд░реЛрд╕реЗрд╕рд░" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдЯрд▓рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
рдХреЛрдЯрд▓рд┐рди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 1.3.30 , рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред
https://kotlinlang.org/docs/reference/kapt.html(рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг (1.3.30 рд╕реЗ)
рд╕рдВрд╕реНрдХрд░рдг 1.3.30 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░,
kapt
рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╣реЛрдВред
рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ
gradle.properties
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
kapt.incremental.apt=true
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐
рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рднреА рд╕рдХреНрд╖рдо рд╣реЛред)
рддреЛ, рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
- 1. рдПрдиреЛрдЯреЗрд╢рдирдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ kapt рдореЗрдВ рдмрджрд▓реЗрдВ
- 2. рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдПрдиреЛрдЯреЗрд╢рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдзреНрд╡рдЬ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреА
build.gradle
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
apply plugin: 'kotlin-kapt'
рдлрд┐рд░ kapt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕рднреА рдПрдиреЛрдЯреЗрд╢рдирдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
//
annotationProcessor 'com.google.dagger:dagger-compiler:2.9'
//
kapt 'com.google.dagger:dagger-compiler:2.9'
рдЕрдм рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд
gradle.properties рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
kapt.incremental.apt=true
рдЪрд▓реЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдЦреИрд░, рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИред
рдЪрд░рдг # 3: рдЧреНрд░реЗрдб рдЧреБрдг
рд╣рдо рдЕрдВрддрд┐рдо рдЪрд░рдг рдкрд░ рд╣реИрдВред рдЧреНрд░реИрдЧрд▓ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╣рдордиреЗ рдЬреЛ рдЪрд╛рд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛, рдЙрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЧреНрд░реИрдбрд▓ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдпреБрдХреНрдд рд╕реНрдореГрддрд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдШрдЯрд╛рдХрд░ 512 рдПрдордмреА рдХрд░ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрдордЬреЛрд░ рдорд╢реАрдиреЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рди рдХрд░реЗрдВред рдореЗрд░реЗ рдкрд╛рд╕ 16 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд░реИрдо рд╡рд╛рд▓рд╛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЧреНрд░реИрдЧрд▓ рдбреЗрдорди рдХреЛ рд▓рдЧрднрдЧ 2-3 рдЧрд┐рдЧреНрд╕ рдЦрд┐рд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреА рд╕рдВрдЦреНрдпрд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд
gradle.properties рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВред рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЖрдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
рдЬрдм рд╣рдо рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдФрд░ рдСрди-рдбрд┐рдорд╛рдВрдб рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ
gradle.properties
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг
gradle.properties
:
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true kapt.incremental.apt=true
org.gradle.parallel
- рдпрд╣ рдзреНрд╡рдЬ org.gradle.parallel
рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдмрдЬрд╛рдп рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рднреАрддрд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдмрд╣реБ-рдореЙрдбреНрдпреВрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИредorg.gradle.configureondemand
- рдпрд╣ рдзреНрд╡рдЬ рдХреЗрд╡рд▓ рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЧрддрд┐ рд╕рдВрдХреЗрддрдХ рдХреНрдпрд╛ рд╣реИрдВ:


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