androidadbapk
⑴ 使用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數據的安全問題,畢竟數據還是相當重要的。
如果有哪裡寫的不對的地方,請指出,我會及時改正。
⑵ Android手機軟重啟adb命令是什麼
運行設備的shell(命令行)。
管理模擬器或設備的埠映射。
計算機和設備之間上傳/下載文件。
將本地apk軟體安裝至模擬器或android設備。
ADB一個 客戶端-伺服器端 程序, 其中客戶端是用來操作的電腦,伺服器端是android設備。
(2)androidadbapk擴展閱讀
1、 查看設備 *adbdevices。這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示。
2、 安裝軟體:adbinstall <apk文件路徑>。
這個命令將指定的apk文件安裝到設備上。
3、 卸載軟體
adbuninstall <軟體名>。
adbuninstall -k <軟體名>。
如果加 -k 參數,為卸載軟體但是保留配置和緩存文件。
⑶ android apk 的root 許可權和USB adb 許可權的區別
USB adb 許可權是指,當adb 連接手機時,手機中的守護進程adbd 的許可權為root 許可權,從而它的子進程也具有root 許可權,通常如果adb shell 看到是:
Android 4.0 以後版本:
C:\Users\mtk29\Desktop>adb shell
root@android:/ #
Android 2.3 版本:
C:\Users\mtk29\Desktop>adb shell
即表明adb 的連接是root 許可權的,相反如果看到是$ 即表明是shell 許可權
Android 的APK 本身都是不具備root 許可權的,如果想啟用root 許可權,那麼就必須藉助具有root 許可權的進程或者具有s bit 的文件,目前比較通用的手法是,手機root 後,內置了su到system/bin, 然後普通APP 即可藉助su 命令來達到root 許可權切換。
網路上已經有同仁修改su 命令,並通過一個APK 來控制su 命令的許可權控制。
如常見的Superuser: 這樣即可人為的控制root 許可權的使用。((因很久都沒有更新了,只能用於ICS 以及以前的版本))
綜上所敘,如果adb 已經有root 許可權,那麼讓apk 行使root 許可權就很簡單了。比如在JB 版本或者以前的版本上:
adb remount
adb push su /system/bin
adb push Superuser.apk /system/app
adb shell chmod 0644 /system/app/Superuser.apk
adb shell chmod 6755 /system/bin/su
adb reboot
⑷ android怎麼通過adb啟動apk
使用以下命令可以啟動apk,其中的package和launch_activity有很多方法可以獲取,詳細地請參考網頁鏈接這篇經驗。
adb shell am start -n package/launch_activity
⑸ Android通過ADB降級安裝軟體方法
adb安裝apk常用命令如下:
adb install D:\demo.apk
即install後面接包在電腦上的路徑,這里要確保已經通過adb連接到設備,常用以下命令連接,確保電腦與設備處於同一個區域網:
adb connect 設備ip
查看已連接設備,確保賀高手機已連接到電腦:
adb devices
如果需要替換原來的應用,上面的安裝命令是行不通的,需要加上「-r」,即替換原來的應用:
adb install -r D:\demo.apk
那如果是降級安裝呢?指氏再加「-d」:
adb install -r -d D:\demo.apk
這里的「r」指的是「replace」,替禪逗尺換原來的應用;「-d」指的是「downgrade」,降級安裝。
⑹ android adb是什麼意思
adb的全名是Android調試橋,它充當調試橋。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模擬器或真實的Android設備(例如G1手機)。
Android系統的adb的全名是Android Debug Bridge,在Android開發環境中,abd是我們經常用於開發的調試工具,使用adb工具的前提是打開手機上的USB調試,然後通過數據線連接到計算機。
通過adb,我們可以通過Eclipse中的DDMS(調試工具)輕松調試Android程序。,Adb以一種特殊的方式工作,它監視Socket TCP 5554和其他埠,以允許IDE和Qemu進行通信,默認情況下,adb將守護程序相關的網路埠,因此,當我們運行Eclipse時,adb進程將自動運行。
(6)androidadbapk擴展閱讀:
android adb主要功能有:
1、運行設備的shell(命令行);
2、管理模擬器或設備的埠映射;
3、計算機和設備之間上傳/下載文件;
4、 將本地apk軟體安裝到模擬器或android設備。
參考資料:網路—ADB