рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдкрд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдорд╛рд╡реЗрди) рдХреИрд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
- рдУрдкрди рд╕реЛрд░реНрд╕ android рдкреНрд░реЛрдЬреЗрдХреНрдЯ github рдкрд░
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдорд╛рд╡реЗрди рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
- рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдореЗрдВ рдЦрд╛рддрд╛
рд╣рдо рдХреНрдпрд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЧрддрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрдорд┐рдЯ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐: рд╢реБрд▓реНрдХ рд╕рдВрдпреЛрдЬрдиред рдЙрд╕реА рд╕рдордп, рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрд╕рдбреАрдХреЗ рдШрдЯрдХреЛрдВ (рдПрдбреЛрди, рдПрдХреНрд╕реНрдЯреНрд░рд╛, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ?
рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рддреИрдпрд╛рд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ github:
https://github.com/sero/android-common рдкрд░ рд▓реЗрддреЗ рд╣реИрдВред
рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ .travis.yml рд╣реИ:
language: java jdk: oraclejdk7 before_install: - chmod +x $PWD/.travis_install_android.sh - $PWD/.travis_install_android.sh - export ANDROID_HOME=$PWD/android-sdk-linux - export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools - chmod +x $PWD/.travis_install_android_dependencies.sh - $PWD/.travis_install_android_dependencies.sh - chmod +x $PWD/.travis_start_emulator.sh - $PWD/.travis_start_emulator.sh before_script: - chmod +x $PWD/.travis_wait_for_emulator.sh - $PWD/.travis_wait_for_emulator.sh script: mvn install -Pwith-tests
рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрдзрд╛рд░ рднрд╛рд╖рд╛ - рдЬрд╛рд╡рд╛, рдлрд┐рд░ jdk рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдореИрдВ Oracle рд╕реЗ JDK 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдмрд┐рд▓реНрдб рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ, рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рдШрдЯрдХреЛрдВ (рдПрдкреАрдЖрдИ, рдПрдХреНрд╕реНрдЯреНрд░рд╛, рдПрдбрди, рдЖрджрд┐) рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ
.travis_install_android.sh рдФрд░
.travis_install_android_sdk.sh рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреБрдЫ рдПрдВрдбреНрд░реЙрдЗрдб рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдорд╛рд╡реЗрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ -
.travis_install_android_dependencies.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдореБрд▓реЗрдЯрд░
рдЪрд▓рд╛рдПрдВ -
.travis_start_emulator.sh рдФрд░ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
редtravis_wait_for_emulator.sh ред
Android рд╕реНрдерд╛рдкрдирд╛
#!/bin/sh # Script installs Android SDK sudo apt-get update -qq if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq libstdc++6:i386 lib32z1; fi wget -O android-sdk.tgz http://dl.google.com/android/android-sdk_r22.0.4-linux.tgz tar xzf android-sdk.tgz export ANDROID_HOME=$PWD/android-sdk-linux export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools sudo apt-get install expect chmod +x $PWD/.travis_install_android_sdk.sh $PWD/.travis_install_android_sdk.sh
рд╡рд┐рд╡рд░рдг: 64-рдмрд┐рдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ - рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (
рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ)ред рдЕрдЧрд▓рд╛, рд╣рдо рдмрд╛рд╣рд░ рдкрдВрдк рдХрд░рддреЗ рд╣реИрдВ, рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ .travis.yml рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
Android SDK рдШрдЯрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╡рд┐рд╡рд░рдг: рд╣рдо рдПрд╕рдбреАрдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдереЛрдбрд╝реА рд╕реА рдЪрд╛рд▓ рд╣реИ - рдПрдВрдбреНрд░реЙрдЗрдб рдЕрдкрдбреЗрдЯ рдПрд╕рдбреАрдХреЗ рд╣рдореЗрдВ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕реЗ рд╕рд╣рдордд рд╣реЛрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛, рдФрд░ рддрдм рд╕реЗ рд╣рдо рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗ рдкрд╛рдПрдВрдЧреЗ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рд╣рдореЗрдВ рд╕реНрдкреЙрди рдХрдорд╛рдВрдб (рдЬреЛ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╡реЗрдХрдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реЛрдЧрд╛ред
рдореЗрд░реЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдг рд╕реЗ, рдПрдВрдбреНрд░реЙрдЗрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдк рд╕реЗ рдХреЙрдореНрдкреНрд▓реЛрдм рдФрд░ рдкреНрд▓реЗ_рд╕реИрд▓рд┐рдВрдЧ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкрд╡рд┐рддреНрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ PkgVersion = 2.0.0 рдХреЗ рдмрдЬрд╛рдп PkgVersion = 2 рд╣реЛрдЧрд╛, рдЬреЛ рд╣рдореЗрдВ рдмрд╣реБрдд рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЪреВрдВрдХрд┐ рдпрд╣ рдЪрд░ Maven рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╡рд┐рд░реВрдкрдг рд╕рд╛рдХреНрд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ)ред
рдорд╛рд╡реЗрди рднрдВрдбрд╛рд░ рдореЗрдВ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╡рд┐рд╡рд░рдг: рдПрдкреА -19 рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдорд╛рд╡реЗрди рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдХреЗ рдбрд┐рдкреНрд▓реЙрдпрд░ рдХрд╛рдВрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдВрд╕реНрдХрд░рдг 4.2 рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд▓рд╛рдПрдВ (рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ 4.4 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред рд╣рдо рдореВрд▓ рдХреЗ рдмрдЬрд╛рдп рдХрд╛рдВрдЯрд╛ рдХреНрдпреЛрдВ рдкрдВрдк рдХрд░рддреЗ рд╣реИрдВ? рдореВрд▓ рдореЗрдВ рдХреЛрдИ рдЯреИрдЧ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдореЗрдВ рдХрд┐рдП рдЧрдП рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╣рдорд╛рд░реА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдореБрд▓реЗрдЯрд░ рд▓реЙрдиреНрдЪ
рд╡рд┐рд╡рд░рдг: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЪрд▓рд╛рдПрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЯреНрд░реИрд╡рд┐рд╕ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдкрдирд╛ рд╢реБрд░реВ рдХреА, рдЬрд┐рд╕рдХреЗ рдЕрдВрдд рдореЗрдВ рдкрд╣рд▓реЗ_рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╕рднрд╛
рдЕрдВрддрд┐рдо рд░рд╛рдЧ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рд╢реБрднрд╛рд░рдВрдн рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрди-рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде mvn рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рд╣реИ, рдЬреЛ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдЧрд╛ред
script: mvn install -Pwith-tests
рдирд┐рд╖реНрдХрд░реНрд╖
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯ рдХреЛ рдмрд╛рдж рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓реЙрдиреНрдЪ рддрдХ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк
рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рд╕рд╛рде
рдПрдВрдбреНрд░реЙрдЗрдб рдХреЙрдорди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ - рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред