只需要在app下的build.gralde中增加以下這段task代碼漆际,替換自己的api_token,無(wú)需任何三方庫(kù)依賴夺饲,即可原生實(shí)現(xiàn)自動(dòng)打包并上傳奸汇,解放雙手,無(wú)需等待~
//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"]
//執(zhí)行上傳命令
//applicationVariants[0]這個(gè)數(shù)組是各種類型包的路徑 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')
//這里控制打什么類型的包往声,即執(zhí)行此task時(shí)會(huì)先打包 再上傳 如release包即為:assembleRelease
}
IDE右側(cè)Gradle->app->other->uploadFir擂找,雙擊執(zhí)行即可。