本文将介绍如何在linux上配置android SDK, 运行模拟器和Appium
警告
不要使用 apt 安装android-sdk不要在需要root权限的文件夹下进行操作(例如/opt)
安卓10不自带计算器应用
supersu不支持7.1.1(不含)以上
前言
下面所有介绍均在一个SDK文件夹下操作(我自己的路径是/home/zx/SDK)
安装KVM
这是x86安卓必须要装的
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
安装android SDK
下载
不用下载studio, 直接下载Command line tools only即可
在SDK文件夹下解压, 得到一个tools文件夹
配置ANDROID_SDK_ROOT环境变量
export ANDROID_SDK_ROOT=/home/zx/SDK
sdkmanager
这是一个包管理器, 位于tools/bin下, 可以用来下载images或者各种各样的包, 下载后会存放在SDK文件夹下, 比如你下载了platform-tools, 那么在SDK目录下就会多一个platform-tools文件夹
根据自己需要自行下载, 有些是必要的, 后面会提到
例子, 下载7.1.1版本的镜像
sdkmanager "system-images;android-25;google_apis;x86_64"
avdmanager
使用它, 通过命令行创建和管理 Android 虚拟设备
例子, 创建一个7.1.1版本的名字叫root的avd(安卓虚拟设备)
avdmanager create avd -n root -k "system-images;android-25;google_apis;x86_64"
emulator
启动模拟器
使用 -skin 720x1280 可以指定分辨率
例子, 以分辨率720P启动名称为root的虚拟设备
emulator -avd root -skin 720x1280
常见问题
- PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value
如果在 sdkmanager 中没有下载一个系统所有所需的安装包, 就会报错, 建立相应的空文件夹即可(emulator, platforms, platform-tools, system-images)
./sdkmanager "system-images;android-25;google_apis;x86"
./sdkmanager --licenses
重新接受一遍所有证书
杂七杂八
How to get root access on Android emulator?
安装Appium
安装java8
官方要求java8, 别装11, 要不然会报错”Original error: Could not sign with default certificate”
sudo apt install openjdk-8-jdk
配置java环境变量
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export PATH=$JAVA_HOME/bin:$PATH
下载Appium
为了减少bug和方便, 我使用AppImage来运行
问题
即使你使用 sdkmanager 安装了 build-tools 和 platform-tools, Appium还是可能报错’cant find aapt’, 我用了一个特殊的方法解决, 即把 build-tools 的文件全拷贝到 platform-tools 目录下, 就可以解决此问题
其他问题
uiautomatorviewer
sudo adb kill-server
sudo adb start-server
简单例子
1 | from appium import webdriver |