日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android系统开发 默认壁纸的定制 主题风格的开发及定制 DDMS 常用adb 命令 抓取Log

發布時間:2024/3/24 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android系统开发 默认壁纸的定制 主题风格的开发及定制 DDMS 常用adb 命令 抓取Log 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android系統開發

??????????? Android系統本身的功能在增加和完善過程中。在系統開發中如果涉及系統API的改動,則一定要慎重,系統的API的改動可能涉及Android應用程序的不兼容。

??????????? 系統開發原則:

??????????? Android系統開發只是在不改變系統API的情況下修正系統的缺陷或增強系統的功能。可以增加接口,但絕不允許修改或刪除原始系統接口。

--

平臺擴展功能簡介

Android平臺本身已經有非常強大的功能,但面對運營商的定制,在使用同一工程針對不同定制時的兼容性仍顯不足,例如不同的運營商壁紙的定制、不同風格的定制、不同功能界面的定制等等。

??????????? 針對定制問題,我們在原始Android平臺上做了部分的功能擴充,使得在同一工程下不同的版本可以使用自定義的定制項,滿足方便快捷的定制需求。

--

平臺擴展功能簡介

默認壁紙的定制:

??????????? 原始Android平臺中默認的靜態壁紙是一張jpg圖片(default_wallpaper.jpg),存放在:

?????android\frameworks\base\core\res\res\drawable目錄中。

????? 針對不同運營商需要設置不同的壁紙,此時需要替換平臺中的圖片進行重新編譯和打包。

??????????? 同時,Android平臺中沒有定制動態壁紙的接口,也不能針對需求方便的定制動態壁紙。

--

為了方便快捷的定制壁紙,對平臺的壁紙設置方法進行了增強。

Android設置壁紙的流程如下:

??? 1. 首先檢查系統是否設置了動態壁紙,若有則將動態壁紙設為默認壁紙。此處huawei進行了增強,在配置文件中設置了動態壁紙的定制項ro.config.hw_CustomizeWallpaper,無需修改代碼只需將該項設為需要壁紙的名字即可,以實現動態壁紙的定制。

??? 2. 若未設置動態壁紙,則使用default_wallpaper靜態壁紙。

???? 此處huawei進行了增強,將定制的靜態壁紙放入了手機特定路徑下(如手機的userdata區),避免了資源的重新編譯,便于靜態壁紙的替換。

???? 注:若huawei定制的動態和靜態壁紙都未設置,則使用Android原始的default_wallpaper作為壁紙。??????????

--

?主題風格的開發及定制:

??????????? 大家在Android手機中最常見的主題風格是黑底白字風格,這是平臺中的默認主題風格,很多手機基本上維持了此UI界面,部分可能做了少量修改。

??????????? 為了豐富UI界面和支持運營商定制不同的風格界面,在平臺中開發出了一套新的huawei自定義風格。該風格可作為應用界面的切換接口,便于不同運營商定制不同風格時的主題風格切換。


--

??????????? 應用無需每次根據不同風格進行代碼的修改,只需使用該風格就可以方便的進行定制風格的切換:

???? 例如在setting應用界面兩種風格的轉換:

平臺新增資源的分離:

??????????? 問題:

??????????? 在android\frameworks\base\core\res目錄中,定義了所有framework和APK使用的資源。在編譯時生成一個framework-res.apk,里面包含了所有的資源數據,framework和應用需要使用這些資源時,只需要引用這些資源的id。這些資源分為兩類:一種是public資源,另一種是internal資源。public資源的id通過public.xml進行了固定;但internal資源的id則未固定,當我們在framework中新增資源時,這些新增資源都屬于internal資源,因此所有internal資源id可能發生變化。若APK使用了framework中的internal資源,而在APK編譯時不基于新的framework資源進行編譯,則會出現APK使用的資源錯誤。

--

? 解決方法:

??????????? 在framework里面增加一個跟res并列的目錄res-hwext,這個目錄中存放所有framework中新增的資源。這些資源的id將全部進行固定。

??????????? huawei新增的資源可以一目了然,便于資源的管理。APK可不受framework新增資源的影響獨立編譯,便于版本的制作。進一步便于在平臺升級時的資源移植。

--

DDMS

l? DDMS的全稱是Dalvik Debug Monitor Service,它為我們提供例如:為測試設備截屏,針對特定的進程查看正在運行的線程以及堆信息、Logcat、廣播狀態信息、模擬電話呼叫、接收SMS、虛擬地理坐標等等。

l? DDMS工具存放在SDK – tools/路徑下,可以直接雙擊ddms.bat運行。DDMS對Emulator和外接測試機有同等效用。如果系統檢測到它們(VM)同時運行,那么DDMS將會默認指向Emulator。

--

常用adb 命令

l? 3 應用程序包

????? (1)上傳到模擬器上的應用程序.apk,放在/data/app目錄下

????? (2)上傳到模擬器上的程序包,放在/data/data目錄下

l? 可通過adb install **.apk來進行程序的安裝

l? 卸載程序時,在/data/app下進行程序的刪除(rm **.apk)

?

l? 4 使用logcat命令抓取Log

??? adb命令輸入端可以同時打開多個,也就是說可以同時抓取多類Log。舉例說明:

??? 抓取LOG_ID_MAIN類Log,進入android-sdk的tools目錄(),輸入如下命令,

命令框顯示如下:

命令說明:

adb shell:連接adb端口

logcat:抓取Log命令

>log_main.txt:抓取的Log以文件的形式輸出,符號‘>’后為文件名,該文件保存在當

??????????????????????????前的工具目錄下

--

???? 抓取LOG_ID_RADIO類Log,進入android-sdk的tools目錄(),輸入如下命令:


??說明:

l? 如果需要抓開機過程的Log,請一定在開機過程中盡早連接手機。

l? 使用命令抓Log時,PC和手機一直處于通訊狀態,當抓取Log完成時,在cmd命令界面按‘Ctrl+c’鍵終止打印輸出。

l? 同時抓取多類Log時,請盡量使用命令行抓取,同時打開多個命令終端。

l? 打印完成后對輸出的文件進行再次打開確認,避免打印出錯。

--

l? 5 使用bugreport命令抓取Log

???????????? 有時候想看的一些信息卻不知道怎么看,有時候我們發現了一個bug,可又不好復現,或者需要很多信息,操作麻煩。這時候可以嘗試一下adb的工具bugreport,顧名思義,就是用來獲取出錯時候的信息,其中包含了各種log和系統信息,內容詳盡。

????? 使用方法:

==

總結

以上是生活随笔為你收集整理的Android系统开发 默认壁纸的定制 主题风格的开发及定制 DDMS 常用adb 命令 抓取Log的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。