溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

發(fā)布時間:2020-07-09 01:23:12 來源:網(wǎng)絡(luò) 閱讀:329 作者:devwafer 欄目:移動開發(fā)

 

 

一背景知識

1.1G-4G的介紹

Generation(一代)

WAP(wait and pay)

Wireless Markup Language(WML)精簡版的html語言

.Android概述

1.Android操作系統(tǒng)介紹

 

2.Android歷史介紹

 

3.Android系統(tǒng)架構(gòu)(重點)

            第一層:應(yīng)用層Application

            第二層:應(yīng)用框架層ApplicationFramework(中間件)

            第三層:Android底層類庫層LibrariesDalvik虛擬機

第四層:linux內(nèi)核層 linux kernel(安全管理、內(nèi)存管理、進程管理、電源管理、硬件驅(qū)動)

           Android試運行在Linux內(nèi)核基礎(chǔ)之上的。

4.手機設(shè)備的軟件棧,包括

一個完整的操作系統(tǒng)

中間件

關(guān)鍵的應(yīng)用程序           

 

5.兩種虛擬機的不同 (重點)

         1)、架構(gòu)不同:JVM使用棧架構(gòu);Dalvik使用的是寄存器,數(shù)據(jù)是加載到CUP的寄存器上的。

         2)、JVM加載的.class文件,Dalvik加載的是.dex文件,對內(nèi)存的分配情況做了優(yōu)化。


.Android開發(fā)環(huán)境搭建和開發(fā)工具使用介紹
().SDKManger的使用

         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)解壓后,里面有三個文件和一個執(zhí)行程序。

         Eclipse                                  文件夾是開發(fā)時用到的工具。

         sdk                                        文件夾是開發(fā)時用到的工具集。

         SDK Manager.exe             SDK的管理器

 

4.

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

 

 

         注意:SDK ManageTools選項有options選項,打開,將others選項卡中的第一個選項勾上,勾上后,資源會采用http的形式下載下來,下載不會被墻,不會中斷。

5.Android 版本與API等級對應(yīng)關(guān)系及SDKManager介紹

1Android 版本與API等級對應(yīng)關(guān)系

         Platform            API Level

   Android2.2              8

   Android2.3.3            10

   Android4.0              14

   Android4.1.2            16

注:推薦在android2.2、2.3、4.1平臺上開發(fā),穩(wěn)定。

2SDKManager介紹

         【開發(fā)中需要開發(fā)哪個平臺的產(chǎn)品,就要將對應(yīng)的平臺文件下載下來。下載完之后,該文件夾會在SDK文件夾下的platform文件夾中?!?/span>

每個安卓版本下具體文件的介紹:

         SDKPlatform -- 開發(fā)所需要的平臺(重要),開發(fā)時所使用的jar

         Samplesfor SDK -- SDK的示例代碼【示例代碼下載之后放在SDK文件夾中的samples                                   文件夾中,里面是根據(jù)Android版本號分文件夾的?!?/span>

         ARM EABI v7a System Image -- 用于創(chuàng)建基于ARM處理器的模擬器的鏡像

         Intelx86 Atom System Image -- 用于創(chuàng)建基于x86處理器的模擬器的鏡像

         MIPSSystem Image -- 開源的處理器架構(gòu)(用的不多)鏡像

         GoogleAPIs -- 開發(fā)中要用到地圖,就需要下載這個架包,下載之后可以操作Google                          地圖了。

         Sourcesfor Android SDK -- SDK的全部的源代碼,方便調(diào)試,觀察系統(tǒng)是怎么實現(xiàn)                                【會放在SDK文件夾中的sources文件夾中的Android版本的文件夾中】

