❶ android系統中,有關框架層的代碼應該在以下哪個目錄中
Google提供的Android包含了原始Android的目標機代碼,主機編譯工具、模擬環境,下載的代碼包經過解壓後(這里是Android2.2的源碼包),源代碼的第一層目錄結構如下:
|-- Makefile
|-- bionic (bionic C庫)
|-- bootable (啟動引導相關代碼)
|-- build (存放系統編譯規則及generic等基礎開發包配置)
|-- cts (Android兼容性測試套件標准)
|-- dalvik (dalvik java虛擬機)
|-- development (應用程清塌序開發相關)
|-- external (android使用的一些開源的模組)
|-- frameworks (旦碰核心框架——java及C++語言)
|-- hardware (主要保護硬解適配層HAL代碼)
|-- libcore
|-- ndk
|-- device
|-- out (編譯完成後的代碼輸出與此目錄)
|-- packages (應用程序包)
|-- prebuilt (x86和arm架構下預編譯的一些資源)
|-- sdk (sdk及模擬器)
|-- system (文件系統庫、應用及組件——C語言)
`-- vendor (廠商定製代碼)
bionic 目錄
|-- libc (C庫)
| |-- arch-arm (ARM架構,包含系統調用匯編實現)
| |-- arch-x86 (x86架構,包含系統調用匯編實現)
| |-- bionic (由C實現的功能,架構無關)
| |-- docs (文檔)
| |-- include (頭文件)
| |-- inet
| |-- kernel (Linux內核中的一些頭文件)
| |-- netbsd (?netbsd系統相關,具體作用不明)
| |-- private (?一些私有的頭文件)
| |-- stdio (stdio實現)
| |-- stdlib (stdlib實現)
| |-- string (string函數實現)
| |-- tools (幾個工具)
| |-- tzcode (時區相關代碼)
| |-- unistd (unistd實現)
| `-- zoneinfo (時區信息)
|-- libdl (libdl實現,dl是動態鏈接,提供訪問動態鏈接庫的功能)
|-- libm (libm數學庫的實現,)
| |-- alpha (apaha架構)
| |-- amd64 (amd64架構)
| |-- arm (arm架構)
| |-- bsdsrc (?bsd的源碼)
| |-- i386 (i386架構)
| |-- i387 (i387架答遲圓構?)
| |-- ia64 (ia64架構)
| |-- include (頭文件)
| |-- man (數學函數,後綴名為.3,一些為freeBSD的庫文件)
| |-- powerpc (powerpc架構)
| |-- sparc64 (sparc64架構)
| `-- src (源代碼)
|-- libstdc++ (libstdc++ C++實現庫)
| |-- include (頭文件)
| `-- src (源碼)
|-- libthread_db (多線程程序的調試器庫)
| `-- include (頭文件)
`-- linker (動態鏈接器)
`-- arch (支持arm和x86兩種架構)
bootable 目錄
|-- bootloader (適合各種bootloader的通用代碼)
| `-- legacy (估計不能直接使用,可以參考)
| |-- arch_armv6 (V6架構,幾個簡單的匯編文件)
| |-- arch_msm7k (高通7k處理器架構的幾個基本驅動)
| |-- include (通用頭文件和高通7k架構頭文件)
| |-- libboot (啟動庫,都寫得很簡單)
| |-- libc (一些常用的c函數)
| |-- nandwrite (nandwirte函數實現)
| `-- usbloader (usbloader實現)
|-- diskinstaller (android鏡像打包器,x86可生產iso)
`-- recovery (系統恢復相關)
|-- edify (升級腳本使用的edify腳本語言)
|-- etc (init.rc恢復腳本)
|-- minui (一個簡單的UI)
|-- minzip (一個簡單的壓縮工具)
|-- mttils (mtd工具)
|-- res (資源)
| `-- images (一些圖片)
|-- tools (工具)
| `-- ota (OTA Over The Air Updates升級工具)
`-- updater (升級器)
build目錄
|-- core (核心編譯規則)
|-- history (歷史記錄)
|-- libs
| `-- host (主機端庫,有android 「cp」功能替換)
|-- target (目標機編譯對象)
| |-- board (開發平台)
| | |-- emulator (模擬器)
| | |-- generic (通用)
| | |-- idea6410 (自己添加的)
| | `-- sim (最簡單)
| `-- proct (開發平台對應的編譯規則)
| `-- security (密鑰相關)
`-- tools (編譯中主機使用的工具及腳本)
|-- acp (Android "acp" Command)
|-- apicheck (api檢查工具)
|-- applypatch (補丁工具)
|-- apriori (預鏈接工具)
|-- atree (tree工具)
|-- bin2asm (bin轉換為asm工具)
|-- check_prereq (檢查編譯時間戳工具)
|-- dexpreopt (模擬器相關工具,具體功能不明)
|-- droiddoc (?作用不明,java語言,網上有人說和JDK5有關)
|-- fs_config (This program takes a list of files and directories)
|-- fs_get_stats (獲取文件系統狀態)
|-- iself (判斷是否ELF格式)
|-- isprelinked (判斷是否prelinked)
|-- kcm (按鍵相關)
|-- lsd (List symbol dependencies)
|-- releasetools (生成鏡像的工具及腳本)
|-- rgb2565 (rgb轉換為565)
|-- signapk (apk簽名工具)
|-- soslim (strip工具)
`-- zipalign (zip archive alignment tool)
dalvik目錄 dalvik虛擬機
.
|-- dalvikvm (main.c的目錄)
|-- dexmp (dex反匯編)
|-- dexlist (List all methods in all concrete classes in a DEX file.)
|-- dexopt (預驗證與優化)
|-- docs (文檔)
|-- dvz (和zygote相關的一個命令)
|-- dx (dx工具,將多個java轉換為dex)
|-- hit (?java語言寫成)
|-- libcore (核心庫)
|-- libcore-disabled (?禁用的庫)
|-- libdex (dex的庫)
|-- libnativehelper (Support functions for Android's class libraries)
|-- tests (測試代碼)
|-- tools (工具)
`-- vm (虛擬機實現)
development 目錄 (開發者需要的一些常式及工具)
|-- apps (一些核心應用程序)
| |-- BluetoothDebug (藍牙調試程序)
| |-- CustomLocale (自定義區域設置)
| |-- Development (開發)
| |-- Fallback (和語言相關的一個程序)
| |-- FontLab (字型檔)
| |-- GestureBuilder (手勢動作)
| |-- NinePatchLab (?)
| |-- OBJViewer (OBJ查看器)
| |-- SdkSetup (SDK安裝器)
| |-- SpareParts (高級設置)
| |-- Term (遠程登錄)
| `-- launchperf (?)
|-- build (編譯腳本模板)
|-- cmds (有個monkey工具)
|-- data (配置數據)
|-- docs (文檔)
|-- host (主機端USB驅動等)
|-- ide (集成開發環境)
|-- ndk (本地開發套件——c語言開發套件)
|-- pdk (Plug Development Kit)
|-- samples (演示程序)
| |-- AliasActivity ()
| |-- ApiDemos (API演示程序)
| |-- BluetoothChat (藍牙聊天)
| |-- BrowserPlugin (瀏覽器插件)
| |-- BusinessCard (商業卡)
| |-- Compass (指南針)
| |-- ContactManager (聯系人管理器)
| |-- CubeLiveWall** (動態壁紙的一個簡單常式)
| |-- FixedGridLayout (像是布局)
| |-- GlobalTime (全球時間)
| |-- HelloActivity (Hello)
| |-- Home (Home)
| |-- JetBoy (jetBoy游戲)
| |-- LunarLander (貌似又是一個游戲)
| |-- MailSync (郵件同步)
| |-- MultiResolution (多解析度)
| |-- MySampleRss (RSS)
| |-- NotePad (記事本)
| |-- RSSReader (RSS閱讀器)
| |-- SearchableDictionary (目錄搜索)
| |-- **JNI (JNI常式)
| |-- SkeletonApp (空殼APP)
| |-- Snake (snake程序)
| |-- SoftKeyboard (軟鍵盤)
| |-- Wiktionary (?維基)
| `-- Wiktionary**(?維基常式)
|-- scripts (腳本)
|-- sdk (sdk配置)
|-- simulator (?模擬器)
|-- testrunner (?測試用)
`-- tools (一些工具)
❷ Android studio怎麼查看本地變更歷史history
進行選中的Android studio的一個Androi...
1
然後進行選知物搭中的文件,進行螞舉使用右鍵的方...
2
然後就會彈出了下一級菜單中,進行選擇...
3
在local history中就可以查搭拿看到當前的
❸ Android studio怎麼查看本地變更歷史history
1
進行選中的Android studio的一個Android的項目,進行選中其中的項目的文件。
2
然後進行選中的文件,進行使用右鍵的方式,彈出了的下拉菜單中進行選擇一個為local history的選項。
3
然後就會彈出了下一級菜單中,進行選擇一項為「show history」的選項即可。
4
在local history中就可以查棗頌鉛看到當前的文件提交到本地倉庫的歷史信息,選中的歷史文件之後,都會與當前的文件,進行對比文件。
5
進行選中該文件之後,然後進行點擊Android studio菜單中的「CVS」的選項
6
櫻洞這樣就會彈出了一個下拉菜單中,進行下拉的菜單中進行選擇local history的選項,凳好然後再次選擇下一級菜單中的show history。
❹ Android系統手機怎樣查看程序的歷史運行
其實非常簡單,不用同時按下什麼組合按鍵,而是在撥號界啟州面進行撥號即可。
點擊位於系統主屏的Dialer進入撥答彎號界面,輸入「*#*#4636#*#*」(不加引號)即可進入工程測試模式。
這時可以看到出現了Testing的界面,包含了Phone information、Battery information、Battery history、Usage statistics四個選項,如果需要查看程序的歷史運行時間,直接點擊最後一項Usage statistics即可進入其分類,將上方的Sort by選擇為Usage Time即可清旁悶。
下方列出的列表信息就是各個程序的歷史運行時間。
❺ Android歷史版本的開發代號
Android在正式發行之前,最開始擁有兩個內部測試版本,並且以著名的機器人名稱來對其進行命名,它們分別是:鐵臂阿童木(Astro Boy,注意不是Astro阿童木)和發條機器人(Bender)。需要注意的是,Android 1.0和1.1的版本代號並不是這兩個,維基網路中的「Android Version History」詞條部分是錯誤的。
後來由於涉及到版權問題,谷歌將其命名規則變更為用甜點作為它們系統版本的代號的命名方法。Android 1.0是於2008年9月23日正式發布的Android第一版,Android 1.1發布於2009年2月2日,但其實谷歌內部有更多的1.1版的變種。甜點命名法開始於第三版Android 1.5(實際上是第四版,因為Android 1.0其實有兩版)。而從Android 1.6 Donut甜甜圈開始,項目組才正式確定將Android開發代號首字母從「C」一直延續下去。值得一提的是,Android 1.1 的內部代號為 Petit Four ,但項目主管喜歡美味的點心,最終結束了這種命名方式。
So Astro Boy and Bender were real, but they went with the super-early milestone builds. 完整的時間表是這樣的: Android milestone builds (with Astro Boy and Bender floating around in here somewhere) Android 1.0(沒有開發代號) Android 1.1 - Petit Four Android 1.5 - Cupcake Android 1.6 - Donut Android 2.0/2.1 - Éclair Android 2.2 - Froyo Android 2.3 - Gingerbread Android 3.0/3.1/3.2 - Honeycomb Android 4.0 - Ice Cream Sandwich Android 4.1/4.2/4.3 - Jelly Bean Android 4.4 - KitKat Android 5.0/5.1 - Lollipop(Android L) Android 6.0 - Marshmallow(Android M)
❻ android historian怎麼使用
數據准備
battery-historian工具需要使用bugreport中的Battery History
數據,我們在開始的時候需要通過以下命令來打開電池數據的獲取以及重置:
adb shell mpsys batterystats --enable full-wake-history
shell mpsys batterystats --reset
123123
執行的效果如下:
上面的操作相當於初始化操作,現在做一些測試,手動或者跑一些自動化的case都行。經過一段時間後,我們運行下面兩條命令來將bugreport的信息保存到txt文檔中,然後將txt文檔轉化為html文件。
adb bugreport > bugreport.txt
python historian.py -a bugreport.txt > battery.html1212
上面的historian.py腳本是Python寫的,所以需要python環境,然後從github上下載這個腳本。上面兩條命令執行成功後,會在目錄下發現兩個文件
bugreport.txt和battery.html,這個時候我們用google瀏覽器打開html文件,可以看到如下信息:
各個參數的意義
首先我們在bugreport.txt找到Battery History數據欄類似下面的信息:
-------------------------------------------------------------------------------
DUMP OF SERVICE batterystats:
Battery History (2% used, 5980 used of 256KB, 45 strings using 2592):
0 (9) RESET:TIME: 2015-03-05-15-21-56
0 (2) 100 c0900422 status=discharging health=good plug=none temp=200 volt=4167 +running +wake_lock +sensor +screen data_conn=edge phone_signal_strength=great brightness=medium proc=u0a15:"android.process.acore"
0 (2) 100 c0900422 proc=u0a7:"com.android.cellbroadcastreceiver"
0 (2) 100 c0900422 proc=u0a53:"com.android.gallery3d"你在html中信息都能從bugreport.txt中找到相應的信息。
現在來分析各個指標代表的意義:
橫坐標
上面的10,20代表的就是秒的意思,它是以一分鍾為周期,到第60秒的時候變為0。橫坐標就是一個時間范圍,咱們的例子中統計的數據是以重置為起點,獲取bugreport內容時刻為終點。我們一共採集了多長時間的數據,圖表下也有信息說明。(經其他人的反饋,這個坐標間隔是會隨著時間的長度發生改變,所以岩空要以你的實際情況為准)
縱坐標
縱坐標的數據就很麻煩了,數據量太多,一條一條來吧。
battery_level
電量,可以看出電量的變化。比如上圖中的數據顯示剛開始電量是100%,然後在第11秒-12秒中間的某個時刻降到了99%。
plugged
充電狀態,這一欄顯示是否進行了充電,以及充電的時間范圍。例如上圖反映了我們在第22s插入了數據線,然後扒李一直持續了數據採集結束。
screen
屏幕是否點亮,這一點可以考慮到睡眠狀態和點春棗遲亮狀態下電量的使用信息。
top
該欄顯示當前時刻哪個app處於最上層,就是當前手機運行的app,用來判斷某個app對手機電量的影響,這樣也能判斷出該app的耗電量信息。該欄記錄了應用在某一個時刻啟動,以及運行的時間,這對我們比對不同應用對性能的影響有很大的幫助。
wake_lock*
wake_lock 該屬性是記錄wake_lock模塊的工作時間。是否有停止的時候等
running
界面的狀態,主要判斷是否處於idle的狀態。用來判斷無操作狀態下電量的消耗。
wake_lock_in
wake_lock有不同的組件,這個地方記錄在某一個時刻,有哪些部件開始工作,以及工作的時間。
data_conn
數據連接方式的改變,上面的edge是說明採用的gprs的方式連接網路的。此數據可以看出手機是使用2g,3g,4g還是wifi進行數據交換的。這一欄可以看出不同的連接方式對電量使用的影響。
status
電池狀態信息,有充電,放電,未充電,已充滿,未知等不同狀態。
這一欄記錄了電池狀態的改變信息。
phone_signal_strength
手機信號狀態的改變。
這一欄記錄手機信號的強弱變化圖,依次來判斷手機信號對電量的影響。
health
電池健康狀態的信息,這個信息一定程度上反映了這塊電池使用了多長時間。
這一欄記錄電池狀態在何時發生改變,上面的圖中電池狀態一直處於good狀態。
plug
充電方式,usb或者插座,以及顯示連接的時間。
這一欄顯示了不同的充電方式對電量使用的影響。
❼ Android瀏覽器開發中怎麼得到瀏覽器的歷史
<uses-permission android:name="擾返com.android.browser.permission.READ_HISTORY_BOOKMARKS"></uses-permission>
{
String string = null;
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(Uri.parse("content://browser/bookmarks"啟御), new String[]{"url"}, null, null, null);
while (cursor != null && cursor.moveToNext()) {
string = cursor.getString(cursor.getColumnIndex("url"緩旁飢));
Log.d("debug", string == null ? "null":string);
}
❽ Android studio怎麼查看本地變更歷史history
重顫純新檢查下JAVA_HOME,PATH,CLASSPATH。。我安裝茄運咐android Studio的時候悄孫也出現過你這情況,設置好了JAVA_HOME,PATH,CLASSPATH之後就能啟動了