美文网首页
Jenkins 搭建Android自动打包环境

Jenkins 搭建Android自动打包环境

作者: 暮商知秋 | 来源:发表于2022-02-08 11:28 被阅读0次

    操作环境

    • 本地环境 MAC
    • 远程环境 Linux

    登录远程Linux

    1. 使用mac自带的terminal ssh登录远程无服务
    2. 使用工具Iterm2 或者 Termius (windows可以选择使用xshell),这里我选择使用Termius,可以找破解版的
    • 使用Termius登录成功后


      image.png

    Jenkins环境搭建

    Linux环境配置

    • 更新软件源
    sudo apt-get update
    

    安装jdk

    • 查看java版本
    -java -version
    
    • 根据你的Android编译时所需要的jdk版本,安装对应的版本;这里安装jdk11,去oracle官方平台下载 jdk11

    • 使用SFTP将文件从Mac拷贝到远程Linux中

    • 解压到相应的目录

    • 配置环境变量

    # 编辑环境变量
    vim /etc/profile
    
    #在打开的文件中添加如下配置
    JAVA_HOME=/usr/local/jdk-11.0.14
    CLASSPATH=.:$JAVA_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin
    export JAVA_HOME CLASSPATH PATH
    
    #使环境变量生效
    source /etc/profile
    

    安装Jenkins 参考连接

     #1. 我们将存储库密钥添加到系统。
     wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
     #2. 添加密钥后,系统将返回OK 。 接下来,我们将Debian包存储库地址附加到服务器的sources.list
     echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
     #3. 运行update ,以便apt-get将使用新的存储库
     sudo apt-get update
     #4. 最后,我们将安装Jenkins及其依赖项,包括Java
     sudo apt-get install -y jenkins
    

    启动Jenkins服务

     #使用systemctl我们将启动Jenkins
     sudo systemctl start jenkins
    
     #由于systemctl不显示输出,我们将使用其status命令来验证它是否成功启动
     sudo systemctl status jenkins 
    
     #重启Jenkins
     sudo systemctl restart jenkins
    

    设置Jenkins

    #登录Jenkins
    #使用服务器域名或IP地址访问Jenkins的默认端口8080
    http://ip_address_or_domain_name:8080
    #浏览器会显示设置初始密码,地址浏览器上面会显示,如下面的路径
    #/var/lib/jenkins/secrets/initialAdminPassword
    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    

    android sdk搭建 参考链接

    • android sdk下载
      下载地址:http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
      如果是本地下载,需要将下载后的包上传到远程linux
    • 进入android放置的目录,我这里是(/android/sdk/),解压tar -zxvf android-sdk_r24.4.1-linux.tgz
    • 配置sdk环境变量,编辑/etc/profile,添加如下配置
    export ANDROID_HOME=/android/android-sdk-linux
    export PATH=$PATH:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tool
    export PATH=$PATH:${ANDROID_HOME}/cmdline-tools/latest/bin
    
    • 安装sdk
    #显示可下载更新的所有资源包
    android list sdk --all
    
    image.png
    image.png
    • 更新sdk
    #根据sdk更新对应的包
    ndroid update sdk -u --all --filter 1,2,3,4,5,6,7,8,...
    

    如果你需要的sdk和buildtools版本没有在列表中,请下载命令行工具

    • 下载sdk命令行工具 点击下载

    • 将下载的压缩包解压到android/android-sdk-linux/command-tools/latest


      image.png
    • sdkmanager使用

    配置jenkins

    常见错误

    • 打包时报错
    > Failed to install the following Android SDK packages as some licences have not been accepted.
        build-tools;30.0.2 Android SDK Build-Tools 30.0.2
        platforms;android-31 Android SDK Platform 31
     To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
    #解决办法
    sdkmanager配置
    
    > Failed to install the following SDK components:
         build-tools;30.0.2 Android SDK Build-Tools 30.0.2
         platforms;android-31 Android SDK Platform 31
     The SDK directory is not writable (/android/android-sdk-linux)
    #解决办法
    sdkmanager "build-tools;30.0.2"
    sdkmanager "platforms;android-31"
    
    • 二维码图片无法显示
    [description-setter] Could not determine description.
    #解决办法,set build description 正则表达式的参数需要和控制台日志输出的变量配一致
    如下面的appQRCodeURL=([a-zA-z]+://[^\s]*)需要匹配控制台输出的日志
    
    set build description
    控制台日志输出

    相关文章

      网友评论

          本文标题:Jenkins 搭建Android自动打包环境

          本文链接:https://www.haomeiwen.com/subject/fbhbkrtx.html