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..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的更多相关文章
- 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解决办法 翻译自: ...
- linux下反编译android apk
1.所需要的工具 1)apktool,功能:反编译出apk所需要的资源文件和布局设置文件等, 下载地址:https://code.google.com/p/android-apktool/downlo ...
- [问题记录]cocos2dx编译打包apk过程&问题记录
目录: 1. 入门 2. 编译 3. 问题 4. 总结 5. 参考 ------------------------------------------------------------------ ...
- 『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse
一.使用apktool 将 apk反编译生成程序的源代码和图片.XML配置.语言资源等文件 具体步骤: (1)下载反编译工具包:apktool 官方的打不开 http://apktool.shouji ...
- centos下安卓构建打包太慢
最近不清楚什么情况,在linux下构建安卓打包时,很慢,很慢...... 之前还是好好的,一个构建三四分钟,现在尽然要两三个小时,人都要崩溃了.... 当时据说公司用的联通网有问题了,正在处理,可是网 ...
- 几种常用库在CentOS下的编译
1操作环境 通过命令查看操作系统版本信息: [root@localhost ~]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (bui ...
- Mac 下反编译Android APK
准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- gradle自动化打包apk
前堤是要在安卓项目中配置好gradle.build脚本 ## !/bin/sh ## 项目名 ##使配置文件生效,否则会报gradle:命令找不到 source /etc/profile TARGET ...
随机推荐
- LeetCode 63. Unique Paths II不同路径 II (C++/Java)
题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...
- 洛谷 AT1350 深さ優先探索
洛谷 AT1350 深さ優先探索 洛谷传送门 题意翻译 高桥先生住的小区是长方形的,被划分成一个个格子.高桥先生想从家里去鱼店,高桥先生每次可以走到他前后左右四个格子中的其中一个,但不能斜着走,也不能 ...
- 记录错误or日记(更新中)
前言: 从2018.8-17开始记录 本篇随笔记录做题时的小错误(大多数),考试总结(懒得总结了),做过的每个题的错误 2019.12.7 傻逼学校,给我三个小时假期给你们做题挣工资 2019.11. ...
- MySQL实战45讲学习笔记:第三十七讲
一.本节概况 今天是大年初二,在开始我们今天的学习之前,我要先和你道一声春节快乐! 在第 16和第 34篇文章中,我分别和你介绍了 sort buffer.内存临时表和 join buffer.这三个 ...
- 第02组 Beta冲刺(2/5)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 数据库实践 提交记录(全组共用) 接下来的计划 加快校园百科的进度 还剩下哪些任务 学习软工的理论课 学习代码评估.测试 ...
- 响应国家号召 1+X 证书 Web 前端开发考试模拟题
1+x证书Web前端开发初级理论考试样题2019 http://blog.zh66.club/index.php/archives/149/ 1+x证书Web前端开发初级实操考试样题2019 http ...
- python-8-字符串索引与切片
前言 python访问字符串的值,可以使用方括号来截取字符串,但切片对原来的值是不会改变,如下: 一.索引 1.索引下标查找 # 1.索引 a = 'ABCDPOM' s = a[0] s2 = a[ ...
- Map映射如何使用迭代器?
迭代器只针对集合类型的数据,因此map类型的必须先转换成集合类型才能使用迭代器去获取元素. 1.在map中虽然不能直接实例化迭代器,但map集合提供了keySet()方法和value()方法,可以通过 ...
- 【Oracle】Oracle自动内存管理AMM
Oracle自动内存管理AMM AMM(Automatic Memory Management)自动内存管理,分配一整块内存区域,Oracle数据库自动分配管理SGA和PGA的内存.具体通过设置两个参 ...
- shell脚本中判断进程是否存在
#! /bin/bash PROC_NAME=docker ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l` ];then echo ...