由于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..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-.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..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 ''
storePassword ''
}
debug {
storeFile file('/home/file_recv/demo/demo/myapp.keystore')
keyAlias 'my_alias'
keyPassword ''
storePassword ''
}
config {
storeFile file('/home/file_recv/demo/demo/myapp.keystore')
keyAlias 'my_alias'
keyPassword ''
storePassword ''
}
}

在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

  

  

centos 下 gradle 编译打包 apk的更多相关文章

  1. fedora/centos下gcc编译出现gcc: error trying to exec ‘cc1plus’: execvp: No such file or directory

    fedora/centos下gcc编译出现gcc: error trying to exec 'cc1plus': execvp: No such file or directory解决办法 翻译自: ...

  2. linux下反编译android apk

    1.所需要的工具 1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等, 下载地址:https://code.google.com/p/android-apktool/downlo ...

  3. [问题记录]cocos2dx编译打包apk过程&问题记录

    目录: 1. 入门 2. 编译 3. 问题 4. 总结 5. 参考 ------------------------------------------------------------------ ...

  4. 『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse

    一.使用apktool 将 apk反编译生成程序的源代码和图片.XML配置.语言资源等文件 具体步骤: (1)下载反编译工具包:apktool 官方的打不开 http://apktool.shouji ...

  5. centos下安卓构建打包太慢

    最近不清楚什么情况,在linux下构建安卓打包时,很慢,很慢...... 之前还是好好的,一个构建三四分钟,现在尽然要两三个小时,人都要崩溃了.... 当时据说公司用的联通网有问题了,正在处理,可是网 ...

  6. 几种常用库在CentOS下的编译

    1操作环境 通过命令查看操作系统版本信息: [root@localhost ~]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (bui ...

  7. Mac 下反编译Android APK

    准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...

  8. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  9. gradle自动化打包apk

    前堤是要在安卓项目中配置好gradle.build脚本 ## !/bin/sh ## 项目名 ##使配置文件生效,否则会报gradle:命令找不到 source /etc/profile TARGET ...

随机推荐

  1. 洛谷 P4316 绿豆蛙的归宿

    洛谷 P4316 绿豆蛙的归宿 洛谷传送门 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度, ...

  2. C 函数与指针(function & pointer)

    C 函数与指针(function & pointer) /* * function.c * 函数在C中的使用 * */ #include <stdio.h> int noswap( ...

  3. 【CF280D】k-Maximum Subsequence Sum(大码量多细节线段树)

    点此看题面 大致题意: 给你一个序列,让你支持单点修改以及询问给定区间内选出至多\(k\)个不相交子区间和的最大值. 题意转换 这道题看似很不可做,实际上可以通过一个简单转换让其变可做. 考虑每次选出 ...

  4. 洛谷 P1840 【Color the Axis_NOI导刊2011提高(05)】 题解

    看了一下题解,显然在做无用功啊,而且麻烦了许多,但是这道题真心不难,显然是一个区间修改的题目,然后查询的题目 我的线段树只需要记录一个量:区间和 看了一下其他题解的pushdown函数,发现真心写的很 ...

  5. flash判断,及安装注意

    使用下面方法判断flash版本 function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //fla ...

  6. Azure CosmosDB (14) 使用Postman访问CosmosDB REST API

    <Windows Azure Platform 系列文章目录> 今天研究了一下如何使用Postman访问Azure CosmosDB. CosmosDB API接口,可以参考:https: ...

  7. HDU 6148 (数位DP)

    ### HDU 6148 题目链接 ### 题目大意: 众所周知,度度熊非常喜欢数字. 它最近发明了一种新的数字:Valley Number,像山谷一样的数字. 当一个数字,从左到右依次看过去数字没有 ...

  8. cmake打印shell

    cmake链接库失败时,可通过打印路径下对应的lib来定位问题 execute_process(COMMAND ls -lt ${CMAKE_CURRENT_SOURCE_DIR}/lib #执行sh ...

  9. ubuntu 16.04 上编译和安装C++机器学习工具包mlpack并编写mlpack-config.cmake | tutorial to compile and install mplack on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/1cd6a04d/,欢迎阅读最新内容! tutorial to compile and install mplack on ubun ...

  10. TensorFlow函数: tf.stop_gradient

    停止梯度计算. 在图形中执行时,此操作按原样输出其输入张量. 在构建计算梯度的操作时,这个操作会阻止将其输入的共享考虑在内.通常情况下,梯度生成器将操作添加到图形中,通过递归查找有助于其计算的输入来计 ...