• centos 下 gradle 编译打包 apk


    由于Jenkins 装在centos环境下,想实现Android程序的编译,只能通过gradle 命令去打包版本apk,以下记录了如何在centos下使用gradle 打包apk

    一.安装

      gradle 需要服务器上安装过jdk 和sdk,故而要先安装jdk和sdk

      1.jdk安装(jdk需要1.8)

      下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

      选择对应版本进行安装,这里我选择了linux 64 位版本,下载完毕后,上传至linux服务器

      解压:

    mkdir /usr/java
    
    mv jdk-8u211-linux-x64.tar.gz /usr/java /usr/java
    
    tar -zvxf  jdk-8u211-linux-x64.tar.gz /usr/java
    
    rm -rf jdk-8u211-linux-x64.tar.gz /usr/java

      配置环境变量:

      vim /etc/profile(没有vim命令的,可以用vi命令进行编辑)

    export JAVA_HOME=/usr/java/jdk1.8.0_211
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin

      source /etc/profile

      查看jdk版本:java -version

       

      至此jdk安装成功

           2.sdk 安装

      下载:wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip

      安装:

    mkdir  -p /opt/android/sdk
    unzip sdk-tools-linux-3859397.zip -d /opt/android/sdk
    cd /opt/android/sdk/tools/bin/
    ./sdkmanager "build-tools;27.0.3" "platforms;android-27" "platform-tools" "ndk-bundle" "extras;android;m2repository" "extras;google;m2repository" "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" "tools"

      配置环境变量:vim /etc/profile 

    export ANDROID_HOME=/opt/android/sdk
    PATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$ANDROID_HOME/tools/bin

      sdkmanager --version 查看版本号

      

      3. 安装gradle

      下载地址:http://services.gradle.org/distributions/

      选择合适版本下载

      安装:

    mkdir /opt/gradle/
    unzip gradle-5.4-all.zip -d /opt/gradle/
    rm -rf gradle-5.4-all.zip

      配置环境变量:vim /etc/profile

    export PATH=$PATH:/opt/gradle/gradle-5.4/bin

      source /etc/profile

      查看版本:

      gradle -v

      

    完整环境变量如下所示

    export ANDROID_HOME=/opt/android/sdk
    export JAVA_HOME=/usr/java/jdk1.8.0_211
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin:/opt/gradle/gradle-5.4/bin:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$ANDROID_HOME/tools/bin

    二、生成证书

    Android apk需要有证书,否则无法正常安装,故而需要生成证书,centos 生成证书命令如下:

    keytool -genkey -v -keystore myapp.keystore -alias my_alias -keyalg RSA -keysize 2048-validity 365

    参数具体含义可通过 keytool -genkey -help 查看

    三、打包apk

    1.程序从windows Android Studio 上移植过来,故而要更改以下配置,程序目录结构如下:

    2.修改local.properties中的sdk地址

    sdk.dir=/opt/android/sdk/

    3.修改app 目录下的 build.gradle,在android配置项里增加以下内容

    signingConfigs {
           release {
                storeFile file('/home/file_recv/demo/demo/myapp.keystore')
                keyAlias 'my_alias'
                keyPassword '123456'
                storePassword '123456'
            }
            debug {
                storeFile file('/home/file_recv/demo/demo/myapp.keystore')
                keyAlias 'my_alias'
                keyPassword '123456'
                storePassword '123456'
            }
            config {
                storeFile file('/home/file_recv/demo/demo/myapp.keystore')
                keyAlias 'my_alias'
                keyPassword '123456'
                storePassword '123456'
           }
         }

    在buildTypes 添加:signingConfig signingConfigs.release(不加这句无法生效)

    buildTypes {
            release {
                signingConfig signingConfigs.release
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }

    4. 编译打包apk

    gradle assembleRelease(打包成Release版本)

    gradle assembleDebug(打包成Debug版本)

    5.版本默认存放位置

    app/build/outputs/apk

      

      

  • 相关阅读:
    多窗口页面(Frames)
    页面(PAGE)标记(TAGS)
    表单(FORM)标记(TAGS)
    会移动的文字(Marquee)
    MediaPlayer控件的初探
    ADO.net实现数据库连接(1)
    ListView初认识
    TreeView控件
    初识敏捷开发
    新的征程
  • 原文地址:https://www.cnblogs.com/gj5379/p/10827748.html
Copyright © 2020-2023  润新知