Extras -- 額外的工具

         AndroidSupport Library -- 支持的庫(可以使低版本支持高版本),API的向下兼容,                         開發(fā)項目時會用到

         GoogleAdMob Ads SDK -- 用于在已完成的程序中加入廣告

         GoogleAnalytics App Tracking SDK -- 用于分析程序的,發(fā)布到網(wǎng)上之后,可以通過                            這個區(qū)跟蹤。

         GoogleCloud Messaging for Android Library -- 用于消息推送

         GooglePlay services -- 程序?qū)懲旰笙胍l(fā)到Google上,要用到的架包

         GooglePlay APK Exception Library --

         GooglePlay Billing Library --

         GooglePlay Licensing Library --

         GoogleUSB Driver -- 是手機的驅(qū)動。

         GoogleWeb Driver -- web攝像頭用到的驅(qū)動

         Intelx86 Bmulator AcceleratorHAXM-- Intel公司提供的一個加速器的工具

                   【使用:找到“模擬器的 加速器”文件夾,打開里面的執(zhí)行文件即可,本機                     的處理器要I3以上】

 ().模擬器的簡介及創(chuàng)建

       1.模擬器尺寸創(chuàng)建背景

           VGA 480* 640

           QVGA 240*320

           HVGA 320*480

           WQVGA 240*400

           FWVGA 480*854

           WVGA 480*800

         注:模擬器越大,計算越復雜,消耗的資源越多。

 

2.AVD的創(chuàng)建(AVD: Android virtual Device 安卓虛擬設(shè)備)

         1)兩個選項卡,一個是AVD,下面顯示,AVD創(chuàng)建設(shè)備產(chǎn)生文件的存放目錄

                   另一個是DeviceDefinitions(已定義好的設(shè)備)

 

         2)創(chuàng)建模擬器界面的每項的意思:

         AVD name:模擬器名稱;

         Device:屏幕分辨率;

         Target:平臺版本號;

         CPU/ABICUP(處理器)的類型

         KeyBoard:創(chuàng)建的時候是否顯示鍵盤;

         Skin:在創(chuàng)建的時候,是否顯示鍵盤上面的皮膚

         Front Camera

         Back Canera:控制模擬器的攝像頭,Webcam0-->自動加載電腦的攝像頭

         Memory OptionsRAM-->模擬器的內(nèi)存大小

         Internal Storage:模擬器的硬盤有多大;

         SD Card:外部設(shè)備的大小(不要貪多,是在硬盤上創(chuàng)建同樣大小的文件作為sd)

         Emulation OptionsSnapshot-->相當于windows-7的睡眠狀態(tài),即關(guān)機之后,下次開機的時候,這些操作還在,不建議勾選容易造成問題

                               UseHost GPU-->如果電腦是獨立顯卡,可以使畫面流暢,如果是集成顯卡的,容易造成畫面變花

 

 

注意:1.模擬器與電腦的鏈接其實用的是adb.exe調(diào)試橋(協(xié)議通信)

           2.模擬器左上角的數(shù)字,其實是模擬器的端口號,也是模擬器的電話號(模擬器不支持中文)

           3.小技巧:ctrl + F11 橫豎屏的切換

