㈠ 使用adb查看別人家APP的數據
1.說明
2.使用adb命令獲取指定應用的包名和Activity名稱
3.使用adb命令啟動/關閉APP
4.使用adb命令把手機中的apk導到電腦上
5.查看apk中的androidManifest.xml文件
6.使用adb命令進行數據備份
7.查看數據
8.結語
查看其它APP數據的前提是該APP默認開啟數據備份,也就是allowBackup屬性。
想問一下大家在平時的開發中對應用的安全性有很在意么?有可能大家會想到加密、混淆、apk加固,但還有一些其他細節的東西需要大家去了解。今天就介紹一下android:allowBackup屬性。這個屬性在開發的過程中通常是默認開啟的,Google起初是為了防止數據丟失,留下了這個功能,但是這個屬性也容易造成一些隱私數據的泄露。如果你想關閉可以把它設置為false。那麼這個屬性在哪裡設置呢,就在AndroidManifest.xml文件中的application標簽中。
要備份APP的數據,首先我們要知道這個APP的包名才可以進行備份。
在手機或模擬器上面運行APP,然後輸入命令: adb shell mpsys activity top #
這時會輸出很多東西,你可以用查找功能Ctrl+F,找到TASK,下圖紅框中就是要找的包名
命令: adb logcat| findstr START
然後在手機或模擬器上點擊你想要獲取的應用,這時就會在cmd中出現相應的包名和類名了。
啟動APP的命令: adb shell am start -W -n package/activity
命令窗口通過adb shell 進入android 的Linux命令界面,輸入am help看到如下信息:
它會展示出在不同場景下(比如start-activity、start-service等)不同參數代表的意義一些參數的意義,情況太多了這里就不細說了。
回到正題,後面的package和activity就是上面獲取包名第二種方法中提到的cmp,比如我們要啟動谷歌地圖: adb shell am start -W -n com.google.android.apps.maps/com.google.android.maps.MapsActivity
在這里我們再做一個延伸, 用命令做APP的冷啟動和熱啟動操作,然後記錄啟動的時間
我們看到上圖中有三個數字ThisTime、TotalTime和WaitTime,這三個數字就是本次啟動APP所花費的時間。
熱啟動時退出退出APP的命令: adb shell input keyevent 3 ,這就相當於按了手機的home鍵,然後我們再執行啟動APP的命令,這樣就完成了熱啟動。
我們看到熱啟動花費的時間比冷啟動少了很多,一套冷、熱啟動的流程我們就走完了。接下來就看我們怎麼去優化了,讓它們變的更少。所以我們在平時做啟動優化的時候可以把自己的APP和一些優秀的APP做一下對比看看還差多少。
上面已經說過了一種退出APP的方法了,接下來這個命令是相當於殺掉當前的APP進程。
命令: adb shell am force-stop package
這時候再使用啟動命令,就相當於冷啟動了。
有的時候我們在手機上查看和操作apk不是特別方便,而且通過文件管理找apk也很難找。接下來就介紹怎麼用adb命令把手機中的apk導到電腦上。
通過包名獲取apk在手機中的存儲路徑,命令 adb shell pm path package
導出apk文件,到當前目錄下
命令: adb pull 路徑
這一步就要看一下apk中有哪些東西了,主要還是看一下AndroidManifest.xml文件當中的allowBackup設置。
我平常用的方法就是吧apk文件的後綴該成zip,然後就可以看到裡面的東西了。下面的是谷歌地圖的apk的構成。
下面來看一下AndroidManifest.xml文件,會看到都是亂碼,但是關鍵的信息還是可以獲取的,我們目前想要的就是下圖紅框中的allowBackup屬性,像谷歌的APP肯定是把它設置成false的,所以我們沒辦法備份它的信息的。
那麼我們怎麼看一個應用的allowBackup屬性設置成true還是false呢,我的觀察和實踐出來的方法是看allowBackup後面有沒有小方框,有就代表設置了true。如果有哪位大神知道好的可靠的方法還請留言告知。
下面是其他apk中的AndroidManifest.xml文件,後面帶了個小方框。
在了解到APP可以備份之後,我們就可以開始做壞事了,哈哈。
備份的命令: adb backup -nosystem -all -noapk -noshared -f data.ab package
[-system | -nosystem] 是否備份系統
[-apk | -noapk] 是否備份apk安裝文件
[-shared | -noshared] 是否備份手機存儲空間
-f *.ab 存檔格式一定要是.ab
package:包名
在運行命令之後,手機或模擬器會出現一個頁面要求你輸入備份密碼,這個密碼你可以隨便輸入,但你要記住,在後面查看ab文件的時候會用到。
輸入密碼,點擊【備份我的數據】之後就開始備份了,備份完成之後會有提示,這時就是生產一個ab文件了。
ab文件大家很少接觸,這里使用abe工具(鏈接: https://pan..com/s/1NPbhtF1fyJcHOm1CXwi9Dg
寫這篇文章還是提醒大家在平時的開發中要注重APP數據的安全問題,畢竟數據還是相當重要的。
如果有哪裡寫的不對的地方,請指出,我會及時改正。
㈡ 怎麼華為手機照片莫名其妙消失了
如果您圖庫中的圖片丟失,請您按照以下方法嘗試解決:
一、 檢查最近刪除、隱藏相冊、屏蔽相冊中是否有丟失的圖片
1. 檢查「最近刪除」(部分手機不支持最近刪除,請以手機實際使用情況為准)
進入 圖庫 > 相冊 > 最近刪除,查看是否有丟失的圖片,如果有,可以長按被刪除的照片,點擊恢復即可。
2. 檢查「隱藏相冊」(部分手機不支持隱藏相冊,請以手機實際使用情況為准)
在圖庫 > 相冊 > 三個點按鈕> 隱藏相冊中查看是否有您丟失的相冊,如果有,請關閉對應相冊後面的開關,相冊即可恢復顯示。
3. 檢查「屏蔽相冊」(部分手機不支持屏蔽相冊,請以手機實際使用情況為准)
EMUI 9.X/10.X / Magic UI 2.X/3.X:進入圖庫 > 相冊 > 其他相冊 > 查看已屏蔽相冊,檢查是否有您丟失的相冊,若有取消屏蔽即可。
EMUI 11.0 / Magic UI 4.0:進入圖庫 > 相冊 > 三個點按鈕> 屏蔽相冊, 檢查是否有您丟失的相冊,若有取消屏蔽即可。
二、檢查是否退出華為賬號導致圖片丟失當您打開了雲空間中的圖庫數據同步開關時,雲空間的圖片會同步到手機上。退出華為帳號後,雲端照片將不在圖庫中顯示。如果您近期退出過華為帳號,請您重新登錄華為帳號,並在手機設置>華為帳號>雲空間>圖庫中打開圖庫數據同步開關,雲端照片即可重新同步到手機上。如果您誤刪除過雲端照片,您可嘗試找回誤刪的圖片。
三、檢查文件管理中是否有圖片
1. 打開顯示隱藏文件和顯示隱藏媒體文件的開關。操作路徑:
EMUI 8.X / 9.0 & Magic UI 2.0:進入文件管理 > 更多 > 設置,打開顯示隱藏目錄和文件和顯示隱藏的媒體文件開關。
EMUI 9.1/10.X/ 11.X & Magic UI 2.1/3.X/4.X : 進入 文件管理 > 我的 > 設置 ,打開顯示隱藏文件和分類中顯示隱藏的媒體文件開關。
2. 然後在文件管理中查看對應文件夾下面查看是否有丟失的圖片:
相機拍攝的圖片或視頻:文件管理 > 分類 > 內部存儲 > DCIM > Camera。
截屏和錄屏:文件管理 > 分類 > 內部存儲 > Pictures > Screenshots。
藍牙接收的圖片:文件管理 > 分類 > 內部存儲 > bluetooth。
三方應用保存的圖片:您可以在應用中保存一張圖片,然後在圖庫中點擊圖片右上角圓圈i圖標查看路徑。
最近刪除的圖片:進入文件管理 > 分類 > 內部存儲 > Pictures > .gallery2 > recycle查看是否有文件,可以嘗試使用圖片/視頻方式打開,查看是否是丟失的圖片。
如果文件管理中有圖片:
(1) 若目錄中存在.nomedia文件或文件夾,請刪除此文件。
(2)若系統升級剛完成,請等待一段時間再查看圖片是否顯示。
(3)進入設置,搜索進入應用管理,點擊三個點按鈕>顯示系統進程 > 媒體存儲 > 存儲 > 刪除數據,查看圖片是否顯示。
(4) 進入設置,搜索進入應用管理,點擊三個點按鈕>顯示系統進程 > 圖庫 > 存儲 > 刪除數據,查看圖片是否顯示。
(5)若圖片存儲位置無法被圖庫掃描到,請將圖片復制至內部存儲中可以正常顯示的文件夾下。例如:內部存儲 > Download,復制後在圖庫的已下載相冊中查找。
溫馨提醒:完成操作後請重啟手機等待一段時間,然後在所有照片或最近刪除中查找是否有丟失的圖片。以上操作不會造成數據丟失。但會導致我的收藏、時刻以及發現相冊丟失;刪除媒體存儲數據會將來電鈴聲還原為出廠設置,需要您重新設置。
如果文件管理中沒有圖片:
請按照以下三種場景進行排查:
(1)「圖庫」中找不到圖片/不顯示圖片
a. 圖片可能沒有刷新出來,請進入多任務界面關閉圖庫,然後重新進入圖庫,查看照片是否還存在。
b. 如果圖片保存在SD卡中,SD卡被移除會導致圖片丟失,請將外置SD卡重新插入手機,然後通過文件管理器查看圖片是否還在。
c. 手機處於訪客模式/多用戶/隱私空間時,主用戶空間圖片將不顯示,請使用機主密碼解鎖手機後查看圖片是否存在。
d. 圖片可能被移入了保密櫃。請您進入文件管理 > 分類 > 保密櫃,查看保密櫃中是否有丟失的圖片,如果有,長按圖片後點擊移出,即可在圖庫中查看圖片。
(2)圖庫中縮略圖破損、點擊縮略圖不顯示大圖/仍然是灰色圖片,重啟後全部消失或一張張消失
a. 打開縮略圖仍然是灰色圖片,圖片可正常查看時,可能是開啟了熄屏快拍功能,請進入相機設置界面查看。
b. 如果使用雲相冊功能同步照片時,未同步完成就斷開了網路連接,則只生成照片縮略圖,請重新同步照片。
c. 如果只看到縮略圖點開沒有圖像,可能是圖片生成過程中出現運行異常,圖片實際並未成功保存。
(3)使用第三方軟體出現圖片丟失或重啟後圖片丟失
部分第三方軟體因為自身設計問題導致圖片被刪除。請您檢查手機中的可疑應用,建議您先備份重要數據後(微信/QQ等應用需單獨備份)卸載此第三方應用。
四、如果您之前備份過數據,嘗試恢復圖片
(1)如果您曾經備份過數據在雲空間,請嘗試恢復數據。
(2)如果您曾經備份過數據到外部存儲,請參嘗試恢復數據。
(3)如果您曾經使用過華為手機助手備份數據,請嘗試恢復數據。
如果通過以上方法還未找回圖片,可能您的圖片已經徹底刪除了,建議您平時將重要數據及時做好備份(微信/QQ等應用需單獨備份),比如將重要的圖片備份到華為雲空間中。