在手机上安装android-sdk,配置java,执行appium自动化任务

本章主要是aarch64架构android-sdk的收集,当然基于terxux的android-sdk工具包本人已经做好,日后会在我的服务器上发布,供大家下载安装,本章节主要分享怎么搜集aarch64架构android-sdk,后续会续写制作deb安装包的教程。

上篇博客appium安装教程-CSDN博客的配置请保证已完成。

上节我们成功启动了appium服务,但通过appium-doctor验证appium依赖发现我们还需要安装android-sdkjava,本节以主要介绍为android平台的termux收集aarch64架构的android-sdk包,并安装java,同学!请上车。

1 termux(安卓平台)下载android工具包

一, 安装android-sdkcmdline-tools

最好是在终端执行命令,因为包比较零散,手动创建目录比较麻烦。

termux 有几个重要的环境变量需要了解,不然你还真不知道$HOME``$PREFIX指的是什么

1
2
$HOME=/data/data/com.termux/files/home
$PREFIX=/data/data/com.termux/files/usr

android-sdk

1
2
3
4
5
Android SDK:开发安卓应用的工具集,含工具、库、文档、模拟器等,支持多种语言开发。
Cmdline-tools:SDK 里的命令行工具,用于命令行执行开发操作、自动化构建。
Build-tools:构建安卓应用的工具,能编译、打包、签名应用,支持不同配置。
Platform-tools:与安卓平台相关的工具集,含adb,用于设备通信、调试、文件传输。
bundletool.jar:处理安卓 App Bundle 的工具,可将其转为 APK,还能做分析处理。
1.1 终端执行(以aarch64为例,因为符合大多数手机的架构)
1
2
3
4
mkdir -p $HOME/android/android_cache # 创建缓存目录
cd $HOME/android/android_cache # 进入缓存目录
wget https://github.com/AndroidIDEOfficial/androidide-tools/releases/download/sdk/android-sdk.tar.xz
wget https://github.com/AndroidIDEOfficial/androidide-tools/releases/download/sdk/cmdline-tools.tar.xz
1.2 手动下载下载

从这里下载并安装 termux

此处下载android-sdkcmdline-tools

二, 下载 build-tools platform-toolsbundletool.jar
2.1 终端执行(以aarch64为例)
1
2
3
4
5
cd $HOME/android/android_cache # 确保在缓存目录下
wget https://github.com/AndroidIDEOfficial/androidide-tools/releases/download/v33.0.3/build-tools-33.0.3-aarch64.tar.xz
wget https://github.com/AndroidIDEOfficial/androidide-tools/releases/download/v33.0.3/platform-tools-33.0.3-aarch64.tar.xz
### 因为标准的linux中有tools/bundletool.jar包,所以咱们也不能少,在2.2中有详细的介绍
wget https://github.com/google/bundletool/releases/download/1.18.1/bundletool-all-1.18.1.jar
2.2手动下载

根据你的平台架构在这里下载 build-toolsplatform-tools

因为标准的android-sdk-linux中有tools/bundletool.jar包,所以咱们也不能少。
bundletool 科普在这

bundletool.jar开源地址在这

三, 提取包

提取android-sdkcmdline-toolsbuild-toolsplatform-tools拷贝bundletool.jar

1
2
3
4
5
6
7
cd $HOME/android/android_cache # 确保在缓存目录
tar -Jxvf android-sdk.tar.xz -C ..
tar -Jxvf cmdline-tools.tar.xz -C ../android-sdk
tar -Jxvf build-tools-33.0.3-aarch64.tar.xz -C ../android-sdk
tar -Jxvf platform-tools-33.0.3-aarch64.tar.xz -C ../android-sdk
mkdir -p $HOME/android/android-sdk/tools # 创建bundletool.jar目录
cp bundletool-all-1.18.1.jar ../android-sdk/tools/bundletool.jar

至此我们已经将android-sdk的包收集完毕,具体在$HOME/android/android-sdk下这个目录不是很安全,容易操作失误导致文件丢失,所以建议将android-sdk放在/data/data/com.termux/files/opt目录下,也就是$PREFIX/../opt目录。

android-sdk移动到目录 opt目录下

1
2
3
# 创建opt目录
mkdir -p $PREFIX/../opt
mv $HOME/android/android-sdk $PREFIX/../opt

四, 配置环境变量

1
2
export ANDROID_HOME=$PREFIX/../opt/android-sdk 
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

收集aarch64平台sdk的工作终于结束!!!!!!!

2 termux(安卓平台)安装java

安装java
1
2
pkg search jdk #查询官方提供的JDK 
pkg install openjdk-17
配置java环境变量

由于termux并不是纯净的linux环境,配置java环境变量建议使用方式一配置,这里提供两种java环境变量的配置方法,请按照你的使用习惯选择。

方式一
1
vim ~/.bashrc # 粘贴以下内容
1
2
3
export JAVA_HOME=$PREFIX/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH

这样配置java环境变量,在proot和初始shell中都可以使用,但不符合linux的使用规范。

1
java -version
方式二

只能在proot环境使用java但符合liunx使用规范。

1
2
3
4
# 安装proot
pkg update
pkg install proot
vim ~/.bashrc # 粘贴以下内容
1
2
3
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH

这样配置每次使java需要进入proot环境,

1
2
termux-chroot
java -version
  • 注意 两种环境变量的差异就在$PREFIX变量,首先PREFIX=/data/data/com.termux/usr,因为termux默认的shell/data/data/com.termux/usr/bin/bashtermuxhome目录在/data/data/com.termux/files/home目录,由于android系统对用户权限的限制,普通用户是无法访问/目录的,所以普通用户不能使用PATH=/usr/lib/jvm/java-17-openjdk的环境变量,而proot是将是将空间隔离,重新定义了/目录,并将/data/data/com.termux/目录挂在在自己环境的/目下,这样我们既可以通过$PREFIX访问usr目录,也可以使用/usr访usr目录。

下一章节实现客户端和服务端的通信,然后搭建自动化测试服务。

上一节传送门

下一节传送门

感谢的技术支持Install-Android-Studio-in-Termux

感谢来自以下博客的分享

bundletool 工具使用详解-CSDN博客

Linux环境下安装appium测试工具_linux安装appium-CSDN博客