編輯:關於Android編程
之前一直在Android應用層上做工作,最近開始研究Android平台上的東東了,主要是在Android Frameworks層和系統庫層進行研究。以下是我自己的理解,領悟,希望與大家一塊分享。
Android系統架構分為Linux內核驅動、C/C ++框架、Java框架、Java應用程序。
Android應用層:
Android應用程序需要Java框架支持。主要是針對手機用戶的。Android應用層都是由Java代碼寫的,運行在虛擬機中。虛擬機在Android平台中扮演著很重要的角色。虛擬機在執行Java類的過程中,如果Java類需要與C/C++組件溝通時,虛擬機會載入C/C++組件,然後讓Java函數順利的調用到C/C++組件的函數。Java與C/C++能通過標准的JNI界面相互溝通。
注:Java類是在虛擬機上運行的,C/C++不是在虛擬機上執行的。那麼如何加載C/C++組件函數的呢?
答案是:通過System.loadLibrary(*.so的檔案名);入口函數是JNI_OnLoad();
Frameworks框架層(應用框架層):
Java框架就是由C/C++庫包裝成為了一個JNI。簡稱Java Native Interface,即Java本地接口。在應用層和系統庫層之間起了一個橋梁的作用。主要是針對手機開發商。
C/C++框架(系統庫):
具體實現Java框架功能。Java框架中的native方法都是由C/C++來完成的。
Android驅動底層(內核層):
最後驅動硬件完成功能。
系統架構圖如下:
在Android開發過程中,常常會因為感覺Android自帶的Dialog的樣式很丑,項目開發過程中會影響整體效果,會使得開發過程很是憂傷....(話唠時間結束!)本文我
微信裡面有個“附近的人”,相信大家都知道,大概的原理就是調用騰訊地圖的sdk進行定位,然後把個人的定位信息發到微信服務器上進行處理,再把一定范圍內
簡介Container for a tabbed window view. This object holds two children: a set of tab la
簡單的說下反編譯apk的流程:我們一般想要反編譯一個apk,無非就是想獲得三樣東西圖片資源 ,XML資源,和代碼資源一.圖片資源獲取、這個最簡單啦, &nbs