Android gradle插件:打包Apk

使用步骤

1、在项目工程跟目录,工程的build.gradle dependencies中添加:

classpath 'com.github.centerzx:UploadApkPlugin:v***' 目前版本为:

classpath 'com.github.centerzx:UploadApkPlugin:v1.0.7'

repositories中添加:

maven { url “https://jitpack.io“}

2、在app目录(需要打包上传的APK的Module)的build.gradle中添加引用插件:

apply plugin: 'center.uploadpgy.plugin'

引入后,配置自己的相关平台参数:

(1)上传到蒲公英的相关配置参数

uploadPgyParams {
     apiKey = "替换为自己蒲公英账户的apiKey"
     // apiKey = readProperties("PgyApiKey")
     //暂时无用
     appName = "TestGradlePlugin" 
     buildTypeName = "Release"
     buildInstallType = 2 
     buildPassword = "zx"

     uploadApkFilePath = "E:\\Desktop\\release\\app_name-debug.apk"
}

(2)发送消息到钉钉的相关配置参数

buildDingParams {
    accessToken =  "替换为自己钉钉的token"
    // accessToken = readProperties("DingAccessToken")
    contentText = "最新开发测试包已经上传至蒲公英, 可以下载使用了"
    contentTitle = "开发测试包"
    //link类型(link)、markdown类型(markdown)、整体跳转ActionCard类型(actionCard),默认link
    msgtype = "actionCard"
    //如果使用markdown类型可添加参数是否@全体群人员,默认false:isAtAll = true。其他类型不支持
    isAtAll = true
    //存在点击时按钮的文案(link类型无)
    clickTxt = "点击进行下载"
    //是否单独支持发送Git记录数据,在配置了buildGitLogParams前提下有效,默认为true。link字数问题,无法支持
    isSupportGitLog = true
}

(3)发送消息到飞书的相关配置参数

buildFeiShuParams {
    webHookHostUrl = "https://open.feishu.cn/open-apis/bot/v2/hook/************"
    // webHookHostUrl = readProperties("FeiShuWebHookHostUrl")
    contentTitle = "开发测试包"
    contentText = "最新开发测试包已经上传至蒲公英, 可以下载使用了"
    //富文本消息(post)、消息卡片(interactive),默认post
    msgtype = "post"
    //是否@全体群人员,默认false:isAtAll = true
    isAtAll = true
    clickTxt = "点击进行下载"
    //是否单独支持发送Git记录数据,在配置了buildGitLogParams前提下有效,默认为true
    isSupportGitLog = true
}

(4)发送消息到企业微信群的相关配置参数

buildWeixinGroupParams {
    // webHookHostUrl = readProperties("WeixinWebHookUrl")
    webHookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=************"
    //文本(text)、markdown(markdown)、图文(news),默认 markdown。由于字数限制,只有markdown支持携带Git记录
    msgtype = "markdown"
    //如果使用文本类型(text)可添加参数是否@全体群人员,默认true:isAtAll = true。其他类型不支持
    //isAtAll = true
    contentTitle = "开发测试包"
    contentText = "最新开发测试包已经上传至蒲公英, 可以下载使用了"
    //是否单独支持发送Git记录数据,在配置了buildGitLogParams前提下有效,默认为true。只有markdown类型支持
    isSupportGitLog = true
}

(5)发送消息时携带Git提交记录相关配置参数

buildGitLogParams {
    //是否发送消息是携带Git记录日志,如果配置了这块参数才会携带Git记录,消息里面可以单独设置是否携带Git日志数据

    //获取以当前时间为基准至N天之前的Git记录(限定时间范围),不填或小于等于0为全部记录,会结合数量进行获取
    gitLogHistoryDayTime = 3
    //显示Git记录的最大数量,值范围1~50,不填默认是10条,最大数量50条
    gitLogMaxCount = 20
}

其中各个参数体的名称不能变,否则编译会报错,参数key不能修改,对于的值可以根据自己情况修改。 参数中的“***************”号是根据你的蒲公英、钉钉、飞书、企业微信群等情况进行配置。 由于key、token等信息都需要保密,万一泄漏,可能被别有用心的人乱使用,故可以将相关关键信息保存在工程的:local.properties文件里面,此文件一般是根据自己本地进行配置的,不会上传到git。然后进行数据读取,如:readProperties(” PgyApiKey”)

将密钥存在本地 防止泄露 local.properties 在Git的时候不会被上传

def readProperties(key) {
        File file = rootProject.file('local.properties')
        if (file.exists()) {
                InputStream inputStream = file.newDataInputStream()
                Properties properties = new Properties()
                properties.load(inputStream)
                if (properties.containsKey(key)) {
                        return properties.getProperty(key)
                    }
            }
     }

3、配置完备,进行编译: 此时在studio的右边,tasks里面会新增一个publishToThirdPlatform 命令组,里面会有3个task:ApkBuildUploadPlatformDebug、ApkBuildUploadPlatformRelease、OnlyUploadApkToPlatform,其中OnlyUploadApkToPlatform为直接上传APK操作,配置uploadApkFilePath路径后有效。gradlew或者点击运行组里面的task命令,则可直接进行编译、打包、传送、发消息等一些列操作。 在执行task命令时,studio的run窗口会展示执行情况,包括蒲公英上传情况、钉钉飞书等消息发送情况,一目了然。

注意:由于这样会导致app的gradle看着很臃肿,因此可以单独新建一个gradle文件进行配置,然后再在app的gradle文件中apply from: “../******.gradle” 这个新建gradle就行。

Task命令生成

在执行task命令时,studio的run窗口会展示执行情况,包括蒲公英上传情况、钉钉飞书等消息发送情况,一目了然。

阅读全文
资源下载
下载价格免费
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=11694,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?