當前位置:首頁 » 存儲配置 » adb查看存儲

adb查看存儲

發布時間: 2023-05-18 19:14:06

A. ADB命令怎樣顯示手機的實際內存

你好
當程序運行垃圾回收的時候,會列印一條Log信息,其格式如下:
D/dalvikvm: <GC_Reason> <Amount_freed>, <Heap_stats>, <External_memory_stats>, <Pause_time>

GC_Reason表示導致垃圾回收的原因以及當前的回收類型,包括以下幾類:
GC_CONCURRENT:當堆中對象數量達到一定是觸發的垃圾收集
GC_FOR_MALLOC:在內存已滿的情況下分配內存,此時系統會暫停程序並回收內存
GC_HPROF_DUMP_HEAP:創建FPFOR文件來分析Heap時所造成的垃圾收集
GC_EXPLICIT: 程序調用了垃圾收集函數System.gc

GC_EXTERNAL_ALLOC: 出現在API 10及以下,為外部分配內存(native memory or NIO buffer)所造成的垃圾回收,高版本全部分配在Dalvik Heap中。
Amount_freed 表示此次回收的內存

Heap_stats 表示空閑內存百分比和存活對象大小/堆的總大小

External_memory_stats 表示API 10及以下的外部分配內存,已分配內存/導致垃圾回收的界限

Pause_time 暫停時間,一個表示開始回收垃圾的時間,另一個表示回收結束的暫停時間

D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/K, paused 2ms+2ms
注意這條信息中的 「 3571K/9991K」 值,這代表著程序使用的heap大小。
2.使用DDMS
Eclipse中的DDMS提供了一個觀察內存使用情況的GUI,當我們不斷點擊Cause GC時,就會看到當前程序的Heap,使用比較方便,具體用法可以Google一下。
3.使用adb mpsys 命令
adb是一個非常強大的工具,使用adb查看應用程序內存使用情況可按如下格式在命令行里查看內存使用情況:
adb shell mpsys meminfo <package_name>
其中,package_name 也可以換成程序的pid,pid可以通過 adb shell top | g
滿意請採納

B. 使用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


提取碼:uns4 )解析ab文件 ,也是通過命令,把abe.jar和剛才生成的ab文件放到同一個文件夾中,然後運行命令: java -jar abe.jar unpack xxx.ab xxx.rar
(如果不想使用命令可以看看這篇文章 https://www.feifeiboke.com/android/3639.html

這個命令就是吧ab文件解析成rar文件,這樣就能解壓了,我們就能看到裡面的東西。解壓出來大概就是下面這個樣子。其中比較重要的是db文件夾和sp文件夾,裡面的數據我就不放了,容易引起不必要的誤會。你可以自己動手試試。

寫這篇文章還是提醒大家在平時的開發中要注重APP數據的安全問題,畢竟數據還是相當重要的。
如果有哪裡寫的不對的地方,請指出,我會及時改正。

C. 實戰——Androidadb常用命令詳解

ADB 全稱Android Debug Bridge 是一個功能非常強大的工具,它位於Android SDK安裝目錄的platform-tools 子目錄下,ADB工具即可完成模擬器文件與電腦文件的相互復制,也可安裝APK應用,甚至可以直接切換到Android系統中執行部分Linux命令

1、查看當前運行的模擬器,設備:

    adb devices

2、切換adb shell終端為root用戶:

    adb root

3、鏈接adb tcp介面或者usb串口:

    adb connect  192.168.10.252:5555  (tcp 5555埠)

    adb connect 93048d8f

4、啟動shell

    adb -s  192.168.10.252:5555 shell 

    如果adb devices 下只有一個設備則只需要:

    adb shell 即可

5、安裝apk文件

    adb -s  192.168.10.252:5555 install [-r] [-s] [-t]<file>

    -r  強制安裝

    -s 標示將APK包安裝到SD卡上 默認是將APK安裝到內部存儲器上

    -t  如果   報錯 Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI] 可以使用該參數

6、卸載apk

    adb uninstall [-k] <package>

     -k 標示只刪除該應用程序,但保留該程序素有的數據和緩存目錄。

7、重新掛載文件系統,用來可以讀寫system等目錄

    adb -s 192.168.10.252:5555 remount

or

    mount -o remount rw/dev/block/mtdblock0/system /

8、復制文件到手機

    adb push a.txt /sdcard/

9、拷貝文件到電腦

    adb pull /sdcard/xyz.txt d:/

10、重啟設備

     adb -s 192.168.10.252:5555 reboot

11、重啟設備到bootloader模式

     adb -s 192.168.10.252:5555 reboot bootloader

12、啟動指定的app的頁面  

    adb -s 192.168.10.252:5555 shell am start -n com.android.settings/.Settings

    com.android.settings 應用程序的包名

    .Settings 類名(Activity)

13、模擬點擊坐標 

    adb -s 10.0.0.245:5555 shell input tap 250 500    

    x:250 px   Y:500 px

14、滑動觸摸事件

    adb -s 10.0.0.245:5555 shell input swipe 200 500 400 500

    #向右滑動200像素

15、修改屏幕尺寸

    adb -s 10.0.0.245:5555 wm size 1080x1920 

     #修改屏幕尺寸為1080x1920

    adb -s 10.0.0.245:5555 wm size 

     #查看屏幕默認尺寸

熱點內容
什麼安卓手機可以用個兩三年 發布:2025-02-08 11:02:37 瀏覽:966
安卓收銀軟體哪個好用 發布:2025-02-08 11:01:44 瀏覽:170
實現秘聞存儲的方法 發布:2025-02-08 10:23:33 瀏覽:168
怎麼在微信發文件夾 發布:2025-02-08 10:09:45 瀏覽:795
cryengine源碼 發布:2025-02-08 09:50:58 瀏覽:394
aardio可以反編譯嗎 發布:2025-02-08 09:50:53 瀏覽:484
公司營業執照密碼是什麼 發布:2025-02-08 09:47:56 瀏覽:855
體驗腳本 發布:2025-02-08 09:46:15 瀏覽:691
醫學生需要什麼配置的筆記本 發布:2025-02-08 09:45:34 瀏覽:772
騷擾電話資料庫 發布:2025-02-08 09:45:34 瀏覽:180