您好,登錄后才能下訂單哦!
作為一個有Java基礎的開發者來說,初步學習Android開發是很容易的一件事情,我身邊就有同學是學java的,由于對Android開發感興趣,就開始學習它,不到一個月的時間就做出了一款簡單實用的小應用軟件。可能會有好多人會問那專門搞Android開發的人和“半路進來”的人有哪些差距那?這里我想說的是,會做Android應用的人,并不一定代表他很懂Android,Android系統之所以作為當前世面上主流的智能手機系統,除了開源外,還有它自身系統的優勢(博客:http://smallwoniu.blog.51cto.com/blog/3911954/1248169)想要徹底掌握Android應用層開發也不是那么容易的。
今天我就總結了一些Android開發中的瑣碎細節,希望能幫助到大家!
一。ADB(Android Debug Bridge)
打開我們的android中sdk/platform-tools文件夾,里面存放著許多android開發過程中所需要的系統工具。
adb.exe
介紹:起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。
說明:借助adb工具,我們可以管理設備或手機模擬器的狀態。還可以進行很多手機操作,如安裝軟件、系統升級、運行shell命令等等。其實簡而言說,adb就是連接Android手機與PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作(獲取手機數據)
常用adb命令:
adb devices 列出所有的連接設備 (DDMS左側的窗口)
reset adb 重啟adb的調試橋
adb kill-server 殺死adb調試橋
adb start-server 啟動adb調試橋
adb install helloworld.apk 安裝命令
(找到apk后可以直接將其拖入dos窗口即可,省的手動拷路徑)
adb uninstall com.zhf.helloworld 卸載命令
adb shell 來到手機終端 執行linux命令
adb -s emulator-5554 install helloworld.apk 往指定設備安裝
注:重啟不了情況:端口可能被占用,在命令行中敲 netstat -ano, 查看端口號命令),這里我們就知道了像豌豆莢,360手機助手等軟件都有自己的adb,每當有手機連接電腦時會執行自己adb.exe,來對手機進行一系列的操作。
二。andriod和java虛擬機的區別
區別 | JVM | Dalvik JVM |
編譯后的文件格式 | .java->.class->.jar | .java->.class->.dex->.odex |
編譯程序 | jdk中javac.exe | sdk 中dex.exe |
基于的架構 | 基于棧的結構 | 基于寄存器的結構 |
注:jar效率低,但通用性強,非智能手機也能玩,而APK是android的專屬安裝文件,非android的手機就不能運行,效率高,一般有apk的優先要apk格式的
上面這張結構圖我們可以清晰的知道,二者的執行過程:
.jar--->包含許多.class文件,內部執行javac.exe編譯過程是把每個單獨的.java文件轉換成.class文件(包括Header、Class、Filed、Method、Attributes等)統一遍歷一遍所需時間較長,執行安裝程序速度慢(windows上setup.exe安裝過程就是解壓文件到電腦硬盤上)
.apk--->只含有一個.dex文件,內部執行dx.bat將所有class文件中的Header、Class、Filed、Method、Attributes 等統一分類放在一起,轉換成.dex文件,效率較高。
三。android應用程序的安裝過程
首先,我們看一下工程下面的bin文件夾
里面包含了我們最后生成的apk文件,所有的res的資源,以及重要的classes.dex
這張圖清晰的反映了我們的Android項目打包、安裝過程:
打包:首先通過javac.exe將.java文件轉換成.class文件,之后通過dx.bat將其轉換成classes.dex文件,最后就是將其和整個項目對應的文件夾打成.apk安裝包
安裝:首先是對應用程序的簽名,之后先將apk復制到手機上,其次是在手機上對apk的解壓縮過程
四、啟動應用程序
我們雙擊apk文件,如果電腦裝了豌豆莢,就會自動關聯豌豆莢將軟件撞到手機上,這是為什么那?
原因就是類似于我們在Windows上雙擊.txt文件會打開記事本程序,是因為我們在系統盤的注冊表上注冊了該應用程序所關聯的文件類型,那么我們在手機上打開應用程序,首先我們打開Android系統的注冊表文件:
打開DDMS下的File Explore選項,會列出手機的所有文件信息,在/data目錄下system系統目錄下netstats文件夾下有兩個目錄
packages.xml : android系統的注冊表(每安裝一個應用程序都會在此寫上配置信息,上以后要是加載這個程序,會首先去讀取這個注冊表加載到內存中獲取其數據)
packages.list : 所有應用程序的包列表 和 對應數據的目錄
五、模擬器
我們創建好的一個模擬器啟動后(相當一個應用程序啟動),會在C盤用戶目錄下.android/avd下生成一個文件夾目錄
以上這些都是作為一個Android應用開發者你應該知道的一些東西,因為本人也是在學習Android,邊學邊總結,有遺漏或者有誤的地方還請指正,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。