linux android项目打包

news/2024/5/20 1:39:18 标签: android, gradle, apk, jdk

1.安装jdk

# 这里使用的是openjdk 1.8.0版本,如果打包过程出现 :
# Kotlin could not find the required JDK tools in the Java installation '/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64/jre' used by Gradle. Make sure Gradle is running on a JDK, not JRE。那就是jdk版本的问题。
$ yum install java-1.8.0-openjdk-devel

$ vim /etc/profile     #配置JDK的环境变量
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
$ source /etc/profile    #重新加载系统环境变量
$ java -version    #查看java版本

2.安装Android SDK

# 下载sdk工具包
$ wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip

# 创建sdk工具文件夹和解压工具包
$ mkdir  -p /opt/android/sdk
$ unzip sdk-tools-linux-3859397.zip -d /opt/android/sdk

# 使用sdkmanager工具配置构建工具和平台版本
# 注意:此处如果一直卡着无法安装,修改host文件
$ vim /etc/hosts
203.208.41.78 dl-ssl.google.com
203.208.41.78 dl.google.com

$ cd /opt/android/sdk/tools/bin/
$ ./sdkmanager ""build-tools;27.0.3" "platforms;android-29" "platform-tools" 
$ ./sdkmanager --list    #可以查看有哪些版本,自行选择对应的版本

# 增加系统环境变量
$ 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

3.安装gradle

$ wget https://downloads.gradle-dn.com/distributions/gradle-6.3-all.zip
$ mkdir /opt/gradle
$ unzip gradle-6.3-all.zip -d /opt/gradle/
$ vim /etc/profile
export PATH=$PATH:/opt/gradle/gradle-6.3/bin
$ source /etc/profile
$ gradle -v
------------------------------------------------------------
Gradle 6.3
------------------------------------------------------------

Build time:   2020-03-24 19:52:07 UTC
Revision:     bacd40b727b0130eeac8855ae3f9fd9a0b207c60

Kotlin:       1.3.70
Groovy:       2.5.10
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          1.8.0_201 (Oracle Corporation 25.201-b09)
OS:           Linux 3.10.0-693.el7.x86_64 amd64

4.项目打包

# 拉项目
$ git clone https://gitee.com/yangfanHZ/hz_yszf_android_webiew.git
$ cd hz_yszf_android_webiew
$ git checkout new_dev

# 打包
$ gradle assembleRelease(打包成Release版本)
$ gradle assembleDebug(打包成Debug版本)

# 打包编译完成,在项目的app/build/outputs/apk中可以找到debug版本或者是release版本。

后续更新一个自动打包的页面配合这个打包服务提高开发效率。


http://www.niftyadmin.cn/n/780530.html

相关文章

MyISAM与InnoDB 的区别(9个不同点)

区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2. InnoD…

@Component, @Repository, @Service的区别

Component, Repository, Service的区别 官网引用 引用spring的官方文档中的一段描述: 在Spring2.0之前的版本中,Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象)&#xf…

SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port

附加表现症状:服务器起来后本地curl 127.0.0.1:端口可以访问 但是配置nginx代理用80端口转发后无法访问。 环境: CentOS8 今天,由于需要把httpd的端口改为一个自定义的端口,结果修改后,httpd启动失败。查看syslog发现报…

原生js实现漂浮广告

首先添加广告 <div id"ad" style"left: 0;top: 0;"> <!-- 广告图片 --><img src"1.jpg" class"adImg"> <!-- 关闭按钮 --> <div class"close" onclickcloseBtn()>关闭&l…

原生js实现轮播图效果

注意图片大小最好设置成统一规格 <!-- 轮播图 --><div class"swiper-wrapper"><div class"swiper-slide"><div class"swapimg" id"swapimg0"><a href""><img src"img/bgimg1.webp&qu…

用事件代理、闭包(形成独立作用域)来解决循环绑定事件的bug

下面几段代码&#xff0c;我想实现点击按钮删除对应行的数据 <ul><li>Lorem.<button>删除</button></li><li>Commodi.<button>删除</button></li><li>Tenetur!<button>删除</button></li><…