Linux安装Android Sdk「建议收藏」

Linux安装Android Sdk「建议收藏」在使用Jenkins+Gitlab集成自动化打包时,遇到Linux缺少AndroidSdk环境的问题,单独记录一下安装过程。sdk安装方式常规思路,下载sdk,安装之后修改环境。但是发现,网络上已经没有了sdk的下载资源,有的也只是很老的版本。查看Android开发文档——sdkmanager的使用指南,发现可以使用sdkmanager这个命令行工具进行下载。下载sdkmanager工具包官网下载页最底部-命令行工具下载,找到Linux平台的工具包使用wget下载到服务器wget-P/h

大家好,又见面了,我是你们的朋友全栈君。

在使用Jenkins+Gitlab集成自动化打包时,遇到Linux缺少Android Sdk环境的问题,单独记录一下安装过程。

sdk安装方式

常规思路,下载sdk,安装之后修改环境。但是发现,网络上已经没有了sdk的下载资源,有的也只是很老的版本。查看Android开发文档——sdkmanager的使用指南,发现可以使用sdkmanager这个命令行工具进行下载。

下载sdkmanager工具包

官网下载页最底部-命令行工具下载,找到Linux平台的工具包
Linux安装Android Sdk「建议收藏」

使用wget下载到服务器

wget -P /home/android-sdk/ https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip

解压工具包

unzip commandlinetools-linux-7583922_latest.zip

sdkmanager/home/android-sdk/cmdline-tools/bin下。

选择下载最新的sdk版本

使用命令查看最新的stable版本

[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指定路径,二是把文件夹移动到指定路径。

因为懒,选择试一下第二个一劳永逸的方法。

[root@192 cmdline-tools]# mkdir latest
[root@192 cmdline-tools]# mv bin/ lib/ NOTICE.txt source.properties -t latest/

再次执行查询命令,就会查出一长条的版本。

[root@192 cmdline-tools]# cd latest/bin/
[root@192 bin]# ./sdkmanager --list --channel=0

安装sdk

因为App项目使用了Android-30的版本,故安装对应的platforms;android-30

./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环境变量

[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.net/162605.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tfs使用教程_tf.truncated_normal

    tfs使用教程_tf.truncated_normal一、如何删除工作项   1、使用Tfs管理员账户登录   2、使用Cmd打开命令行窗口        如果是32位系统,cd”C:/ProgramFiles/MicrosoftVisualStudio10.0/Common7/IDE”        64位系统则       cd”C:/ProgramFiles(x86)/MicrosoftVisualStudio10.0/Common7/IDE”   3、使用witadmin.exedestroywi命令,按下面的方式

    2022年9月23日
    0
  • css规则定义的分类,CSS规则定义英汉对照表[通俗易懂]

    css规则定义的分类,CSS规则定义英汉对照表[通俗易懂]《CSS规则定义英汉对照表》由会员分享,可在线阅读,更多相关《CSS规则定义英汉对照表(4页珍藏版)》请在人人文库网上搜索。1、CSS规则定义英汉对照表一、类型font-family:字体font-size:字体大小font-weight:字体浓淡font-style:字体风格如:斜体、正常等font-variant:字体变量(用来设定字体是正常显示,还是以小型大写字母显示)line-heig…

    2022年5月17日
    32
  • CPU五级流水线_五级流水线是什么

    CPU五级流水线_五级流水线是什么取指:指令取指(InstrucTIonFetch)是指将指令从存储器中读取出来的过程。译码:指令译码(InstrucTIonDecode)是指将存储器中取出的指令进行翻译的过程。经过译码之后得到指令需要的操作数寄存器索引,可以使用此索引从通用寄存器组(RegisterFile,Regfile)中将操作数读出。执行:指令译码之后所需要进行的计算类型都已得知,并且已经从通用寄…

    2022年8月20日
    4
  • SPI接口详细介绍

    SPI接口详细介绍1.概述SPI=SerialPeripheralInterface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。现在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。优点:支持全双工,push-pull的驱动性能相比open-drain信号完整性更好;支持高速(100MHz以上…

    2022年6月10日
    54
  • swift 中protocol(协议)中的可选(optional)方法

    swift 中protocol(协议)中的可选(optional)方法

    2021年9月15日
    131
  • TCP四次挥手详解[通俗易懂]

    TCP四次挥手详解[通俗易懂]在开始之前可以先了解一下TCP三次握手TCP四次挥手过程和状态变迁在断开连接之前客户端和服务器都处于ESTABLISHED状态,双方都可以主动断开连接,以客户端主动断开连接为优。第一次挥手:客户端打算断开连接,向服务器发送FIN报文(FIN标记位被设置为1,1表示为FIN,0表示不是),FIN报文中会指定一个序列号,之后客户端进入FIN_WAIT_1状态。也就是客户端发出连接释放报文段(FIN报文),指定序列号seq=u,主动关闭TCP连接,等待服务器的确认。第二次挥…

    2022年6月2日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号