安卓源碼版本號
1. 如何查看ANDROID源碼版本
確認的方法很簡單:
1. 編譯的時候在終端中一開始就會列印出來:
PLATFORM_VERSION:2.3.1
2. 直接去make文件中去看:
build\core\version_defaults.mk //搜索該文件中的 PLATFORM_VERSION值
2. eclipse編譯時怎麼選擇安卓版本
eclipse編譯時選擇安卓版本:
操作步驟如下:
1、選擇新建Android Project項目,點擊Next按鈕,進入如下界面:
該界面選擇運行的AVD,將AVD前面的方框設置為選擇狀態。
3. 安卓系統有幾個版本
Android現在大大小小有十八個版本,分別是:
安卓1.1,安卓1.5,安卓1.6,,安卓2.0,安卓2.1,安卓2.2,安卓 2.3,安卓3.0,安卓3.1,安卓3.2,安卓4.0,安卓4.1,安卓4.2,安卓4.3,安卓4.4,安卓5.0,安卓5.1,安卓6.0。
以下是一些關於Android的發展歷史:
2007年11月5日,Google發布了基於Linux平台的開源移動手機平台 --Android。該平台由操作系統、中間件、用戶界面和應用軟體等組成,號稱是首個為移動終端打造的真正的開放的移動開發平台。
2008年9月22日,美國運營商T-Mobile USA在紐約正式發布第一款Google手機 -- T-Mobile G1。該款手機為中國台灣宏達電代工製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率為7.2Mbit/s,並支持Wi-Fi無限區域網絡。
Google與開放手機聯盟(Open Handset Alliance)合作開發了Android移動開發平台,這個聯盟由摩托羅拉、高通、宏達電和T-Moblie、中國移動等在內的30多家移動通訊領域的領軍企業組成。Google與運營商、設備製造商、開發商和其他第三方結成了深層次的合作夥伴關系,希望通過建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
Android作為Google企業戰略的重要組成部分,將進一步推進「隨時隨地為每個人提供信息」這一企業目標的實現。全球為數眾多的行動電話用戶從未使用過任何基於Android的移動通訊設備,Google的目標是讓移動通訊不依賴於設備甚至平台。處於這個目的,Android將補充而不會代替Google長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發即有用又有吸引力的移動服務,並推廣這些產品。
Android系統在國內的發展主要在於針對Android系統的二次開發上,以Android系統源碼為基礎,再深度定製改版而成的操作系統主要有創新工場投資的點心公司開發的點心操作系統、中國移動的Ophone、聯想的樂Phone、阿里雲手機操作系統及雷軍的小米科技開發的MIUI。
4. android怎麼修改源碼
在Android界面的系統status bar上添加home,back,menu三個菜單,並完成對應的系統功能。並有higlight效果,修改status bar 高度和status bar上的文字尺寸。
這需要修改android sdk才能完成,我用的是eclair.下面就我的操作進行敘述。
1.首先完成界面顯示效果。
需要修改文件
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定義的icon,圖片名稱指定就好了。另外還要記得修改./frameworks/base/core/res/res/values/arrays.xml,這里定義了icon的slot,並且決定了icon的擺放順序。
這樣,你需要的icon按鍵就可以顯示在系統的status bar上面了。
2.判斷touch event是否按動了某個icon
需要修改的文件
./frameworks/base/services/java/com/android/server/status/StatusBarView.java
首先在onTouchEvent函數中,獲取當前event的坐標,然後比較是否在某個按鍵范圍之內。由於系統對於statusBar的范圍已經有了定義,所以這里只需要比較橫坐標就可以了。
其次,也是這一步最關鍵的,怎麼獲取具體某一個icon的左右邊界坐標呢?系統的status bar左邊顯示的圖標都是notification, 右邊顯示的是系統icon. 也就是說左邊icon屬於mNotificationIcons,右邊的icon屬於mStatusIcons. 在文件StatusBarView.java中出現的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左邊的icon的left橫坐標。用N = mStatusIcons.getChildCount()得到共有幾個系統icon,其中包含visibility為false的icons.用mStatusIcons.getChildAt(N-i)得到的是從右邊數第i個的icon view. 這個view的getLeft()+offset就是這第i個icon的左邊橫坐標,對應的getRight()+offset就是這第i個icon的右邊橫坐標。本例中home鍵是右邊第2個icon.
3.定義icon響應事件
這里使用的方法是在StatusBarView.java中向
./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java發送一個Broadcast,讓StatusBarPolicy來完成具體的事件操作。這里需要注意的是不僅要在./frameworks/base/core/java/android/content/Intent.java中定義intent,還要在StatusBarPolicy的構造函數中添加該intent的過濾動作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按動了back鍵,如果當前事件為action_up,就向系統發送一個keyEvent,keyCode為KeyEvent.KEYCODE_BACK. 這里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函數,直接拷貝過來,按照需要稍微修改一下形參就可以了,過程不要修改。
需要說明的是,當點擊statusBar可以拉出來一個notification列表,當這個列表顯示出來的時候,這三個back, menu, home鍵的響應速度會非常慢,所以這時不響應事件並隱藏這三個鍵。具體做法是在StatusBarView的onTouchEvent()中判斷mService.mExpanded或者 mService.mTracking為真時就不做響應。mService是StatusBarService對象。隱藏三個鍵也是用Broadcast來做的,但這個intent是由StatusBarServie發出來的,當mExpandedVisible = false時顯示,當mExpandedVisible = true時隱藏。
這里還同時完成了highlight換圖的動作,也是用Broadcast來做得,處理過程一樣,就是需要區分action_down和action_up就可以了。
4.調整status bar的高度
如果你需要顯示較大的屏幕尺寸,同時statusBar的高度要拉大,上面的icon的size也需要調大。為了協調一致,顯示時間的字體和notification顯示的日期的字體也需要調大。具體做法如下:
a.調節status bar icon的size: 只調節status_bar.xml的textSize標簽似乎不起作用,同時又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);語句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>標簽下的layout_height值是不是必須的,反正我是一起都給改了。
b.調節status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道還需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也給改了。
c.調節notification顯示日期字體的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。
到這里,就完成了所有工作,看看效果吧。
5. 如何查看Android SDK源碼版本
一種辦法是自帶SDK管理工具更新:
另外的辦法就是:
第一步:查看當前工程的SDK版本;
2.打開工程,查找任意一個函數,點擊右鍵,選擇查看源碼.
3.提示找不到java源文件,這里需要手動添加源文件;
4.按圖選擇.這里還沒有source的文件夾..所以..去下載相關平台的SDK的java源碼;
5.打開網址:http //rgruet free fr/public/
根據SDK版本下載對應的源碼,比如2.1的.
6.在SDK平台目錄下,新建一個sources文件夾;
7.把源碼直接解壓到當前文件夾下;
8.再次選擇查到源碼,並選擇sources文件夾;
9.eclipse會自動導入;
10.再次查看函數的源碼,是不是代碼就出來了.
6. 如何查看Android SDK源碼版本
點擊菜單欄Tools-Android-SDK Manager
7. 如何從源碼包中查看Android的版本號
至少有兩個地方可以從android源碼中查看android的版本:
1,如果編譯過的,則會有build.prop文件(find -name build.prop)
從這個文件中可以看出版本。
2,如果未編譯過,build/core/version_defaults.mk中 PLATFORM_SDK_VERSION := 4.2.28. 誰有Android系統的源碼
1、通過 ubuntu 軟體中心安裝 wine;
2、通過 ubuntu 軟體中心安裝 winetricks;
3、通過 winetricks 在 shell中輸入: winetricks mfc42
1、通過 wine windows 的方式啟動代理伺服器
2、設置瀏覽器代理伺服器
3、設置shell代理伺服器:
在shell中輸入 sudo gedit /etc/bash.bashrc
在文件 /etc/bash.bashrc 中添加:如下內容
export http_proxy=http://127.0.0.1:8580/export https_proxy=http://127.0.0.1:8580/
通過shell安裝如下的組件:
1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
2、新建一個存放源碼的目錄,如:mkdir ~/andorid/source
3、在源碼目錄中輸入命令:repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
其中: android-4.0.1_r1是android源碼的版本,更多的版本可以通過下面的方式查詢:http://source.android.com/source/build-numbers.html
4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值為:
git://Android.git.linaro.org/
通過如下的指令來設置郵箱和用戶名
git config --global user.name "<your name>" ----修改用戶名git config --global user.email "<your email>" ----修改email
5、在source目錄下輸入指令:repo sync
便開始了代碼的下載9. 如何定製android源碼的編譯選項 amp;後期安裝
Android編譯過程比較長,配置起來也很麻煩。現僅就工作遇到的問題做個總結。所用硬體平台為amlogic stvm3。
關於版本號:文件build/core/version_defaults.mk用來檢查一些跟版本相關的變數是否定義;如果未定義,則使用默認值。這些變數包括 PLATFORM_VERSION # 如 2.2.5 PLATFORM_SDK_VERSION # 8, 對應2.2.5PLATFORM_VERSION_CODENAME # REL,即發行版DEFAULT_APP_TARGET_SDK # 同SDK_VERSION或VERSION_CODENAME BUILD_ID # 默認為UNKNOWN BUILD_NUMBER # 默認eng.$(USER).$(shell date +%Y%m%d.%H%M%S)的形式。 version_defaults.mk首先包含進build_id.mk。用戶應當配置build_id.mk,而不應該改動version_defaults.mk文件。然後檢查上述變數,如未定義則賦值默認值。
關於調試功能(adb)的開啟編譯android源碼之前總是要先運行build/envsetup.sh,以初始化一些常用命令(實際上是bash的函數,如add_lunch_combo)。其中也從以下文件中引入了一些編譯設置: device/${CHIPSET_VENDOR}/vendorsetup.sh我們這里使用的CHIPSET_VENDOR為amlogic。比如我們有文件device/amlogic/vendorsetup.sh,內容為"產品名-編譯類型(flavor)"列表(稱為combo),如下: add_lunch_combo m1ref-eng add_lunch_combo m1ref-user add_lunch_combo m2ref-eng add_lunch_combo m2ref-user add_lunch_combo stvm3-eng add_lunch_combo stvm3-user其中,m1ref和stvm3是產品名(作前綴),後面為編譯類型。除此前綴外可選的combo值有: eng, user, userdebug, tests。(參考文件build/core/main.mk中對於變數TARGET_BUILD_VARIANT的篩查條件)我們可以修改vendorsetup.sh文件,來改變為特定設備編譯的結果。以下是各個編譯類型的特點: eng: 工程模式,用於平台級的調試,是默認的編譯類型。
待安裝的模塊tag有: eng, debug, user, development. 安裝不帶tag的非APK模塊; 所安裝應用由產品定義文件給出; 默認屬性: ro.secure=0, ro.deuggable=1, ro.kernel.android.checkjni=1 adbd默認開啟,adb以root身份運行。 user: 即最終用戶版; 待安裝的應用tag有: user 安裝不帶tag的非APK模塊; 所安裝應用由產品定義文件給出; 默認屬性有ro.secure=1, ro.debuggable=0; 默認關閉adbd服務(但可通過應用settings來打開,且adb以shell身份運行); userdebug: 與user類似,除了: 支持有限的調試功能; 待安裝的應用tag有:debug;