Android apk 项目一键打包并上传到蒲公英的实现方法

项目一键打包并上传到蒲公英

缘由:测试流程由

  • 打包
  • 找包准备上传
  • 填写更新信息
  • 然后上传

过于复杂 所以想要简化开发

阅读须知:需要读者了解如何在项目里面建立一个空的gradle plugin的过程,否则这篇文章不适合你

开始分析

我想要的效果是精简步骤 比如说输入某个 命令 .\gradlew xxxx
就可以完成我想要的效果
那么首先我们必须得熟知或者完成以下几点:

  1. 包路径
  2. 打包完成的回调
  3. 入口设置参数 设置要传的参数
  4. 使用gradle来开发

基于以上几点开始开发

最重要的一点 打包完成的回调 因为顺序是先有包你才能干别的事情 所以后续事件回调 是要发生在 打包完成后的
eg:我要打个 debug包 我们一般 gradlew assembleDebug
那我们就这样写回调就行

task.dependsOn("assembleDebug")
task.actions.add{
	//todo 后续操作
}

这样就可以打完包并且回调后续事件了

开始上传包了

问题? 包呢 我咋知道包在哪
通过获取AppExtension里面的outputs 获得包路径
上代码(kotlin写的)

val android = project.extensions.getByType(AppExtension::class.java)

        android.applicationVariants.forEach {
          it.outputs.forEach {output->
              output.name
              output.outputFile
          }
        }

output.name 是名字(String)
output.outputFile 是文件(File)

上传

拿到文件 你就可以用自己熟悉的api来上传文件 这都是基础操作了

设置操作入口

上代码

project.task("oneKeyPackaged") {task->
	//todo 打包操作
}

愉快的打包上传

./gradlew oneKeyPackaged
oneKeyPackaged 这个是你上面设置的任务名称

总结