3.創(chuàng)建模擬器常見錯誤:

         1)、invalidcommand-line parameter:

         錯誤的非法的路徑,代表安裝的路徑有中文。添加“Android_SDK_HOME”環(huán)境變量,指向AndroidSDK目錄。然后重啟AVD-->模擬器

         2)、模擬器啟動后,無法保存數(shù)據(jù)

         原因:電腦意外關(guān)機或者模擬器非法關(guān)閉。

                   正常情況下模擬器被開啟后,會在“Documents and Settings\Administrator\.android\avd\**.avd”的目錄下產(chǎn)生:cashe.img.lock                            hardware-qemu.ini.lock、sdcard.img.lock、userdata-qemu.img.lock這樣的文件夾,用來標記當前模擬器設(shè)備已經(jīng)開啟。當模擬                   器關(guān)閉時,會自動刪除這些文件夾。

         【注:如果電腦意外重啟或模擬器無法關(guān)閉,這幾個文件是不會被自動刪除的,系統(tǒng)Android模擬器還處于打開狀態(tài),新開啟的模擬器就無法保                   存數(shù)據(jù)了。這個時候需要手動刪除這些文件夾】這些文件時用來標示這些徑向文件被那個模擬器使用了

         文件夾cashe.img.lock中的pid文件這個文件打開之后,里面保存的是進程里面的某個pid值,即為進程id。當開啟兩個相同的模擬器時,會造成                   某些安裝的軟件沒有保存。

         3)、“尚未注冊網(wǎng)絡(luò)”錯誤信息的解決方案

                   a:電腦沒有連接互聯(lián)網(wǎng),同時也沒有局域網(wǎng);網(wǎng)上鄰居-->屬性-->本地連接-->屬性:設(shè)置TCP/IP:

                            IP地址:192.168.1.100

                            子網(wǎng)掩碼:255.255.255.0;

                            默認網(wǎng)關(guān):192.168.1.100

                            首選DNS服務(wù)器192.168.1.100

                   b:沒有連接互聯(lián)網(wǎng),但是有局域網(wǎng);

                            IP地址:設(shè)置成你所在的局域網(wǎng)的IP;

                            子網(wǎng)掩碼:設(shè)置成你所在局域網(wǎng)的掩碼;

                            默認網(wǎng)關(guān):設(shè)置成你所在局域網(wǎng)的網(wǎng)關(guān);

                            首選DNS服務(wù)器:設(shè)置成你所在的局域網(wǎng)的路由器IP

(三).DDMS介紹

1.釋義:DDMSDeviceDefinition Motion Service

2.DDMS位置

         如果eclipse右上角默認沒有這個條目,那么在這個位置附近有個類似田字格似的小方塊,點擊,選other,會出現(xiàn)一個列表,內(nèi)有DDMS,選中,按OK,即可。

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

 

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

3.DDMS界面

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

 

1)上圖1處為Devices界面,顯示當前eclipse所連接的設(shè)備

2)上圖2處的界面中有幾個選項卡

Threads為了調(diào)試方便,檢測一個進程中的線程

Heap   是觀察應(yīng)用程序的堆棧信息的

FileExplorer   列出當前選中的Android設(shè)備的文件目錄結(jié)構(gòu)

EmulatorControl    對當前所選中的Android設(shè)備進行模擬操作,這其中也有幾個選項

     TelephonyStatus:電話狀態(tài),示例:Speed代表手機網(wǎng)絡(luò)信號的速度變化。       

          Telephony Actions:電話動作 ,可以向模擬器打電話、發(fā)短信

              示例:Call 是向模擬器打電話

                            Hangup 是讓模擬器主動掛斷電話

     LocationControls

                            Longitude(經(jīng)度),latitude(緯度)

 

 

()SDK目錄介紹

         add-ans  擴展的插件,附加的信息

         docs     幫助文檔,經(jīng)常用

         extras    附加的目錄,支持的jar

         platforms 平臺目錄

         platform-tools:開發(fā)時用到的工具。包含

                   adb.exeAndroiddebug bridge:安卓的調(diào)試橋,用于調(diào)試程序】、

                   aapt.exeapplicationpackage tools:安卓程序打包工具,完成的程序要打包成一                                           .apk的文件】

       dx.bat【將.class的字節(jié)碼文件轉(zhuǎn)換成.dex字節(jié)碼文件,因為Android里面執(zhí)行的                                            .dex字節(jié)碼文件】

         samples   示例代碼

         sources    源代碼目錄

         system-p_w_picpaths:鏡像目錄

         temp        緩存文件

         tools:新建的模擬器一般都放在該文件夾下,里面還包含一些工具:mksdcard.exe-->創(chuàng)                   建一個sd,就是模擬器運行需要一個sd卡,這個就是在硬盤擬sd卡?!痉诺?/span>                                是與模擬器相關(guān)的一些工具】

()adb常見命令及相關(guān)問題

1.adb: Android debug bridge:安卓的調(diào)試橋,用于調(diào)試程序

