一、adb shell
adb shell下一些常用命令行工具:
pm:PackageManager,包管理器,用于管理應用程序的安裝、卸載、查詢和更多相關操作。
pm install …//
pm uninstall …//
pm list packages//設備上已安裝的應用程序
pm dump …//獲取應用程序的詳細信息,如包名、版本號、權限等
am:Activity Manager,活動管理器,用于管理設備上的活動和應用程序的狀態
am start …//
am stop …//
am force-stop …//
am broadcast //發送廣播 adb shell am broadcast -a com.example.myapp.CUSTOM_ACTION --es message “Hello, World!” ——-a 參數指定廣播的動作(Action),–es 參數用于添加一個額外的字符串值,鍵為 message,值為 “Hello, World!”
adb:Android 調試橋(Android Debug Bridge)是與 Android 設備通信的主要命令行工具。它提供了與設備進行文件傳輸、調試、安裝應用程序和執行其他操作的功能。
ls:ls 命令用于列出目錄中的文件和子目錄。例如,ls /sdcard 可以列出設備存儲卡(SD 卡)上的文件和目錄。
cd:cd 命令用于更改當前工作目錄。例如,cd /sdcard 可以將當前目錄切換到設備存儲卡。
mkdir:mkdir 命令用于創建新的目錄。例如,mkdir /sdcard/new_directory 可以在設備存儲卡上創建一個名為 “new_directory” 的新目錄。
cp:cp 命令用于復制文件或目錄。例如,cp /sdcard/file.txt /sdcard/backup/file.txt 可以將名為 “file.txt” 的文件復制到名為 “backup” 的目錄下。
mv:mv 命令用于移動文件或目錄,也可用于重命名文件或目錄。例如,mv /sdcard/file.txt /sdcard/new_location/file_new.txt 可以將文件移動到新位置并重命名為 “file_new.txt”。
rm:rm 命令用于刪除文件或目錄。例如,rm /sdcard/file.txt 可以刪除名為 “file.txt” 的文件,rm -f 刪除文件夾目錄
cat:cat 命令用于顯示文件的內容。例如,cat /sdcard/file.txt 可以將文件的內容打印到命令行界面上。
chmod:chmod 命令用于更改文件或目錄的權限。例如,chmod 755 /sdcard/file.txt 可以將文件的權限更改為 755。
二、json
解析json數據時可以使用GSON(Google提供的一個開源JSON庫),Gson 可以將 Java 對象轉換為 JSON 字符串,也可以將 JSON 字符串轉換為 Java 對象。Gson 提供了更高級的功能和靈活性,例如支持自定義序列化和反序列化規則、處理復雜的對象關系、日期格式化等。
依賴:
implementation "com.google.code.gson:gson:2.9.1"
序列化解析:
@Parcelize
class ParsingObject(@SerializedName("event_code")//統一編碼格式,將json里的下劃線轉化為駝峰格式val eventCode: Int = 10501,@SerializedName("event_code")val eventValue: Int,val event: String = "DEFAULT_VALUE",//默認值val params: FlightParams
) : ParcelablejsonString
val gson = Gson()
val obj = gson.formJson<ParsingObject>(jsonString, ParsingObject::class.java)
然后解析相應對象即可
jsonObject解析:
//根據相應特征字段名獲取
val jsonObject = JSONObject(jsonStr)
val jsonArray = jsonObject.getJSONArray("list")
val obj = jsonArray.getJSONObject(0)
val cityObj = obj.getJSONObject("cityInfo")