• Linux配置AndroidSDK&Jenkins远程部署


    最近将公司的项目部署了Jenkins持续集成,遇到了几个麻烦的点,其中之一就是将Android SDK进行配置在远程服务器(总结下来还是自己对Linux命令还不够熟悉),特此记录。

    • 系统: Ubuntu Server 16.04.1 LTS 64位
    • 前置:完成JDK的环境搭建

    1.下载SDK

    点击进入下载网址 下载对应的 android-sdk_r24.4.1-linux.tgz 文件。

    2.解压下载的压缩包

    • tar -zxvf android-sdk_r24.4.1-linux.tgz

    3.安装32位库

    Android SDK中的adb程序是32位的,Ubuntu x64系统需要安装32位库文件,用于兼容32位的程序:

    • sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
     

    4.配置环境变量

    • export ANDROID_SDK_HOME=/home/XXX/android/sdk/android-sdk-linux
    • export PATH=$PATH:${ANDROID_SDK_HOME}/tools
    • export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools
     

    通过 vim /etc/profile 查看 或 编辑 环境变量的配置(或者直接通过export命令查看):

     

    5.下载最新SDK工具

    进入tools目录下,输入./android -v list sdk命令查看可下载更新的SDK列表:

     
     

    官方提供了一些参数供开发者选择性更新:

    Action "update sdk":
    Updates the SDK by suggesting new platforms to install if available.
    Options:
    -f --force Forces replacement of a package or its parts, even if something has been modified
    -u --no-ui Updates from command-line (does not display the GUI)
    -o --obsolete Installs obsolete packages
    -t --filter A filter that limits the update to the specified types of packages in the form of a comma-separated list of [platform, tool, platform-tool, doc, sample, extra]
    -s --no-https Uses HTTP instead of HTTPS (the default) for downloads
    -n --dry-mode Simulates the update but does not download or install anything

    上述参数通过android update sdk --filter <component> --no-ui命令进行 组件 的过滤性筛选。

    笔者选择了简单粗暴,直接通过android update sdk --no-ui命令下载所有版本的sdk。

    6.将sdk配置到Jenkins

    打开Jenkins 的 系统配置界面,将对应的SDK根目录配置给环境变量:

     

    7.构建错误处理

    缺少License

    错误日志:

    What went wrong:
    A problem occurred configuring project ':xxx'.
    Failed to install the following Android SDK packages as some licences have not been accepted.
    build-tools;27.0.3 Android SDK Build-Tools 27.0.3
    To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

    解决方案:

    将本地sdk目录下的licenses文件夹中的License文件传到远程服务器中:

     

    对应版本的SDK Build-Tools不存在

    错误日志:Failed to install the following SDK components:
    build-tools;27.0.3 Android SDK Build-Tools 27.0.3
    The SDK directory is not writable (/home/sdk/android-sdk-linux)

     

    解决方案,更新对应的BuildTools版本:

    查看所有版本列表:

    • ./android list sdk -a
     

    更新对应的27.0.3版本:

    • android update sdk -u -t 7 -a
     
  • 相关阅读:
    JDK14的新特性:JFR,JMC和JFR事件流
    java深入理解浅拷贝和深拷贝
    jcmd:JDK14中的调试神器
    你真的了解java class name吗?
    JDK14中的java tools简介
    JDK 14的新特性:switch表达式
    JDK 14的新特性:文本块Text Blocks
    java中的内部类内部接口详解
    一文弄懂String的所有小秘密
    深入理解java的泛型
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/11455873.html
Copyright © 2020-2023  润新知