Bugly手動上傳dSYM符號表文件

前言:新接手的項目中接入了Bugly錯誤統(tǒng)計,但是沒有自動上傳dSYM文件健提,需要手動上傳。按照官方文檔資料操作伟叛,最后卻發(fā)現(xiàn)管理后臺提供的上傳入口已關(guān)閉私痹,需要通過api上傳,以下記錄了整個上傳操作過程。

本機(jī)環(huán)境:macOS Big Sur 11.4

本文更新:2021.08.04

Bugly官方公告:

【系統(tǒng)公告】尊敬的用戶紊遵,因系統(tǒng)功能調(diào)整账千,符號表上傳不再支持老版本(小于3.3.4)上傳,請使用最新版本上傳工具3.3.4(https://bugly.qq.com/v2/downloads)暗膜,望知悉匀奏。
所以之前寫的上傳符號表流程走不通了

  • 最新解決方案

1、安裝1.8.0版本Java運行環(huán)境

百度云鏈接: https://pan.baidu.com/s/1X-JMOsMcFLAO5tOcMskQ7g 密碼: cjg6
安裝完成后学搜,查看java版本

java -version

輸出信息如下1.8.0_xxx娃善,則正確

java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
注意:

如輸出類似如下16.x.x,則錯誤

java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

出錯的原因是因為電腦中有更高的java版本瑞佩,需要手動刪除聚磺。
打開指定路徑下文件,刪除高版本

/Library/Java/JavaVirtualMachines/

再次打印java版本驗證是否正確

2炬丸、下載最新版Bugly iOS符號表工具 '3.3.4'

包含jar包和教程
buglyqq-upload-symbol.jar
符號表上傳工具使用說明.doc

3瘫寝、桌面創(chuàng)建空白文件夾,命名testBugly稠炬。將生成的dSYM文件和上述工具包中的buglyqq-upload-symbol.jar拖入文件夾中
4焕阿、配置信息,上傳符號表

參數(shù)注釋可查看符號表上傳工具使用說明.doc文檔酸纲,注意參數(shù)和最后的dSYM路徑一定要填寫正確

java -jar buglyqq-upload-symbol.jar -appid xxxxxx -appkey xxxxxx-xxxx-xxxxx-xxxx-xxxxxx-bundleid com.xxxx.xxxx -version 3.1.12 -platform IOS -inputSymbol /Users/aha/Desktop/testBugly/xxx.app.dSYM

最后顯示如下內(nèi)容時表示上傳成功

##[info]retCode: 200 response message: {"statusCode":0,"msg":"success","uploadReqID":"0d51635151-e46065cc-0f3a-4508-bdab-fe359c8ebfc7"}

分割線

  • 以下為已廢棄流程

1捣鲸、下載符號表提取工具依賴的Java運行環(huán)境(JRE或JDK版本需要>=1.6)

已下載好版本jdk-8u291-macosx-x64
百度云鏈接: https://pan.baidu.com/s/1egC__F5GVTolaTrz52G96w 密碼: hnjs

安裝完成后,查看java版本
java -version
輸出

java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
java
2闽坡、下載最新版Bugly iOS符號表工具

其中工具包中包括:

  • 符號表工具JAR包(buglySymboliOS.jar)
  • Windows的腳本(buglySymboliOS.bat)
  • Shell腳本(buglySymboliOS.sh)
  • 默認(rèn)符號表配置文件(settings.txt)
  • 符號表工具iOS版-使用指南
符號表工具包
3栽惶、桌面創(chuàng)建空白文件夾,命名testBugly疾嗅。將生成的dSYM文件和上述工具包中的buglySymboliOS.jar拖入文件夾中
4外厂、 生成新的符號表文件

終端中操作

cd /Users/ahamac/Desktop/testBugly
java -jar buglySymbolIOS.jar -i /Users/ahamac/Desktop/testBugly/hhh.app.dSYM
5、上傳生成的新的符號表文件

首先壓縮下dSYM文件生成zip壓縮包代承,終端中操作

curl -k "https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=8ccc-1ccc-4ccc-9ccc-6ccc&app_id=0d11111111" --form "api_version=1" --form "app_id=0d11111111" --form "app_key=8ccc-1ccc-4ccc-9ccc-6ccc" --form "symbolType=2" --form "bundleId=com.xxxx.xxxx" --form "productVersion=3.3.3" --form "fileName=hhh.app.dSYM.zip" --form "file=@buglySymbol_hhh_arm64-2d5e4.zip" --verbose

最后顯示如下內(nèi)容時表示上傳成功
{"rtcode":0,"msg":"Success","data":{"reponseCode":"0"}}* Closing connection 0
備注:

  • app_key和app_id在bugly管理后臺
  • api_version:固定1
  • symbolType: 固定2
  • bundleId: app項目bundleId
  • productVersion: app項目對應(yīng)的版本
  • fileName: dSYM文件生成zip壓縮包名稱
  • file: 步驟4中生成的新的符號表文件
最后附上全部終端內(nèi)容
ahamac@aha-Pro Desktop % cd /Users/ahamac/Desktop/testBugly 
ahamac@aha-Pro testBugly % java -jar buglySymbolIOS.jar -i /Users/ahamac/Desktop/testBugly/hhh.app.dSYM
/Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/hhh [arm64] 2d5e48dc854b3ba8b5c56e06b1671cb1

[SymtabTool-I] Extracting symtab file: hhh
[SymtabTool-I] Begin to parse file: /Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/hhh
[SymtabTool-I] Architecture: arm64
[SymtabTool-I] Successfully parsed the file!
[SymtabTool-I] Begin to parse file: /Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/hhh
[SymtabTool-I] Architecture: arm64
[SymtabTool-I] Successfully parsed the file!
[SymtabTool-I] Begin to extract symbol table.......................................................................................
[SymtabTool-I] Successfully to extract symbol table!
[SymtabTool-I] Begin to create symtab file: /Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/buglySymbol&%E8%80%81%E6%9D%BF%E9%80%9A&arm64&2d5e48dc854b3ba8b5c56e06b1671cb1.symbol
[SymtabTool-I] Successfully created symtab file!
[SymtabTool-I] Begin to parse the file:/Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/buglySymbol&%E8%80%81%E6%9D%BF%E9%80%9A&arm64&2d5e48dc854b3ba8b5c56e06b1671cb1.symbol
[SymtabTool-I] Successfully parsed the file
[SymtabTool-I] Begin to construct stif file: /Users/ahamac/Desktop/testBugly/老hhh.app.dSYM/Contents/Resources/DWARF/buglySymbol&%E8%80%81%E6%9D%BF%E9%80%9A&arm64&2d5e48dc854b3ba8b5c56e06b1671cb1.stif
[SymtabTool-I] Successfully constructed stif file
[SymtabTool-I] Add stif to symtab zip file: /Users/ahamac/Desktop/testBugly/hhh.app.dSYM/Contents/Resources/DWARF/buglySymbol&%E8%80%81%E6%9D%BF%E9%80%9A&arm64&2d5e48dc854b3ba8b5c56e06b1671cb1.stif
[SymtabTool-I] Begin to zip symtab file: /Users/ahamac/Desktop/testBugly/buglySymbol_hhh_arm64-2d5e4.zip
[SymtabTool-I] Successfully zipped symtab file!
ahamac@aha-Pro testBugly % curl -k "https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=8ccc-1ccc-4ccc-9ccc-6ccc&app_id= 0d11111111" --form "api_version=1" --form "app_id= 0d11111111" --form "app_key=8ccc-1ccc-4ccc-9ccc-6ccc" --form "symbolType=2"  --form "bundleId=com.xxxx.xxxx" --form "productVersion=3.3.3" --form "fileName=hhh.app.dSYM.zip" --form "file=@hhh.app.dSYM.zip" --verbose
curl: (26) Failed to open/read local data from file/application
ahamac@aha-Pro testBugly % curl -k "https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=8ccc-1ccc-4ccc-9ccc-6ccc&app_id= 0d11111111" --form "api_version=1" --form "app_id= 0d11111111" --form "app_key=8ccc-1ccc-4ccc-9ccc-6ccc" --form "symbolType=2"  --form "bundleId=com.xxxx.xxxx" --form "productVersion=3.3.3" --form "fileName=hhh.app.dSYM.zip" --form "file=@buglySymbol_hhh_arm64-2d5e4.zip" --verbose
*   Trying 111.161.111.119...
* TCP_NODELAY set
* Connected to api.bugly.qq.com (111.161.111.119) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=CN; ST=guangdong; L=shenzhen; O=Tencent Technology (Shenzhen) Company Limited; CN=*.sept03.sparta.3g.qq.com
*  start date: Sep 27 04:45:44 2020 GMT
*  expire date: Oct 29 04:45:44 2021 GMT
*  issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Organization Validation CA - SHA256 - G2
*  SSL certificate verify ok.
> POST /openapi/file/upload/symbol?app_key=8ccc-1ccc-4ccc-9ccc-6ccc&app_id= 0d11111111 HTTP/1.1
> Host: api.bugly.qq.com
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Length: 8508885
> Content-Type: multipart/form-data; boundary=------------------------9ed226e5fb5bf864
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Server: nginx
< Date: Fri, 25 Jun 2021 03:48:02 GMT
< Content-Type: application/json; charset=utf-8
< Content-Length: 55
< Connection: keep-alive
< Set-Cookie: JSESSIONID=f26a766c-2037-4195-8b6f-b8c2d22f366a; Path=/; HttpOnly
< Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Thu, 24-Jun-2021 03:47:55 GMT
< 
* Connection #0 to host api.bugly.qq.com left intact
{"rtcode":0,"msg":"Success","data":{"reponseCode":"0"}}* Closing connection 0
ahamac@aha-Pro testBugly % 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汁蝶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子论悴,更是在濱河造成了極大的恐慌掖棉,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膀估,死亡現(xiàn)場離奇詭異幔亥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)察纯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門帕棉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來针肥,“玉大人,你說我怎么就攤上這事香伴∥空恚” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵即纲,是天一觀的道長具帮。 經(jīng)常有香客問我,道長崇裁,這世上最難降的妖魔是什么匕坯? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮拔稳,結(jié)果婚禮上葛峻,老公的妹妹穿的比我還像新娘。我一直安慰自己巴比,他們只是感情好术奖,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著轻绞,像睡著了一般采记。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上政勃,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天唧龄,我揣著相機(jī)與錄音,去河邊找鬼奸远。 笑死既棺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的懒叛。 我是一名探鬼主播丸冕,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼薛窥!你這毒婦竟也來了胖烛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤诅迷,失蹤者是張志新(化名)和其女友劉穎佩番,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罢杉,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡答捕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屑那。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拱镐。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖持际,靈堂內(nèi)的尸體忽然破棺而出沃琅,到底是詐尸還是另有隱情,我是刑警寧澤蜘欲,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布益眉,位于F島的核電站,受9級特大地震影響姥份,放射性物質(zhì)發(fā)生泄漏郭脂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一澈歉、第九天 我趴在偏房一處隱蔽的房頂上張望展鸡。 院中可真熱鬧,春花似錦埃难、人聲如沸莹弊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忍弛。三九已至,卻和暖如春考抄,著一層夾襖步出監(jiān)牢的瞬間细疚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工川梅, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留疯兼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓挑势,卻偏偏與公主長得像镇防,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子潮饱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 什么是符號表来氧? 符號表是內(nèi)存地址與函數(shù)名、文件名香拉、行號的映射表啦扬。符號表元素如下所示: <起始地址> <結(jié)束地址> ...
    深圳陽光閱讀 12,192評論 28 5
  • Bugly符號表配置-官方文檔 一、調(diào)試階段 1.1凫碌、下載最新版Bugly iOS符號表工具 1.2扑毡、檢測電腦Ja...
    lionsom_lin閱讀 1,025評論 2 1
  • 開發(fā)中,為了更好的用戶體驗或者為了bug跟蹤盛险,可能會需要使用騰訊的bugly分析工具.但是要使用bugly分析報錯...
    calm1993閱讀 1,751評論 3 3
  • 首先先說下bugly的崩潰統(tǒng)計是實時的瞄摊,即你的app前腳崩潰勋又,bugly后腳就會給你統(tǒng)計到,但是在統(tǒng)計崩潰信息的時...
    行走的菜譜閱讀 5,996評論 2 17
  • 1. 什么是符號表换帜? 符號表是內(nèi)存地址與函數(shù)名楔壤、文件名、行號的映射表惯驼。符號表元素如下所示:<起始地址> <結(jié)束地址...
    irenb閱讀 403評論 0 4