返回顶部
首页 > 资讯 > 精选 >Android gradle打包并自动上传的方法
  • 727
分享到

Android gradle打包并自动上传的方法

gradleandroid打包gr 2023-05-30 20:05:10 727人浏览 安东尼
摘要

简介这篇文章主要介绍Android用gradle打包,并且调用python脚本将打包好的apk上传到fir.im供相关人员下载,对于学习gradle 打包和Python 几个常用网络库有一定帮助关键字 :Android Gradle Pyt

简介

这篇文章主要介绍Android用gradle打包,并且调用python脚本将打包好的apk上传到fir.im供相关人员下载,对于学习gradle 打包和Python 几个常用网络库有一定帮助

关键字 :Android Gradle Python fir.im

1 开发前准备

开发前需要下载 AndroidStudio ,gradle(3.3版本),python3.6,Curl,pycurl

准备fir.im账号一个,有账号对应的apitoken,具体fir.im的细节可查看文档fir.im

开发环境为MacOS,windows推荐把pycurl部分全部替换为requests,即上传apk部分代码换为上传图标的那种方式,详细见代码

2 Gradle 脚本编写

我们脚本需要做的事情就是在APK打包完成以后,把apk的路径传递给python脚本即可,如何保证打包好了,就用gradle的dependsOn方法,例如打debug包,我们就可以写一个task ,这个task dependsOn ‘assembleDebug',这样这个task调用时,会先执行assembleDebug,然后在执行里面的代码,即符合我们的需要
具体代码

//这个task 需要放在 app/build.gradle文件中的android 代码块里task assemblewithlog { dependsOn 'assembleDebug' doLast {  //这个需要配置一下,app的图标  def appicon = "app/src/main/res/drawable/icon.png"  //这个需要配置一下,app的输出到fir.im的名称  def outId = "yitiji_Debug"//取 apk的版本名和apk的输出文件目录  def verName = project.android.defaultConfig.versionName;  def apkpath = applicationVariants.first().outputs.first().outputFile //调用python脚本 这个脚本需要放在工程目录下 def process = "python3 uploadfirim.py ${outId} ${verName} ${appicon} ${apkpath}".execute()  // Wait till the process completes before continuing  println("上传apk中")//将python代码里面打印的内容在gradle窗口中打印出来  ByteArrayOutputStream result = new ByteArrayOutputStream();  def inputStream = process.getInputStream()  byte[] buffer = new byte[1024];  int length;  while ((length = inputStream.read(buffer)) != -1) {  result.write(buffer, 0, length);  }  println(result.toString("UTF-8"));//阻塞gradle代码直到python代码执行结束  int exitValue = process.waitFor()  println "上传结束 with value $exitValue" } }

--结束END--

本文标题: Android gradle打包并自动上传的方法

本文链接: https://lsjlt.com/news/221024.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作