Event Background:
A few days ago saw the group off his always said end server is set up in the linux environment, including interactive processing to the client and the server, the whole idea of feeling clear lesson, so wanted to try, hands-on, and then from the environment huh start to build, so there will in this article, had to Tucao under this section is very deep memories of it, lasted 1.5 days, finally get environment to build! !
Dependent association:
ps: In my example now, individual adjustments according to their own circumstances
- JDK 1.8
- Android SDK 1.0.40
- nodejs 8.7
- 1.9.1 appium
First, install jdk:
The reference I wrote before "ubuntu12.04 installation configuration jdk1.7"
Second, install Android SDK:
1, download sdk
cd /opt mkdir androidSdk wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip unzip sdk-tools-linux-3859397.zip
2, configure the environment variables
sudo vim /etc/profile
#set sdk enviroment export ANDROID_HOME=/opt/androidSdk export PATH=$PATH:$ANDROID_HOME/tools/bin
Save and exit, enter the following command to make it effective immediately
source /etc/profile
3. View the installed
sdkmanager --list Installed packages: Path | Version | Description | Location ------- | ------- | ------- | ------- tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/ Available Packages: Path | Version | Description ------- | ------- | ------- add-ons;addon-g..._apis-google-15 | 3 | Google APIs add-ons;addon-g..._apis-google-16 | 4 | Google APIs add-ons;addon-g..._apis-google-17 | 4 | Google APIs add-ons;addon-g..._apis-google-18 | 4 | Google APIs add-ons;addon-g..._apis-google-19 | 20 | Google APIs add-ons;addon-g..._apis-google-21 | 1 | Google APIs add-ons;addon-g..._apis-google-22 | 1 | Google APIs add-ons;addon-g..._apis-google-23 | 1 | Google APIs add-ons;addon-g..._apis-google-24 | 1 | Google APIs add-ons;addon-g...e_gdk-google-19 | 11 | Glass Development Kit Preview build-tools;19.1.0 | 19.1.0 | Android SDK Build-Tools 19.1 build-tools;20.0.0 | 20.0.0 | Android SDK Build-Tools 20 build-tools;21.1.2 | 21.1.2 | Android SDK Build-Tools 21.1.2 build-tools;22.0.1 | 22.0.1 | Android SDK Build-Tools 22.0.1 build-tools;23.0.1 | 23.0.1 | Android SDK Build-Tools 23.0.1 build-tools;23.0.2 | 23.0.2 | Android SDK Build-Tools 23.0.2 build-tools;23.0.3 | 23.0.3 | Android SDK Build-Tools 23.0.3 build-tools;24.0.0 | 24.0.0 | Android SDK Build-Tools 24 build-tools;24.0.1 | 24.0.1 | Android SDK Build-Tools 24.0.1 build-tools;24.0.2 | 24.0.2 | Android SDK Build-Tools 24.0.2 build-tools;24.0.3 | 24.0.3 | Android SDK Build-Tools 24.0.3 build-tools;25.0.0 | 25.0.0 | Android SDK Build-Tools 25 build-tools;25.0.1 | 25.0.1 | Android SDK Build-Tools 25.0.1 build-tools;25.0.2 | 25.0.2 | Android SDK Build-Tools 25.0.2 build-tools;25.0.3 | 25.0.3 | Android SDK Build-Tools 25.0.3 build-tools;26.0.0 | 26.0.0 | Android SDK Build-Tools 26 cmake;3.6.4111459 | 3.6.4111459 | CMake 3.6.4111459 docs | 1 | Documentation for Android SDK emulator | 26.1.2 | Android Emulator extras;android;gapid;1 | 1.0.3 | GPU Debugging tools extras;android;gapid;3 | 3.1.0 | GPU Debugging tools extras;android;m2repository | 47.0.0 | Android Support Repository extras;google;auto | 1.1 | Android Auto Desktop Head Unit... extras;google;g...e_play_services | 42 | Google Play services extras;google;instantapps | 1.0.0 | Instant Apps Development SDK extras;google;m2repository | 55 | Google Repository extras;google;m...t_apk_expansion | 1 | Google Play APK Expansion library extras;google;market_licensing | 1 | Google Play Licensing Library extras;google;play_billing | 5 | Google Play Billing Library extras;google;simulators | 1 | Android Auto API Simulators extras;google;webdriver | 2 | Google Web Driver extras;m2reposi...ut-solver;1.0.0 | 1 | Solver for ConstraintLayout 1.0.0 extras;m2reposi...er;1.0.0-alpha2 | 1 | com.android.support.constraint... extras;m2reposi...er;1.0.0-alpha3 | 1 | com.android.support.constraint... extras;m2reposi...er;1.0.0-alpha4 | 1 | com.android.support.constraint... extras;m2reposi...er;1.0.0-alpha5 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...er;1.0.0-alpha6 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...er;1.0.0-alpha7 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...er;1.0.0-alpha8 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...er;1.0.0-alpha9 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ver;1.0.0-beta1 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ver;1.0.0-beta2 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ver;1.0.0-beta3 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ver;1.0.0-beta4 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ver;1.0.0-beta5 | 1 | Solver for ConstraintLayout 1.... extras;m2reposi...ut-solver;1.0.1 | 1 | Solver for ConstraintLayout 1.0.1 extras;m2reposi...ut-solver;1.0.2 | 1 | Solver for ConstraintLayout 1.0.2 extras;m2reposi...nt-layout;1.0.0 | 1 | ConstraintLayout for Android 1... extras;m2reposi...ut;1.0.0-alpha2 | 1 | com.android.support.constraint... extras;m2reposi...ut;1.0.0-alpha3 | 1 | com.android.support.constraint... extras;m2reposi...ut;1.0.0-alpha4 | 1 | com.android.support.constraint... extras;m2reposi...ut;1.0.0-alpha5 | 1 | ConstraintLayout for Android 1... extras;m2reposi...ut;1.0.0-alpha6 | 1 | ConstraintLayout for Android 1... extras;m2reposi...ut;1.0.0-alpha7 | 1 | ConstraintLayout for Android 1... extras;m2reposi...ut;1.0.0-alpha8 | 1 | ConstraintLayout for Android 1... extras;m2reposi...ut;1.0.0-alpha9 | 1 | ConstraintLayout for Android 1... extras;m2reposi...out;1.0.0-beta1 | 1 | ConstraintLayout for Android 1... extras;m2reposi...out;1.0.0-beta2 | 1 | ConstraintLayout for Android 1... extras;m2reposi...out;1.0.0-beta3 | 1 | ConstraintLayout for Android 1... extras;m2reposi...out;1.0.0-beta4 | 1 | ConstraintLayout for Android 1... extras;m2reposi...out;1.0.0-beta5 | 1 | ConstraintLayout for Android 1... extras;m2reposi...nt-layout;1.0.1 | 1 | ConstraintLayout for Android 1... extras;m2reposi...nt-layout;1.0.2 | 1 | ConstraintLayout for Android 1... lldb;2.0 | 2.0.2558144 | LLDB 2.0 lldb;2.1 | 2.1.2852477 | LLDB 2.1 lldb;2.2 | 2.2.3271982 | LLDB 2.2 lldb;2.3 | 2.3.3614996 | LLDB 2.3 ndk-bundle | 15.1.4119039 | NDK patcher;v4 | 1 | SDK Patch Applier v4 platform-tools | 26.0.0 | Android SDK Platform-Tools platforms;android-10 | 2 | Android SDK Platform 10 platforms;android-11 | 2 | Android SDK Platform 11 platforms;android-12 | 3 | Android SDK Platform 12 platforms;android-13 | 1 | Android SDK Platform 13 platforms;android-14 | 4 | Android SDK Platform 14 platforms;android-15 | 5 | Android SDK Platform 15 platforms;android-16 | 5 | Android SDK Platform 16 platforms;android-17 | 3 | Android SDK Platform 17 platforms;android-18 | 3 | Android SDK Platform 18 platforms;android-19 | 4 | Android SDK Platform 19 platforms;android-20 | 2 | Android SDK Platform 20 platforms;android-21 | 2 | Android SDK Platform 21 platforms;android-22 | 2 | Android SDK Platform 22 platforms;android-23 | 3 | Android SDK Platform 23 platforms;android-24 | 2 | Android SDK Platform 24 platforms;android-25 | 3 | Android SDK Platform 25 platforms;android-26 | 1 | Android SDK Platform 26 platforms;android-7 | 3 | Android SDK Platform 7 platforms;android-8 | 3 | Android SDK Platform 8 platforms;android-9 | 2 | Android SDK Platform 9 sources;android-15 | 2 | Sources for Android 15 sources;android-16 | 2 | Sources for Android 16 sources;android-17 | 1 | Sources for Android 17 sources;android-18 | 1 | Sources for Android 18 sources;android-19 | 2 | Sources for Android 19 sources;android-20 | 1 | Sources for Android 20 sources;android-21 | 1 | Sources for Android 21 sources;android-22 | 1 | Sources for Android 22 sources;android-23 | 1 | Sources for Android 23 sources;android-24 | 1 | Sources for Android 24 sources;android-25 | 1 | Sources for Android 25 system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image system-images;a...-10;default;x86 | 4 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... system-images;a...ult;armeabi-v7a | 2 | ARM EABI v7a System Image system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image system-images;a...15;default;mips | 1 | MIPS System Image system-images;a...-15;default;x86 | 4 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image system-images;a...16;default;mips | 1 | MIPS System Image system-images;a...-16;default;x86 | 5 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... system-images;a...ult;armeabi-v7a | 5 | ARM EABI v7a System Image system-images;a...17;default;mips | 1 | MIPS System Image system-images;a...-17;default;x86 | 3 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image system-images;a...-18;default;x86 | 3 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... system-images;a...ult;armeabi-v7a | 5 | ARM EABI v7a System Image system-images;a...-19;default;x86 | 5 | Intel x86 Atom System Image system-images;a...pis;armeabi-v7a | 28 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 28 | Google APIs Intel x86 Atom Sys... system-images;a...-tv;armeabi-v7a | 3 | Android TV ARM EABI v7a System... system-images;a...;android-tv;x86 | 3 | Android TV Intel x86 Atom Syst... system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image system-images;a...-21;default;x86 | 4 | Intel x86 Atom System Image system-images;a...;default;x86_64 | 4 | Intel x86 Atom_64 System Image system-images;a...pis;armeabi-v7a | 20 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 20 | Google APIs Intel x86 Atom Sys... system-images;a...gle_apis;x86_64 | 20 | Google APIs Intel x86 Atom_64 ... system-images;a...-tv;armeabi-v7a | 1 | Android TV ARM EABI v7a System... system-images;a...;android-tv;x86 | 3 | Android TV Intel x86 Atom Syst... system-images;a...ult;armeabi-v7a | 2 | ARM EABI v7a System Image system-images;a...-22;default;x86 | 5 | Intel x86 Atom System Image system-images;a...;default;x86_64 | 5 | Intel x86 Atom_64 System Image system-images;a...pis;armeabi-v7a | 14 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 14 | Google APIs Intel x86 Atom Sys... system-images;a...gle_apis;x86_64 | 14 | Google APIs Intel x86 Atom_64 ... system-images;a...-tv;armeabi-v7a | 10 | Android TV ARM EABI v7a System... system-images;a...;android-tv;x86 | 10 | Android TV Intel x86 Atom Syst... system-images;a...ear;armeabi-v7a | 6 | Android Wear ARM EABI v7a Syst... system-images;a...ndroid-wear;x86 | 6 | Android Wear Intel x86 Atom Sy... system-images;a...-23;default;x86 | 9 | Intel x86 Atom System Image system-images;a...;default;x86_64 | 9 | Intel x86 Atom_64 System Image system-images;a...pis;armeabi-v7a | 21 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 21 | Google APIs Intel x86 Atom Sys... system-images;a...gle_apis;x86_64 | 21 | Google APIs Intel x86 Atom_64 ... system-images;a...;android-tv;x86 | 11 | Android TV Intel x86 Atom Syst... system-images;a...fault;arm64-v8a | 7 | ARM 64 v8a System Image system-images;a...ult;armeabi-v7a | 7 | ARM EABI v7a System Image system-images;a...-24;default;x86 | 7 | Intel x86 Atom System Image system-images;a...;default;x86_64 | 7 | Intel x86 Atom_64 System Image system-images;a..._apis;arm64-v8a | 14 | Google APIs ARM 64 v8a System ... system-images;a...pis;armeabi-v7a | 14 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 14 | Google APIs Intel x86 Atom Sys... system-images;a...gle_apis;x86_64 | 14 | Google APIs Intel x86 Atom_64 ... system-images;a...s_playstore;x86 | 13 | Google Play Intel x86 Atom Sys... system-images;a...;android-tv;x86 | 5 | Android TV Intel x86 Atom Syst... system-images;a...ear;armeabi-v7a | 3 | Android Wear ARM EABI v7a Syst... system-images;a...ndroid-wear;x86 | 3 | Android Wear Intel x86 Atom Sy... system-images;a..._apis;arm64-v8a | 6 | Google APIs ARM 64 v8a System ... system-images;a...pis;armeabi-v7a | 6 | Google APIs ARM EABI v7a Syste... system-images;a...google_apis;x86 | 6 | Google APIs Intel x86 Atom Sys... system-images;a...gle_apis;x86_64 | 6 | Google APIs Intel x86 Atom_64 ... system-images;a...;android-tv;x86 | 3 | Android TV Intel x86 Atom Syst... system-images;a...ndroid-wear;x86 | 1 | Android Wear Intel x86 Atom Sy... system-images;a...google_apis;x86 | 4 | Google APIs Intel x86 Atom Sys... system-images;a...s_playstore;x86 | 4 | Google Play Intel x86 Atom Sys... tools | 26.0.2 | Android SDK Tools Available Updates: ID | Installed | Available ------- | ------- | ------- tools | 26.0.1 | 26.0.2
4, install the required package
sdkmanager build-tools;26.0.0
5, configuration platform tools
Open the / etc / profile add environment variables
Authentication Configuration junction
Third, the installation nodejs:
Installation Version: 8.7.0
1, download the source code from Nodejs
cd /usr/local/src wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0.tar.gz
2, the decompression installation package nodejs
tar xvf node-v8.7.0.tar.gz
3, into the unzipped folder node, install the necessary software packages compiled
cd node-v8.7.0
./configure
Tips such as gcc too old (a long list of English that I forgot), so that probably means you ggc upgrade to 4.90 or later, because gcc version requirements in 4.9.4+ nodejs8.7.0 compile time.
Upgrading gcc refer to my other one one Centos7 upgrade gcc version method uses software set scl
Executed again
./configure make
Note: make the process more time-consuming, it may take more than 30 minutes
4, installation Nodejs
sudo make instal
5, verify the correct installation
node -v
Fourth, the installation appium:
1, the source installation:
git clone https://github.com/appium/appium.git
2, enter appium source folder, use cnpm install install dependencies
cnpm install
As to the implementation of this stuck, it has not walk during installation,
Downloading Selendroid standalone server version 0.17.0 from http://repo1.maven.org/maven2/io/selendroid/selendroid-standalone/0.17.0/selendroid-standalone-0.17.0-with-dependencies.jar --> /usr/local/lib/node_modules/appium/node_modules/[email protected]@appium-selendroid-driver/selendroid/download/selendroid-server-7cf7163ac47f1c46eff95b62f78b58c1dabdec534acc6632da3784739f6e9d82.jar
Self-maven repository to download uploaded to the corresponding directory, rename the file name can be stored
3, and finally with appium -v try the installed version
V. client deployment (to Java for example)
1, pom add dependencies
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>5.0.0-BETA9</version> <scope>test</scope> </dependency>
2, code examples
package com.demo.test; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.URL; /*** * @author longrong.lang * appium demo */ public class CalculatorTest { public static void main(String[] args) throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "GALAXY S7");//deviceID capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("platformName", "Android");//操作系统 capabilities.setCapability("platformVersion", "8.0.0");//系统版本 capabilities.setCapability("appPackage", "cn.pear.browser");//应用包名 capabilities.setCapability("appActivity", "cn.pear.browser.activities.WelcomeActivity");//启动页面 AndroidDriver driver = new AndroidDriver(new URL("http://172.25.40.208:4723/wd/hub"), capabilities); Thread.sleep (200000appium server connection//); driver.quit(); } }