到此这篇关于Android apk 项目一键打包并上传到蒲公英的文章就介绍到这了,更多相关android apk 打包上传蒲公英内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android开发apk反编译和二次打包教程

    作为Android开发者,工作中少不了要反编译别人的apk,当然主要目的还是为了学习到更多,取彼之长,补己之短.今天就来总结一下Android反编译和二次打包的一些知识.首先声明本文的目的是为了通过例子讲解反编译和二次打包的原理和方法,继而作为后续讲解防止二次打包和App安全的依据,并不是鼓励大家去重新打包别人的App,盗取他人劳动成果. 本文首先介绍几种Android反编译工具的使用,然后实现在不需要知道源代码的情况下,仅通过修改反编译得到的smali文件实现修改apk逻辑功能的目的. And

  • Android Studio 超级简单的打包生成apk的方法

    本文介绍了Android Studio 超级简单的打包生成apk,分享给大家,也给自己留个笔记. 为什么要打包: apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用.打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用. 简单点说就是给你的apk发身份证,上户口,防止和你长的一样的人,假冒你.这里

  • Gradle编译打包Android apk详细介绍

    Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章. APK包是一个ZIP压缩包,从Java源代码.资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档(/docs/tools/building/index.html)中找到.而这一系列特定的过程,重复繁琐,构建工具(build tool)就是来流程化

  • Android studio 下的APK打包失败问题解决办法

    Android studio 下的APK打包失败问题解决办法 今天遇到了一个奇怪的问题,本来在Android studio 1.4上运行的好好的程序,到了我更新完的Android studio 2.1上就打包失败了,但是用调试机直接运行则没问题. 最后在app下的build.gradle下加入了这样的一段代码就通过了: lintOptions { abortOnError false checkReleaseBuilds false // 防止在发布的时候出现因MissingTranslatio

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

    简介 这篇文章主要介绍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

  • Android apk 项目一键打包并上传到蒲公英的实现方法

    项目一键打包并上传到蒲公英 缘由:测试流程由 打包 找包准备上传 填写更新信息 然后上传 过于复杂 所以想要简化开发 阅读须知:需要读者了解如何在项目里面建立一个空的gradle plugin的过程,否则这篇文章不适合你 开始分析 我想要的效果是精简步骤 比如说输入某个 命令 .\gradlew xxxx 就可以完成我想要的效果 那么首先我们必须得熟知或者完成以下几点: 包路径 打包完成的回调 入口设置参数 设置要传的参数 使用gradle来开发 基于以上几点开始开发 最重要的一点 打包完成的回

  • 使用脚本一键打包并上传docker镜像的实现代码

    笔者搞了一年多微前端项目,一个团队管理十个微应用,换成docker镜像部署后,发布操作一下从原来的脚本直连服务器的1分钟变成了几十分钟,尤其上传每个应用到各自的阿里云仓库.这里就再写个脚本一键打包docker镜像并上传阿里云. 本文只讲怎么制作一个脚本帮助去减轻开发人员负担,关于docker-compose的配置见: 使用各种姿势舒服的部署微前端项目(上:打包与上传) 效果图 直接上代码 /** * @name docker镜像打包上传脚本 * @author weilan * @time 20

  • vue项目打包后上传至GitHub并实现github-pages的预览

    vue项目打包后上传至GitHub,并实现github-pages的预览 1. 打包vue 项目 vue项目: 命令行输入打包命令npm run build,生成了dist文件夹: 打包完成. 打包常见问题1--项目资源无法加载 打开刚刚打包好的dist文件夹,浏览器打开index.html 发现该页面是空白的,打开控制台发现 这里看到index.html文件中没有加载任何css.js文件. 解决方法--修改config文件 打开项目根目录config下的index.js文件,进行如下修改: 即

  • 在idea打包并上传到云服务项目流程分析

    一.首先 得先在idea打包好. 我使用的是springboot框架的项目 1.先开启自己的项目 在idea的最右侧有个这个边框,点击Maven 如果之前有该项目的打包,可以点击clean去清理之前的缓存,然后点击package进行打包项目 二.打包好了之后我们就需要自己的云服务器了 可以使用SecureCRT或者XShell插件操纵我们的阿里云服务器. 这里我使用的是XShell, 在此之前 ,我们需要云服务的环境搭配好的前提下,java jdk的环境,mysql数据库的搭建,还有tomcat

  • intellij idea 2021.2 打包并上传运行spring boot项目的详细过程(spring boot 2.5.4)

    目录 一在idea中打开项目: 二上传jar包到服务器并运行: 三查看intellij idea的版本: 四查看spring boot的版本: 五查看服务端的java版本: 一在idea中打开项目: 此处我们以storeback项目为例: 1,打开右侧的maven面板,如图: 2, 2,打开Lifecycle,双击执行 clean 如图: 注意:运行clean后,之前产生的target目录已被清除 3,注意此时项目中还没有生成target文件夹: 还是在maven面板,双击执行package 打

  • Android使用ftp方式实现文件上传和下载

    近期在工作上一直再维护平台OTA在线升级项目,其中关于这个升级文件主要是存放于ftp服务器上的,然后客户端通过走ftp协议方式下载至本地Android机进行一个系统升级操作.那么今天将对ftp实现文件上传和下载进行一个使用总结,关于ftp这方面的理论知识如果不是太了解的各位道友,那么请移步HTTP和FTP的区别的一些理论知识 作个具体的了解或者查阅相关资料.那么先看看个人工作项目这个OTA升级效果图吧.如下: 下面是具体的接口实现: 那么相关ftp的操作,已经被封装到ota.ftp这个包下,各位

  • Android使用ftp方式实现文件上传和下载功能

    近期在工作上一直再维护平台OTA在线升级项目,其中关于这个升级文件主要是存放于ftp服务器上的,然后客户端通过走ftp协议方式下载至本地Android机进行一个系统升级操作.那么今天将对ftp实现文件上传和下载进行一个使用总结,关于ftp这方面的理论知识如果不是太了解的各位道友,那么请移步HTTP和FTP的区别的一些理论知识 作个具体的了解或者查阅相关资料.那么先看看个人工作项目这个OTA升级效果图吧.如下: 下面是具体的接口实现: 那么相关ftp的操作,已经被封装到ota.ftp这个包下,各位

  • 项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)

    第一个项目终于上线了,是一个叫亲青筹的公益众筹平台,微信端,电脑端还有后台界面大部分都是我完成的,几个月过来,感觉收获了很多,觉得要总结一下. 首先想到的是图片上传的问题.在通常表单数据都是ajax上传的情况下,为了上传图片而去使用form表单感觉很蠢.然后那时候也没有想到用jquery form插件. 后台的同事给的方案是用iframe里写一个form表单,然后上传图片之后自动提交表单,他将图片在服务器上的地址以跳转页url的一部分,我再来截取的方式. 方案一:iframe+form表单 <f

  • Python 实现文件打包、上传与校验的方法

    不多说,我们直接上源码: # -*- coding:UTF-8 -*- ''' 实现文件打包.上传与校验 Created on 2018年1月12日 @author: liuyazhuang ''' from fabric.api import * from fabric.context_managers import * from fabric.contrib.console import confirm env.user = 'root' env.hosts = ['10.2.2.2'] e

  • Android ProgressDialog用法之实现app上传文件进度条转圈效果

    ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog public class ProgressDialog extends AlertDialog ProgressDialog的创建方式有两种,一种是new ProgressDialog,一种是调用ProgressDialog的静态方法show()创建并显示,这种进度条只能是圆形条. ProgressDialog dialog = ProgressDialog.show(this, "提示&quo

随机推荐