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

 

 

 

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM