当前位置: 首页 > news >正文

水碓子网站建设辽宁沈阳又发现一例吗今天

水碓子网站建设,辽宁沈阳又发现一例吗今天,美食网站建设目的,专注高端网站建设fir分三个主要步骤1.获取fir上传凭证2.上传APKAPP logo图标3.获取最新的下载地址供别人下载注#xff1a;python使用的是requests网络请求库1.获取fir上传凭证image.png代码如下#xff1a;# 第一步#xff1a;获取fir上传凭证print(get fir upload certificate…fir分三个主要步骤1.获取fir上传凭证2.上传APKAPP logo图标3.获取最新的下载地址供别人下载注python使用的是requests网络请求库1.获取fir上传凭证image.png代码如下# 第一步获取fir上传凭证print(get fir upload certificate)icondict  {}  # 后面上传图标和apk需要使用的参数这里保存下来binarydict  {}        try:req  requests.post(http://api.fir.im/apps,{type: android, bundle_id: apppackage, api_token: apitoken})resjson  req.json()icondict  (resjson[cert][icon])binarydict  (resjson[cert][binary])            print(get fir upload certificate success)except Exception:            print(get fir upload certificate error)traceback.print_exc()2.上传APKlogo图标image.png代码如下# 第二步上传APKtry:            print(uploading apk......)apkfile  {file: open(apkpath, rb)}param  {key: binarydict[key],                     token: binarydict[token],                     x:name: appname,                     x:version: appversion,                     x:build: appbuild,                     x:changelog: apkchangelog}req  requests.post(urlbinarydict[upload_url], filesapkfile, dataparam, verifyFalse)except Exception as e:            print(upload apk error)traceback.print_exc()# 第三步上传APK logotry:apklogofile  {file: open(apklogo, rb)}param  {key: icondict[key],                     token: icondict[token]}req  requests.post(urlicondict[upload_url], filesapklogofile, dataparam, verifyFalse)except Exception:            print(upload apk error)traceback.print_exc()3.获取最新的下载地址image.png代码如下# 第四步获取APK最新下载地址queryurl  http://api.fir.im/apps/latest/%s?api_token%stypeandroid % (apppackage, apitoken)        try:req  requests.get(queryurl)update_url  (req.json()[update_url])            print(upload apk success, update url is   update_url)except Exception:            print(upload apk error)traceback.print_exc()代码里面如下参数都是动态传入的配合AndroidStudio自带的gradle使用appname sys.argv[1]  # app名称apppackage sys.argv[2]  # 唯一包名也即是bundle_idappversion sys.argv[3]  # app版本号appbuild sys.argv[4]  # app build号apitoken sys.argv[5]  # fir tokenapklogo sys.argv[6]  # 等待上传的APK logo路径apkpath sys.argv[7]  # 等待上传的APK路径apkchangelog sys.argv[8]  # 等待上传的APK更新日志(可能没有填写)完整代码# encoding  utf-8import sysimport tracebackimport requestsrequests.packages.urllib3.disable_warnings()def uploadtofir():# 参数检查paramnum  8syslen  len(sys.argv)    if syslen print(please input param)        returnelse:        # 基础参数appname  sys.argv[1]  # app名称apppackage  sys.argv[2]  # 唯一包名也即是bundle_idappversion  sys.argv[3]  # app版本号appbuild  sys.argv[4]  # app build号apitoken  sys.argv[5]  # fir tokenapklogo  sys.argv[6]  # 等待上传的APK logo路径apkpath  sys.argv[7]  # 等待上传的APK路径apkchangelog  syslen  9 and sys.argv[8] or   # 等待上传的APK更新日志(可能没有填写)# 第一步获取fir上传凭证print(get fir upload certificate)icondict  {}  # 后面上传图标和apk需要使用的参数这里保存下来binarydict  {}        try:req  requests.post(http://api.fir.im/apps,{type: android, bundle_id: apppackage, api_token: apitoken})resjson  req.json()icondict  (resjson[cert][icon])binarydict  (resjson[cert][binary])print(get fir upload certificate success)        except Exception:print(get fir upload certificate error)traceback.print_exc()        # 第二步上传APKtry:print(uploading apk......)apkfile  {file: open(apkpath, rb)}param  {key: binarydict[key],                     token: binarydict[token],                     x:name: appname,                     x:version: appversion,                     x:build: appbuild,                     x:changelog: apkchangelog}req  requests.post(urlbinarydict[upload_url], filesapkfile, dataparam, verifyFalse)        except Exception as e:print(upload apk error)traceback.print_exc()        # 第三步上传APK logotry:apklogofile  {file: open(apklogo, rb)}param  {key: icondict[key],                     token: icondict[token]}req  requests.post(urlicondict[upload_url], filesapklogofile, dataparam, verifyFalse)        except Exception:print(upload apk error)traceback.print_exc()        # 第四步获取APK最新下载地址queryurl  http://api.fir.im/apps/latest/%s?api_token%stypeandroid % (apppackage, apitoken)        try:req  requests.get(queryurl)update_url  (req.json()[update_url])print(upload apk success, update url is   update_url)        except Exception:print(upload apk error)traceback.print_exc()if __name__  __main__:uploadtofir()Android Gradle配置将上面写好的.py文件复制到项目的app目录下(非project目录)同时在app级别下的gradle文件中添加如下代码(添加到android{}里面)//自定义一个任务实现打包meisha渠道自动上传到firtask assembleWithFir{dependsOn assembleXXXXRelease//打包自己需要的渠道doLast{def appname你的APP名称def apppackageproject.android.defaultConfig.applicationIddef appversionproject.android.defaultConfig.versionNamedef appbuildproject.android.defaultConfig.versionCodedef apitoken你的fir ApiTokendef apklogo你的APK LOGOdef apkpath你的APK本地地址def apkchangelog//调用python脚本  这个脚本需要放在app工程目录下不要放在project目录下def processpython UploadToFir.py ${appname} ${apppackage} ${appversion} ${appbuild} ${apitoken} ${apklogo} ${apkpath} ${apkchangelog}.execute()            //打印Python脚本日志便于出错调试ByteArrayOutputStream result  new ByteArrayOutputStream()def inputStream  process.getInputStream()            byte[] buffer  new byte[1024]            int length            while ((length  inputStream.read(buffer)) ! -1) {result.write(buffer, 0, length)}println(result.toString(utf-8))}}至此全部搞定同步一下gradle后发现多了一个assembleWithFir命令image.png双击assembleWithFir开始打包刚才指定的渠道之后自动上传APK到fir如下点击该连接就能查看相关了image.png注意事项.py python文件要放在app级别的目录下(非project)确保电脑已安装python运行环境requests网络请求库作者CKTim链接https://www.jianshu.com/p/833cc4d0c0ae
http://www.yutouwan.com/news/184072/

