您好,登錄后才能下訂單哦!
1.1G-4G的介紹
Generation(一代)
WAP(wait and pay)
Wireless Markup Language(WML)精簡版的html語言
1.Android操作系統介紹
2.Android歷史介紹
3.Android系統架構(重點)
第一層:應用層Application
第二層:應用框架層ApplicationFramework(中間件)
第三層:Android底層類庫層Libraries、Dalvik虛擬機
第四層:linux內核層 linux kernel(安全管理、內存管理、進程管理、電源管理、硬件驅動)
Android試運行在Linux內核基礎之上的。
4.手機設備的軟件棧,包括
一個完整的操作系統
中間件
關鍵的應用程序
5.兩種虛擬機的不同 (重點)
1)、架構不同:JVM使用棧架構;Dalvik使用的是寄存器,數據是加載到CUP的寄存器上的。
2)、JVM加載的.class文件,Dalvik加載的是.dex文件,對內存的分配情況做了優化。
1.可以在里面管理SDK版本的下載和卸載。(SDK下載到platform文件夾中)
2.ADT(AndroidDeveloper Tools)是eclipse的一個插件
3.
1)下載的包中有:
Eclipse+ADT plugin --- ADT的插件;
Android SDK Tools --- 安卓的SDK工具
Android Platform-Tools --- 安卓最新的平臺工具
The latest Android platform --- 安卓最新的平臺
The latest Android System p_w_picpath for Theemulator --- 最新的模擬器的視圖對象
2)解壓后,里面有三個文件和一個執行程序。
Eclipse 文件夾是開發時用到的工具。
sdk 文件夾是開發時用到的工具集。
SDK Manager.exe SDK的管理器
4.
注意:SDK Manage中Tools選項有options選項,打開,將others選項卡中的第一個選項勾上,勾上后,資源會采用http的形式下載下來,下載不會被墻,不會中斷。
5.Android 版本與API等級對應關系及SDKManager介紹
1)Android 版本與API等級對應關系
Platform API Level
Android2.2 8
Android2.3.3 10
Android4.0 14
Android4.1.2 16
注:推薦在android2.2、2.3、4.1平臺上開發,穩定。
2)SDKManager介紹
【開發中需要開發哪個平臺的產品,就要將對應的平臺文件下載下來。下載完之后,該文件夾會在SDK文件夾下的platform文件夾中。】
每個安卓版本下具體文件的介紹:
SDKPlatform -- 開發所需要的平臺(重要),開發時所使用的jar包
Samplesfor SDK -- SDK的示例代碼【示例代碼下載之后放在SDK文件夾中的samples 文件夾中,里面是根據Android版本號分文件夾的。】
ARM EABI v7a System Image -- 用于創建基于ARM處理器的模擬器的鏡像
Intelx86 Atom System Image -- 用于創建基于x86處理器的模擬器的鏡像
MIPSSystem Image -- 開源的處理器架構(用的不多)鏡像
GoogleAPIs -- 開發中要用到地圖,就需要下載這個架包,下載之后可以操作Google 地圖了。
Sourcesfor Android SDK -- SDK的全部的源代碼,方便調試,觀察系統是怎么實現 【會放在SDK文件夾中的sources文件夾中的Android版本的文件夾中】
Extras -- 額外的工具
AndroidSupport Library -- 支持的庫(可以使低版本支持高版本),API的向下兼容, 開發項目時會用到
GoogleAdMob Ads SDK -- 用于在已完成的程序中加入廣告
GoogleAnalytics App Tracking SDK -- 用于分析程序的,發布到網上之后,可以通過 這個區跟蹤。
GoogleCloud Messaging for Android Library -- 用于消息推送
GooglePlay services -- 程序寫完后想要發到Google上,要用到的架包
GooglePlay APK Exception Library --
GooglePlay Billing Library --
GooglePlay Licensing Library --
GoogleUSB Driver -- 是手機的驅動。
GoogleWeb Driver -- 是web攝像頭用到的驅動
Intelx86 Bmulator Accelerator(HAXM)-- Intel公司提供的一個加速器的工具
【使用:找到“模擬器的 加速器”文件夾,打開里面的執行文件即可,本機 的處理器要I3以上】
1.模擬器尺寸創建背景
VGA 480* 640
QVGA 240*320
HVGA 320*480
WQVGA 240*400
FWVGA 480*854
WVGA 480*800
注:模擬器越大,計算越復雜,消耗的資源越多。
2.AVD的創建(AVD: Android virtual Device 安卓虛擬設備)
1)兩個選項卡,一個是AVD,下面顯示,AVD創建設備產生文件的存放目錄
另一個是DeviceDefinitions(已定義好的設備)
2)創建模擬器界面的每項的意思:
AVD name:模擬器名稱;
Device:屏幕分辨率;
Target:平臺版本號;
CPU/ABI:CUP(處理器)的類型
KeyBoard:創建的時候是否顯示鍵盤;
Skin:在創建的時候,是否顯示鍵盤上面的皮膚
Front Camera:
Back Canera:控制模擬器的攝像頭,Webcam0-->自動加載電腦的攝像頭
Memory Options:RAM-->模擬器的內存大小
Internal Storage:模擬器的硬盤有多大;
SD Card:外部設備的大小(不要貪多,是在硬盤上創建同樣大小的文件作為sd卡)
Emulation Options:Snapshot-->相當于windows-7的睡眠狀態,即關機之后,下次開機的時候,這些操作還在,不建議勾選容易造成問題
UseHost GPU-->如果電腦是獨立顯卡,可以使畫面流暢,如果是集成顯卡的,容易造成畫面變花
注意:1.模擬器與電腦的鏈接其實用的是adb.exe調試橋(協議通信)
2.模擬器左上角的數字,其實是模擬器的端口號,也是模擬器的電話號(模擬器不支持中文)
3.小技巧:ctrl + F11 橫豎屏的切換
3.創建模擬器常見錯誤:
1)、invalidcommand-line parameter:
錯誤的非法的路徑,代表安裝的路徑有中文。添加“Android_SDK_HOME”環境變量,指向Android的SDK目錄。然后重啟AVD-->模擬器
2)、模擬器啟動后,無法保存數據
原因:電腦意外關機或者模擬器非法關閉。
正常情況下模擬器被開啟后,會在“Documents and Settings\Administrator\.android\avd\**.avd”的目錄下產生:cashe.img.lock 、hardware-qemu.ini.lock、sdcard.img.lock、userdata-qemu.img.lock這樣的文件夾,用來標記當前模擬器設備已經開啟。當模擬 器關閉時,會自動刪除這些文件夾。
【注:如果電腦意外重啟或模擬器無法關閉,這幾個文件是不會被自動刪除的,系統Android模擬器還處于打開狀態,新開啟的模擬器就無法保 存數據了。這個時候需要手動刪除這些文件夾】這些文件時用來標示這些徑向文件被那個模擬器使用了
文件夾cashe.img.lock中的pid文件這個文件打開之后,里面保存的是進程里面的某個pid值,即為進程id。當開啟兩個相同的模擬器時,會造成 某些安裝的軟件沒有保存。
3)、“尚未注冊網絡”錯誤信息的解決方案
a:電腦沒有連接互聯網,同時也沒有局域網;網上鄰居-->屬性-->本地連接-->屬性:設置TCP/IP:
IP地址:192.168.1.100
子網掩碼:255.255.255.0;
默認網關:192.168.1.100
b:沒有連接互聯網,但是有局域網;
IP地址:設置成你所在的局域網的IP;
子網掩碼:設置成你所在局域網的掩碼;
默認網關:設置成你所在局域網的網關;
首選DNS服務器:設置成你所在的局域網的路由器IP
1.釋義:DDMS:DeviceDefinition Motion Service
2.DDMS位置
如果eclipse右上角默認沒有這個條目,那么在這個位置附近有個類似田字格似的小方塊,點擊,選other,會出現一個列表,內有DDMS,選中,按OK,即可。
3.DDMS界面
1)上圖1處為Devices界面,顯示當前eclipse所連接的設備
2)上圖2處的界面中有幾個選項卡
Threads為了調試方便,檢測一個進程中的線程
Heap 是觀察應用程序的堆棧信息的
FileExplorer 列出當前選中的Android設備的文件目錄結構
EmulatorControl 對當前所選中的Android設備進行模擬操作,這其中也有幾個選項
TelephonyStatus:電話狀態,示例:Speed代表手機網絡信號的速度變化。
Telephony Actions:電話動作 ,可以向模擬器打電話、發短信
示例:Call 是向模擬器打電話
Hangup 是讓模擬器主動掛斷電話
LocationControls
Longitude(經度),latitude(緯度)
add-ans: 擴展的插件,附加的信息
docs: 幫助文檔,經常用
extras: 附加的目錄,支持的jar包
platforms: 平臺目錄
platform-tools:開發時用到的工具。包含
adb.exe【Androiddebug bridge:安卓的調試橋,用于調試程序】、
aapt.exe【applicationpackage tools:安卓程序打包工具,完成的程序要打包成一 個.apk的文件】
dx.bat【將.class的字節碼文件轉換成.dex字節碼文件,因為Android里面執行的 是.dex字節碼文件】
samples: 示例代碼
sources: 源代碼目錄
system-p_w_picpaths:鏡像目錄
temp: 緩存文件
tools:新建的模擬器一般都放在該文件夾下,里面還包含一些工具:mksdcard.exe-->創 建一個sd卡,就是模擬器運行需要一個sd卡,這個就是在硬盤擬sd卡。【放的 是與模擬器相關的一些工具】
1.adb: Android debug bridge:安卓的調試橋,用于調試程序
2.常見命令:
adbdevices 列出所有的設備
可以列出包括真機的android設備,如果真機沒有顯示出來,檢查兩個地方: 真機的驅動是否安裝和USB調試是否打開
adbshell掛載到linux的空間 遠程的訪問到了模擬器終端
#ls列出手機文件目錄
#ps列出手機運行的進程
#ping
adbkill-server殺死服務
adbstart-server 開啟服務
如果不想敲這條命令,可以先敲adb devices,系統會自動開啟服務,再檢索
adb install xxx.apk 安裝應用,敲完install可以把安裝包直接拖拽到命令行窗口。
如果有多個設備,我們可以指定設備
adbinstall –s emulator-5554 D:/xxx.apk
否則會報錯:error:morethan one device and emulator
adb uninstall com.itheima.helloworld(程序包名稱,而不是顯示給用戶的名稱)
adbpull <remote> <local>把手機內文件復制到電腦 最先在命令行中進入到你想到復制到哪的目錄下再執行這條語句先手機的文件(不用加路徑,直接文件名加擴展名)后復制過來的文件名(也不用加路徑,直接文件名加擴展名)
adbpush <local> <remote>把電腦中文件復制到手機 最先在命令行中進入到你所想要復制文件的目錄下再執行這條語句 先電腦的文件(不用加路徑,直接文件名加擴展名) 后復制過來的路徑(根目錄/加上父目錄)加文件名(文件名加擴展名)
androidcreate avd –nameandroid2.2 –target 8 創建模擬器
emulator–avd advname 啟動模擬器 例如:emulator –avd 2.2 (2.2為我們創建設備名稱)
mksdcard20m d:/sdcard.img創建sdcard
3.問題及解決
1)adb是用socket寫的。而socket本身不穩定,這樣當網絡出現了問題,或者端口被占用掉,adb就會掛掉, socket也就綁定失敗了。
解決方式1:
在DDMS中,左側設備這邊有個倒三角小箭頭,點開,列表中有個選項:Reset adb.作用是將adb殺死,再重啟。
解決方式2:
其實DDMS所做的原理是這樣的,我們也可以直接這樣做:
在命令行里輸入:adb kill-server
這時我們在使用模擬器時會報這樣的錯誤:
Adbconnection Error 遠程主機強迫關閉了一個現有的連接
我們需要在命令行輸入:adb start-server 服務就會重啟。
但是如果服務沒有啟動,說明adb.exe進程可能無響應,在任務管理器中,進程選項卡中,找到adb.exe的進程,結束該進程。
如果發現進程結束不了,出現:can’t find 5037的錯誤,說明有應用軟件,將5037這個端口號占用,在命令行中輸入:netstat -ano列出當前端口號占用情況
這其中,外部地址為:端口號可以通過查找端口號為5037lai 查看是哪個PID,再在進程管理器中通過PID,來查看是哪個應用占用,結束應用,如果是eclipse占用,屬于正常。
2)360,豌豆莢等第三方手機助手應用會內置adb,eclipse也會內置有adb,這樣當他們同時運行時會造成不同的adb之間搶占同一端口,致使adb不穩定影響我們開發.只需關閉停止這些第三方手機助手的應用和服務即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。