大家好,又见面了,我是你们的朋友全栈君。
在使用Jenkins Gitlab集成自动化打包时,遇到Linux缺少Android Sdk环境的问题,单独记录一下安装过程。
sdk安装方式
常规思路,下载sdk,安装之后修改环境。但是发现,网络上已经没有了sdk的下载资源,有的也只是很老的版本。查看Android开发文档——sdkmanager的使用指南,发现可以使用sdkmanager
这个命令行工具进行下载。
下载sdkmanager工具包
官网下载页最底部-命令行工具下载,找到Linux平台的工具包
使用wget
下载到服务器
wget -P /home/android-sdk/ https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
解压工具包
代码语言:javascript复制unzip commandlinetools-linux-7583922_latest.zip
sdkmanager
在/home/android-sdk/cmdline-tools/bin
下。
选择下载最新的sdk版本
使用命令查看最新的stable版本
代码语言:javascript复制[root@192 bin]# ./sdkmanager --list --channel=0
Error: Could not determine SDK root.
Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: <sdk>/cmdline-tools/latest/
报错了,无法找到sdk根目录,提示说有两种解决办法:一是用–sdk_root指定路径,二是把文件夹移动到指定路径。
因为懒,选择试一下第二个一劳永逸的方法。
代码语言:javascript复制[root@192 cmdline-tools]# mkdir latest
[root@192 cmdline-tools]# mv bin/ lib/ NOTICE.txt source.properties -t latest/
再次执行查询命令,就会查出一长条的版本。
代码语言:javascript复制[root@192 cmdline-tools]# cd latest/bin/
[root@192 bin]# ./sdkmanager --list --channel=0
安装sdk
因为App项目使用了Android-30的版本,故安装对应的platforms;android-30
代码语言:javascript复制./sdkmanager "build-tools;30.0.3" "platforms;android-30"
在弹出协议许可时选择y
,就开始安装了。
下载完成后,就可以在cmdline-tools
的同级目录,找到下载的sdk了。这也是为什么上面要指定sdk-root
的原因了。
[root@192 android-sdk]# ls
build-tools cmdline-tools commandlinetools-linux-7583922_latest.zip emulator licenses patcher platforms platform-tools tools
配置ANDROID_HOME环境变量
代码语言:javascript复制[root@192 android-sdk]# export ANDROID_HOME=/home/android-sdk
[root@192 android-sdk]# export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$PATH
[root@192 android-sdk]# source /etc/profile
至此,Linux安装Android Sdk完成!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162605.html原文链接:https://javaforall.cn