最近小編經常受到失眠的困擾,因為在撰寫一個安卓體能評定的軟體,同時又在構思一個桌面管理應用,不管是構想還是操作上都遇到了很多難題,所以寄希望于小編手機上的一款軟體,因為著作權問題,就不說出它叫啥名字了,這個軟體功能棒棒噠,有專門治療失眠的欄目,可是必須聯網在線聽,有時候夜里睡前是會把手機調成飛行模式的,這樣就聽不了那些音樂了,而聽那些音樂,又常常會有加班的同事打進電話來,搞的我很煩惱,為什么不把這些音樂下載下來呢?說的好聽,做起來難!現把我白瞟下來的步驟記錄下來,期間會略去關鍵資訊,僅用于技術參考,其他概不負責,
一、準備工具
adb、安卓手機、RAR解壓軟體和瀏覽器(推薦谷歌),
- 除錯好adb在系統變數path中的路徑,以便可以直接啟動adb命令列,
- 安卓手機連接電腦,并啟動開發者模式,
二、adb命令列
(一)確認設備是否正常連接
adb shell get-state獲取設備連接狀態,
只有設備正常連接才能進行后續操作,設備連接不成功有好多原因,比如手機USB驅動沒有安裝、資料線不穩定、手機除錯模式沒有打開等等,
(二)查找目標app包名及存盤路徑并拉取
- 在命令列中輸入
adb logcat | findstr START記錄運行程式并在其中找到剛剛啟動的程式,你會看到諸如
START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
flg=0x10200000 cmp=XXX.XXX.XXX/XXXActivity} from pid 1461
之類的東西,其中XXX.XXX.XXX就是要找的包名,再繼續點進我要找的音樂那個界面,發現它是WebViewActivity,這就好辦了,包里肯定有相關網址資訊,然后按CTRL^C退出adb logcat,
- 按照這個思路再輸入
adb shell am start -W -n XXX.XXX.XXX/XXXActivity啟動軟體,以確認它就是目標軟體主界面, - 輸入
adb shell am force-stop XXX.XXX.XXX強制關閉app, - 輸入
adb shell pm path mtn.plaust.penewstd獲取APP安裝路徑package:/data/app/XXX.apk, - 輸入
adb pull /data/app/XXX.apk拉取apk到電腦當前目錄,
我的理解是am = Activity Manager, pm = Package Manager,-W是-Wait即等待Activity啟動 -n是指定Activity名,
三、查看apk資訊
用RAR軟體查看apk,在assets/sleep/檔案夾下找到CoreXXXXXXNew.txt,打開一看,是json格式的,在其中找到了我要的資訊:
{
"name": "XXXXX",
"img": "XXX.png",
"imgSquare": "XXX.jpg",
"url": "https://www.XXXXXXX.com/XXXXXX/#/voice/146",
"description": "XXX",
"type": "music",
"style": "入睡困難",
"model": "0"
}
四、使用瀏覽器除錯
- 打開瀏覽器按F12,并輸入地址訪問,在Network查看找到一條記錄,如圖所示:
,也可以使用正則運算式過濾.*\.mp3搜索mp3格式的檔案, - 查看headers資訊,找到資源檔案URL地址,復制鏈接,然后使用瀏覽器就下載下來了,
五、其他方法的嘗試
根據在簡書上參考的一篇文章[使用adb查看別人家的app資料][https://www.jianshu.com/p/d25bb146ef36],我又在第二大步驟的基礎上進行了以下嘗試:
- 備份
//備份 -nosystem不備份系統 -all所有資料 -noshared除了手機存盤空間 -f data.ab輸出結果
adb backup -nosystem -all -noapk -noshared -f data.ab
- 使用abe.jar解包
java -jar abe.jar unpack data.ab data.rar 備份密碼,
但是結果報錯,反正我的目的已經達到了,就不求甚解吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/15086.html
標籤:Android
