Gradle打包后自动推送到FTP服务器

gradle打包后自动推送到FTP服务器


1.使用Gradle生成APK

  • Android Studio项目的根目录下有一个gradle.properties文件,专门用来配置全局键值对数据;在该文件中添加如下内容:
  KEY_PATH = D:/KeyStorePath/keystore/keystore.jks
  KEY_PASS = pwdkeystore
  ALIAS_NAME = keyAlias
  ALIAS_PASS = pwdkeyAlias
  • 编辑app/build.gradle文件,在android闭包中添加如下内容:
signingConfigs {
  config {
      storeFile file(KEY_PATH)
      storePassword KEY_PASS
      keyAlias ALIAS_NAME
      keyPassword ALIAS_PASS
  }
}
  • 在buildTypes的release闭包中添加如下内容:
   signingConfig signingConfigs.config
  • 添加完成后,可分别通过as右侧的gradle的app/build/assembleRelease、app/build/assembleDebug来打release包和debug包;

2.打包成功后将apk文件推送到ftp服务器

  • 在app/build.gradle的android闭包中添加以下代码:
configurations {
   ftpAntTask
}
  • 在dependencies闭包中添加以下依赖:
ftpAntTask("org.apache.ant:ant-commons-net:1.8.4") {
       module("commons-net:commons-net:1.4.1")    {
           dependencies "oro:oro:2.0.8:jar"
       }
}
  • 在与android同级中新建任务(task):
//将gradle生成的release包推送到ftp服务器
task uploadReleaseToFtp {
   //在assembleRelease执行之后再执行
   dependsOn ‘assembleRelease‘
   doLast {
       ant {
           taskdef(name: ‘ftp‘,
                   classname: ‘org.apache.tools.ant.taskdefs.optional.net.FTP‘,
                   classpath:  configurations.ftpAntTask.asPath)
           ftp(server: "xxx.xxx.xxx.xxx",
                   userid: "userid",  //用户名
                   password: "password", //密码
                   //上传后文件存储的目录
                   remoteDir: "/ldc/") {
                   //本地文件路径
               fileset(dir: "build/outputs/apk/release") {
                   include(name: "app-release.apk")
               }
           }
       }
   }
}
//将gradle生成的debug包推送到ftp服务器
task uploadDebugToFtp  {
   //在assembleDebug执行之后再执行
   dependsOn ‘assembleDebug‘
   doLast {
       ant {
           taskdef(name: ‘ftp‘,
                   classname: ‘org.apache.tools.ant.taskdefs.optional.net.FTP‘,
                   classpath: configurations.ftpAntTask.asPath)
           ftp(server: "xxx.xxx.xxx.xxx",
                   userid: "userid",   //用户名
                   password: "adminftp123",  //密码
                   //上传后文件存储的目录
                   remoteDir: "/ldc/") {
                   //本地文件路径
               fileset(dir: "build/outputs/apk/debug") {
                   //要上传的文件名
                   include(name: "app-debug.apk")
               }
           }
       }
   }
}

在执行以上任务时,需要将防火墙关闭,否则在运行时会出现上传文件大小为0的情况

原文地址:https://www.cnblogs.com/Ricardoldc/p/10335506.html

时间: 2024-10-10 07:29:58

Gradle打包后自动推送到FTP服务器的相关文章

上传文件到服务器端后进一步推送到sftp服务器

扩展安装 要想sftp服务端发送文件,就需要php脚本具有作为ssh客户端的能力,所以需先为php安装如下扩展 openssl openssl-dev libssh php ssh 扩展 按照下面的命令进行安装 1 rpm -qa | grep openssl 2 wget http://www.libssh2.org/download/libssh2-1.6.0.tar.gz 3 tar zxvf llibssh2-1.6.0.tar.gz 4 cd libssh2-1.6.0 5 ./con

百度自动推送代码的作用