2.常見命令:

adbdevices  列出所有的設(shè)備

                            可以列出包括真機的android設(shè)備,如果真機沒有顯示出來,檢查兩個地方:                     真機的驅(qū)動是否安裝和USB調(diào)試是否打開

adbshell掛載到linux的空間  遠程的訪問到了模擬器終端

                   #ls列出手機文件目錄

                   #ps列出手機運行的進程

                   #ping

adbkill-server殺死服務(wù)

adbstart-server 開啟服務(wù)

                            如果不想敲這條命令,可以先敲adb devices,系統(tǒng)會自動開啟服務(wù),再檢索

adb  install xxx.apk  安裝應(yīng)用,敲完install可以把安裝包直接拖拽到命令行窗口。

                            如果有多個設(shè)備,我們可以指定設(shè)備  

adbinstall s  emulator-5554 D:/xxx.apk    

                            否則會報錯:error:morethan one device and emulator

adb  uninstall  com.itheima.helloworld(程序包名稱,而不是顯示給用戶的名稱)

adbpull <remote> <local>把手機內(nèi)文件復制到電腦  最先在命令行中進入到你想到復制到哪的目錄下再執(zhí)行這條語句先手機的文件(不用加路徑,直接文件名加擴展名)后復制過來的文件名(也不用加路徑,直接文件名加擴展名)

adbpush <local> <remote>把電腦中文件復制到手機 最先在命令行中進入到你所想要復制文件的目錄下再執(zhí)行這條語句 先電腦的文件(不用加路徑,直接文件名加擴展名) 后復制過來的路徑(根目錄/加上父目錄)加文件名(文件名加擴展名)

 

androidcreate avd nameandroid2.2 target 8  創(chuàng)建模擬器

emulatoravd advname  啟動模擬器 例如:emulator avd 2.2 (2.2為我們創(chuàng)建設(shè)備名稱)

mksdcard20m d:/sdcard.img創(chuàng)建sdcard

 

3.問題及解決

1adb是用socket寫的。而socket本身不穩(wěn)定,這樣當網(wǎng)絡(luò)出現(xiàn)了問題,或者端口被占用掉,adb就會掛掉, socket也就綁定失敗了。

解決方式1

DDMS中,左側(cè)設(shè)備這邊有個倒三角小箭頭,點開,列表中有個選項:Reset adb.作用是將adb殺死,再重啟。

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

解決方式2

其實DDMS所做的原理是這樣的,我們也可以直接這樣做:

在命令行里輸入:adb kill-server

     這時我們在使用模擬器時會報這樣的錯誤:

         Adbconnection Error  遠程主機強迫關(guān)閉了一個現(xiàn)有的連接

我們需要在命令行輸入:adb start-server  服務(wù)就會重啟。

但是如果服務(wù)沒有啟動,說明adb.exe進程可能無響應(yīng),在任務(wù)管理器中,進程選項卡中,找到adb.exe的進程,結(jié)束該進程。

如果發(fā)現(xiàn)進程結(jié)束不了,出現(xiàn):can’t find 5037的錯誤,說明有應(yīng)用軟件,將5037這個端口號占用,在命令行中輸入:netstat  -ano列出當前端口號占用情況

Android筆記1——開發(fā)前奏1開發(fā)環(huán)境搭建和開發(fā)工具使用介紹

 

這其中,外部地址為:端口號可以通過查找端口號為5037lai 查看是哪個PID,再在進程管理器中通過PID,來查看是哪個應(yīng)用占用,結(jié)束應(yīng)用,如果是eclipse占用,屬于正常。

 

2360,豌豆莢等第三方手機助手應(yīng)用會內(nèi)置adb,eclipse也會內(nèi)置有adb,這樣當他們同時運行時會造成不同的adb之間搶占同一端口,致使adb不穩(wěn)定影響我們開發(fā).只需關(guān)閉停止這些第三方手機助手的應(yīng)用和服務(wù)即可。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI