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

2023-10-26

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

缘由:测试流程由

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

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

阅读须知:需要读者了解如何在项目里面建立一个空的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-&g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android apk 项目一键打包并上传到蒲公英 的相关文章

  • 如何在android中使用Ontouchevent突出显示此pdf页面

    这里我想使用android中的onTouchevent来突出显示这段文字 您可以使用 OnTouchListener 来获取事件的 x 和 y 然后将屏幕绘制为位图 并根据字母的左上角显示和字母的大小使用bitmap getPixel 看看
  • 旋转 ImageView 及其背景而不裁剪

    我已经进行了很多搜索 但找不到解决我的问题的方法 我不能使用android rotation因为我希望这个应用程序与 Android API 11 版本兼容 我的问题与此类似 在 Android 中旋转视图 https stackoverf
  • 无法创建新的远程会话。阿皮姆

    public class StartFirstJobTest AppiumDriver driver BeforeTest public void setUp throws Exception DesiredCapabilities cap
  • 鼠标在两个视图上移动,如何让它们都处理`ACTION_MOVE`事件

    我有两个视图 较大的一个在底部 较小的一个在顶部 如下图所示 现在我在 view1 view2 外部 上按鼠标 然后移动到 view2 我发现即使鼠标在移动过程中位于view2内部 view2也不会得到ACTION MOVE事件 只有vie
  • BackupAgent:“无法恢复包...”

    我已经实现了 BackupAgent 如下所述数据备份 http developer android com guide topics data backup html 注册了一个 API 密钥并在我的 Manifest 中声明了 Back
  • Android 中的音频交叉淡入淡出

    我正在开发一个媒体播放器用于我的学习目的 我希望在媒体播放器应用程序中具有交叉淡入淡出功能 但我不知道从哪里开始 我尝试在互联网上搜索但没有运气 我使用的是安卓MediaPlayer所有媒体播放器相关操作的类 任何人都知道任何解决方法可以实
  • 如何使用 Retrofit 2 下载 pdf 文件

    我在下载带改造的 pdf 文件时遇到困难 我的代码生成了一个文件 但它的大小错误 并且当 pdf 打开时它是空白的 这就是我的 php web 服务返回 pdf 文件的方式 param Slim Slim app param String
  • 将 Android 应用程序部署到手机:错误:[install_itemfolder_01] 错误 1 ​​Windows

    我已经安装了我可能需要的所有组件 我已经上网两天了 但找不到这个问题的答案 我检查了我的 apache ant javac java JRE JDK Qt 变量一切正常 Qt 喜欢我的所有设置 除了当我尝试将应用程序部署到模拟器或设备时出现
  • Android XML 解析与 RSS

    我有我的 Rss 文件项目
  • 以编程方式创建进度绘制

    我有一个场景 我需要有大量的进度条可绘制对象 我无法为所有这些创建 xml 资源 因为我希望用户选择一种颜色 然后用于动态创建可绘制对象 下面是 xml 中的一个这样的可绘制对象 我如何以编程方式创建这个精确的可绘制对象
  • 使用 android ndk 独立工具链构建 mono (android ndk r8e)

    我正在尝试使用 android ndk 版本 r8e 中的 ndk 独立工具链构建 mono 但我无法完成构建 我像这样设置我的独立环境 export SYSROOT home jeremybell Desktop android ndk
  • 序列化/反序列化 LinkedHashMap (android) java

    所以我想将 LinkedHashMap 传递给意图 SEND THE MAP Intent singlechannel new Intent getBaseContext singlechannel class singlechannel
  • 在 Android 中下载文件

    我正在使用以下代码在 Android 中下载文件 public class FileDownloadActivity extends Activity ProgressDialog mProgressDialog Called when t
  • android:configChanges 清单文件中不允许错误字符串类型

    这是我的清单文件 其中显示 android configChanges 不允许的错误字符串类型 请帮助我纠正错误 下面是我的清单文件
  • 如何在 Android WebView 中从远程 URL 访问本地资源?

    要加载 HTML 中的资源 我使用 URLfile android asset my image png 当我在本地加载 HTML 时 它可以工作 例如 使用WebView loadData method 但是 我无法从远程网站加载本地资源
  • 如何使用带有 ListView 和自定义适配器的选择器来指示所选项目

    我有一个具有 ListView 的活动 并且我创建了一个自定义适配器 基于BaseAdapter 自定义适配器的 GetView 方法使用自定义布局 view context LayoutInflater Inflate Resource
  • 如何在真实设备上模拟来电? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 出于测试目的 我想在真实的 Andr
  • 在 Firebase 中获取用户名、姓氏和 ID

    我使用 firebase 创建了登录 注册 并且工作正常 但我需要从用户那里获取姓名 我怎样才能做到这一点 我想知道是否可以从用户那里获取 ID 因为我想在我的应用程序中创建一个排名页面 因此只有 ID 才是唯一的 要获取唯一 ID 您可以
  • Robotium 和系统对话框

    当我尝试与蓝牙设备配对时 会出现带有 PIN 码的系统确认对话框 有 取消 和 确定 按钮 但我无法使用 Robotium 单击它们 如何在 Robotium 中使用 Android 操作系统对话框 谢谢 这对我有用 solo clickO
  • Phonegap - 自动包含正确的科尔多瓦

    我正在 iOS 和 Android 上开发一个 PhoneGap 应用程序 并使用 git 控制我的 www 目录版本 我知道我的 HTML 文件需要包含正确的 Cordova js 文件 取决于我当前正在开发的平台 当有人在 Androi

随机推荐

  • java求六位数以内所有自幂数

    如果在一个固定的进制中 一个n位自然数等于自身各个数位上数字的n次幂之和 则称此数为自幂数 以下用java语言求六位数以内所有自幂数 独身数共有9个 1 2 3 4 5 6 7 8 9 水仙花数共有4个 153 370 371 407 四叶
  • angular.js中的复选框checkbox的用法

    首先在head里引入 页面部分 div div div div
  • RestfulTool插件使用详解

    1 全局搜索 2 提供了一个 Services tree 的API接口显示窗口 右侧会有RestServices侧边栏 点击后会显示当前项目所有请求地址 可以进行输入查询 然后会直接把请求方式 地址以及参数列出来 默认请求服务器为本机 lo
  • 【python】socket-传输多个文件、大文件

    socket 传输多个文件 大文件 0 前言 1 发送单个文件流程 2 关于发送大文件 本地读取时报错 MemoryError 3 关于粘包 问题背景 排错过程 解决方案 4 备注 换算表 0 前言 看过挺多个发文件的例子 但是基本都是发单
  • 每日博客 :>

    1 交换数组 define CRT SECURE NO WARNINGS 1 include
  • 计算机网络34-学习笔记-IP地址

    IP地址属于网络层 这里主要介绍IP地址作用 与MAC地址配合 主机H1将数据包发送给路由器R1 在网络层封装的IP数据报首部中 源IP地址应填写主机H1的IP地址IP1 目的IP地址应填写主机H2的IP地址IP2 在数据链路层中源MAC地
  • python装饰器

    装饰器是python一个重要的部分 由它的名称我们就可以大致了解到它的功能 拓展其他函数 装饰器可以让我们的代码更加简洁 也更加pythonic 首先 我们先回顾一下基础概念 一 在python中 如果调用一个函数不带括号时 调用的是这个函
  • R语言多任务处理与并行运算包——foreach

    作者简介Introduction 杜雨 EasyCharts团队成员 R语言中文社区专栏作者 兴趣方向为 Excel商务图表 R语言数据可视化 地理信息数据可视化 个人公众号 数据小魔方 微信ID datamofang 数据小魔方 创始人
  • SpringBoot原理

    1 SpringBoot实现原理 SpringBoot是由自动配置和启动器以及大量注解实现 Stater stater就是启动器 也就是我们在pom xml文件中引入的带stater的依赖 springboot框架会根据依赖加载与该启动器有
  • Shell脚本入门

    Shell脚本入门 1 基本概念 Shell是一门弱类型 解释型 非编译型语言 Shell中无数据类型 Shell的作用是解释执行用户的命令 Shell执行命令的方式有两种 1 交互式 用户输入一条命令 shell就解释执行一条 2 批处理
  • 名为dash的蓝色插嘴小机器人_全球最出色的十大教育机器人

    2016年 阿尔法狗战胜围棋世界冠军李世石 成为人工智能发展的标志性事件 万物互联的时代 人工智能正掀起一场影响深刻的技术革命 谷歌 苹果 BAT 华为巨头们纷纷布局人工智能 有人猜测 互联网 过后 我们可能会迎来机器人 听到这个消息 爸爸
  • [PCIe] SR-IOV (单根虚拟化) 及linux驱动浅析(device的PF和VF及其驱动)

    网上从服务器和虚拟化层面介绍SR IOV应用的文章很多了 本文重点从支持SR IOV的设备 EP 及其驱动来讨论 对于SR IOV的设备 EP 来说 无非就是一个device通过物理功能 PF 虚拟出关联的若干个虚拟功能 VF host的驱
  • 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类, 属性: 员工的姓名,员工的生日月份。 方法:getSalary(

    代码 某公司的雇员分为以下若干类 Employee 这是所有员工总的父类 属性 员工的姓名 员工的生日月份 方法 getSalary intmonth 根据参数月份来确定工资 如果该月员工过生日 则公司会额外奖励100 元 Salaried
  • 在proteus中继电器的驱动与使用

    在进行proteus仿真驱动继电器时候 因为第一次接触和学习继电器遇到了无论采用电源驱动还是三极管放大驱动都无法驱动的问题 所以就查了继电器的资料和proteus中的默认设置 发现原来是proteus中继电器默认驱动电压为12V 所以我们需
  • CF 709C

    感谢这个题让我进了前1000 思路 特殊条件切入 一开始想跑网络流 但边数 点数太多 所以就需要找此题和常规网络流的区别 看到 M 2 gt 尽可能使用M 2这个条件构造解 gt 少于M 2的全选 gt 剩下的全是大于M 2的 gt 如果每
  • linux-docker

    unix liunx windows linux 文件系统 所有的资源都是目录在 root 根目录下 一 指令 ip addr ifconfig cd ls vim sudo 管理员身份 代表换行输入 pwd 查看所在目录 sudo sys
  • 12306模拟登陆一直提示系统繁忙_12306买高铁火车票显示待核验怎么办,最新解决方案...

    知道有些人没耐心 先说解决核心是12306里面人脸识别 亲测有效 全文没几个字一定要看不用去车站走冤枉路啊 身份信息不能自动核验 相信吃过亏的不止我一个 网上找了很多方法不行 问客服也没用 终于自己找到一个方法 相继解决了我妈和我朋友的待核
  • Maven项目中properties文件的加载方式

    Maven项目中 读取properties配置文件 1 properties文件在src main java的根目录中时加载文件使用 PropertyConfigurator configure log4j properties 2 pro
  • FFmpeg进阶: 音频滤镜大全

    在做音频处理模块的时候 为了对声音进行优化处理 我很多时候会使用各种算法对音频进行变换 效果包括变音变调 声音降噪等等 其实FFmpeg库里的滤镜模块包含了很多有用的音频滤镜算法 这对于提升开发效率避免重复造轮子是很有帮助的 这里翻译了一下
  • Android apk 项目一键打包并上传到蒲公英

    项目一键打包并上传到蒲公英 缘由 测试流程由 打包 找包准备上传 填写更新信息 然后上传 过于复杂 所以想要简化开发 阅读须知 需要读者了解如何在项目里面建立一个空的gradle plugin的过程 否则这篇文章不适合你 开始分析 我想要的