在百度的搜索资源平台下的站点支持模块中有一个连接提交,下有一段代码叫做自动推送代码,只要在这个平台下认证了你的网站就可以,将自动推送代码加进去.我在https://www.jianzhumuju.com方圆扣这个站点上做了一下尝试,看看这段代码到底有什么作用,能够起到多大的效果,下面是这段代码的截图.在加入代码的时候,百度收录这个站点页面的索引量是1123,今天我们这段自动推送的代码加上,看看在半个月之后的效果.是不是收录增加,自动推送是不是能够让我们的网址真的能够及时推送给百度,百度的收录速度

Hugo-MemE/Hexo(真)自动推送部署至Netlify

Hugo 我之前写了一个蠢蠢的脚本,用于自动推送生成完的静态网站: Hugo-Python(伪)自动部署 自以为很好-- 不过在看了reuixiy大佬的博客后,才发现他有一个Edit Me: 点击后发现可以Fork这个Markdown文件来修改. 不过俺们这个静态网页好像就不太行--这个脚本有毛用!!!! 果然是我太嫩了 研究了下人家的博客Repo 没错他是直接推送一个源代码的! 咱们打开netlify.toml 自己也新建一个netlify.toml(~blog/netlify.toml) 填

百度自动推送js

<!DOCTYPE html> <!-- saved from url=(0014)about:internet --> <html> <head> <meta charset="UTF-8"> <meta name="Keywords" content="私募.私募基金.阳光私募.私募股权.天玑私募基金.信托.天玑金服.天玑.天玑财富.前海天玑.天玑在线理财"/> <

浏览器消息自动推送研究

首先说明,这篇博文不是科普讲解的,而是立flag研究的,是关于浏览器消息自动推送,就是下面这个玩意: 最近常常在浏览器看到这样的消息推送,还有QQ.com的推送,现在我对这个不了解,不知道叫消息自动推送对不对,这个时chrome浏览器的截图,出现在右下角,其他浏览器的样式可能有些微差别. websocket通信?浏览器广告推送?html5自动更新?灵异事件? ----------------------------我是研究的结果华丽的分割线----------------------------

Xcode: Run Script 的运用使build打包后自动+1

背景: 每次打包都要build+1处理,比较麻烦,使用 Run Script 的运用使build打包后自动+1 0. 使用xcode 添加run Script 然后就可以添加Run Script了 1.每次构建的时候build号自增 if [ $CONFIGURATION == Release ]; then echo "当前为 Release Configuration,开始自增 Build" plist=${INFOPLIST_FILE} buildnum=$(/usr/libex

SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版

上次改编了一下百度的JS推送代码,实现了批量推送 传送门>>>百度链接提交-js代码推送批量推送版 这次我们来研究360js自动推送代码. <script> (function(){ var src = "https://jspassport.ssl.qhimg.com/11.0.1.js?d182b3f2654654f2db83acfaaf6e696dba"; document.write('<script src="' + src +

制作苹果推送通知APNS服务器证书文件

1.准备证书申请文件 打开苹果电脑实用工具里的钥匙串访问程序 选择钥匙串访问—>证书助理—>从证书颁发机构申请证书 输入邮件地址,常用名词随便命名,在这里命名为APNS 选择存储到磁盘,将生成的APNS.certSigningRequest文件保存到本地磁盘 此时,在钥匙串访问程序的密钥(Keys)分类里应该可以找到APNS的专用密钥,右键点击导出“APNS”将专用密钥导出为p12文件,保存时会提示输入口令,输入后生成APNS.p12文件 2.准备App ID和SSL证书 登陆苹果开发者门户,

将播控(播发)的流媒体推送到流媒体服务器平台的设置案例:

将播控的流媒体推送到流媒体服务器的设置案例: 1.登陆Wowza媒体服务器的管理地址:http://172.22.8.240:8088/enginemanager/login.htm  用户:admin 密码:admin 2.进入Server目录-->点击Stream Files-->Add Stream File-->输入流的名字及被推送到的流媒体服务的IP地址,添加返回: 3.返回后点击这个流的按键(connect to this stream)进入设置,选择Application