【Gradle Task】原生实现上传Fir,无需添加额外依赖库(已修改fir最新api地址)

只需要在app下的build.gralde中增加以下这段task代码,替换自己的api_token,无需任何三方库依赖,即可原生实现自动打包并上传,解放双手,无需等待~

//fir上传
task uploadFir() {
    def fir_api_token = "您在fir上获取的api token"
    doLast {
        println "即将上传到fir..."

        //获取fir上传凭证
        def preUpload = ("curl -X POST -d type=android&" +
                "api_token=$fir_api_token " +
                "bundle_id=$project.android.defaultConfig.applicationId&" +
                "http://api.bq04.com/apps").execute().text
        def preUploadBean = new groovy.json.JsonSlurper().parseText(preUpload)
        def key = preUploadBean["cert"]["binary"]["key"]
        def token = preUploadBean["cert"]["binary"]["token"]
        def upload_url = preUploadBean["cert"]["binary"]["upload_url"]

        //执行上传命令 
        //applicationVariants[0]这个数组是各种类型包的路径 0为debug 1为release
        //如有其它自定义的 可自行println查看
        def apkFile = project.android.applicationVariants[0].outputs.first().outputFile
        def uploadResult = ("curl -X POST --form file=@$apkFile" +
                " -F token=$token" +
                " -F key=$key" +
                " -F x:version=$project.android.defaultConfig.versionName" +
                " -F x:build=$project.android.defaultConfig.versionCode" +
                " $upload_url").execute().text
        println(uploadResult)
        println "上传完成"
    }.dependsOn('assembleDebug')
      //这里控制打什么类型的包,即执行此task时会先打包 再上传 如release包即为:assembleRelease
}

IDE右侧Gradle->app->other->uploadFir,双击执行即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容