相关文章:

  • 永嘉网站制作wordpress登录后回到指定的页面
  • 建网站用什么程序好长春小学网站建设
  • 网站备案是否收费标准wordpress分类信息发布系统
  • 电商网站 编程语言哪个网站能看到医生做的全部手术
  • 2017网站设计四川建设厅官方网站是多少
  • 注册域名后怎么建设网站小抖音小程序入口
  • 随州网站优化佛山网站建设有哪些
  • 做网站笔记本2014h5企业模板网站模板下载
  • 找人做任务网站有哪些贵州网站建设公司推荐
  • 上海高品质网站建设公司成都三网合一网站建设
  • easyui做网站在线做图的网站
  • 连云港公司网站优化服务邯郸设计公司有哪些
  • php网站建设设计方法怎么把模板导入wordpress
  • 可以免费秒玩游戏的网站中国能源建设集团有限公司子公司
  • 用手机做电影网站做视频网站要多少钱
  • 兰州网站设计公司有哪些网站怎么做备案号超链接
  • 天津自己制作网站网站做全景图
  • 嘉兴网站建设解决方案网站怎么制作的
  • 绵阳专门做网站的公司计算机自学app
  • 个人设计师网站 青春沧州网站制作
  • 免费自助建站哪个好专业网站建设效果显著
  • 企业网站建设申请域名网页编辑教程
  • 学校网站建设的优势和不足wordpress 4.5 模板
  • 5站合一 网站建设海口网站建设优化公司
  • 常用的电子商务网站网络培训心得体会
  • 网站编程培训哪好网络推广是啥
  • 如何建立属于个人网站wordpress get_post_mime_type
  • 网站的第二域名怎么用小程序报价开发
  • 数据库网站开发网站建设实施方案ppt
  • 做透明头像的网站珠海专业网站制作公司