2018年8月7日-凌晨1點,谷歌發佈了Android 9.0操做系統,它的名字是Android 9,被命名爲Android Pie。讓咱們看看關於Android 9派你須要知道的一切。android
大綱以下:git
一、App Actions
github
這個特性推薦使用AI進行操做。AI會嘗試找出你接下來要作什麼,以及你接下來須要什麼,當你啓動app抽屜時,它會告訴你。根據你的當前地理位置、一天中的某個時間段,甚至是你鏈接耳機的時候,向你推薦一些東西。還有位於應用程序抽屜中的快捷鍵能夠預測你將要作什麼,這樣你就能夠更快地完成你在手機上要作的事情。例如,若是你一般打開應用程序面板,而後打開手機應用程序,而後給你的好朋友打電話。在Android Pie上,你最終會看到打開這個應用程序後,就開始建議你給好友電話。 後端
二、App slices
數組
slice爲你提供了應用的一部分,Android系統認爲這是你在尋找某個應用時須要的功能。例如,若是你在搜索中輸入「Hawaii」,一個應用程序切片可能會建議你在谷歌photos應用中查看你最近的夏威夷度假照片。好比你要打車,Slices能夠作到這一點,搜索「Lyft」,你就會看到一個能給你提供價格和時間,你能夠用來完成預定服務。安全
三、New gesture navigation(新的手勢導航欄)
bash
在跟隨時代潮流下,Google一貫推崇於Cool的東西,即將推出的谷歌像素或Android One系列的Android手機,Android 9.0 Pie的特色是使用一種新的方式在設備中導航。傳統的back、home和最近的應用程序鍵都消失了。將在底部有一個新的HomeBar指示器——就像iPhone X同樣,只是短了一點。應用程序按鈕的職責被一個很是熟悉的手勢取代了。在橢圓指示器上滑動能夠做爲滾動條,可是在新的導航條上仍然有一個返回鍵。向右滑動能夠訪問最近的應用,或者向上滑動能夠訪問你的應用抽屜和應用建議。它在Pixel手機上很是流暢。切換到之前的應用程序,在瀏覽窗口後,在底部添加一個滑塊。 服務器
四、Manual rotation(手動旋轉)
微信
那些很煩的自動旋轉如今可能成爲過去。如今旋轉屏幕也能夠是手動的了,在導航欄上有一個指示器可供點擊。 網絡
五、Security and privacy features(安全和隱私特性)
Android Pie引入了大量新的安全和隱私特性,以幫助您保持數據的安全性。更新中引入的最有用的特性之一是,當你的麥克風、攝像頭或傳感器空閒時,應用程序將再也不可以訪問它們。怎麼作到的,AI
六、Digital Wellbeing(數字健康)
這一切都是爲了讓你不要一直使用手機。咱們須要它。拼命。 製造商的最上癮的數碼產品,即YouTube和Android,所謂的數字健康項目在Android p .它由儀表板顯示你如何使用你的設備,像時間在應用程序,手機解鎖,或者通知,要求你的注意力,你知道在哪裏。App Timer選項能夠爲應用程序的使用設置一個計時器,甚至當你的限制值用完時,圖標會變色。有一個新的DND管理模式,它能夠中止全部的調用或通知聲音,甚至能夠在你得到新的聲音時彈出預覽。「下風」功能實現了這三種功能:在晚上打開夜燈,在DND模式下快速運行,甚至在睡眠時間接近時以灰度顯示。全部這些都有一個手勢——把你的手機翻過來,它就會自動進入數字健康模式,甜心。
讓你快速瞭解你在手機上使用的應用程序,你收到了多少通知,以及你多久查看一次手機。
App timers(app計時器) 容許您設置應用程序的使用限制。這樣系統就會在你即將達到預設的使用極限時提醒你,防止你過分使用應用程序和手機。
Wind down(放鬆一下) 設置一個時間表來啓用DND(Do Not Distur,免打擾)模式,並在規定的時間內將屏幕變爲灰色。
Do Not Disturb(免打擾) 它如今將屏幕變成了灰度,同時也明顯地禁用了通知,除非有重要聯繫人來呼叫你。
Better notification management(更好的通知管理) 能夠關閉一系列應用程序的通知,系統甚至可能會要求你在取消通知後中止接收特定類型的通知。讓你進入AI時代
七、Adaptive battery(電量自適應)
使用設備上的機器學習
來了解用戶的使用應用程序狀況,並優先考慮最經常使用的應用程序和服務的電池電量,根據您的使用狀況優化應用程序的後臺進程,防止電量浪費流失。應用程序若是過分使用電量,系統還會提醒你,經過AI能夠改進電池的壽命,谷歌指出能夠減小30%獲取Wake Lock
的狀況,(Wake Lock是一種鎖的機制, 只要有人拿着這個鎖,系統就沒法進入休眠, 能夠被用戶態程序和內核得到)
八、Adaptive brightness(亮度自適應)
根據你一天中主要使用時間,自動改變亮度等級。根據你的周圍環境,瞭解你喜歡的亮度等級,並自動調整你手機的亮度等級。
從官方發佈的Open Source的Release Note來看,有以下更新
經過WiFi往返時延室內定位(RTT表示往返時延。在計算機網絡中它是一個重要的性能指標,表示從發送端發送數據開始,到發送端收到來自接收端的確認(接收端收到數據後便當即發送確認),總共經歷的時延),簡單理解就是室內無線電波(WIFI)、磁場、聲音信號或移動設備收集的其餘感受信息來定位建築物內物體或人的技術。
也就是手機能夠鏈接電腦顯示屏,來感覺大屏顯示的魅力
在Android Pie的設備上,用戶能夠同時從兩個或多個物理攝像頭訪問數據流。在具備雙前置或雙後置攝像頭的設備上,可實現使用單個攝像頭沒法實現的創新功能,例如無縫變焦,散景和立體視覺。API還容許調用或融合的攝像機媒體流,以自動在兩個或更多攝像機之間切換。相機中的其餘改進包括 有助於減小初始捕獲期間延遲的其餘會話參數,以及容許相機客戶端處理各類用例而無需中止和啓動相機流的表面共享。咱們還添加了基於顯示的閃存支持 和訪問OIS時間戳的 API,以 實現應用級圖像穩定和特效。在Android Pie中,多攝像頭API 支持具備FULL或 LIMITED功能的設備的單色攝像頭 。單色輸出經過YUV_420_888 Y爲灰度,U(Cb)爲128,V(Cr)爲128 的格式實現 。
Android Pie引入了ImageDecoder
類,效率更高效。它提供了一種用於解碼圖像的現代化方法。使用此類而不是BitmapFactory
和BitmapFactory.Options API
。ImageDecoder容許new一個 Drawable或一個 Bitmap字節緩衝區,文件或URI。要解碼圖像,請先createSource() 使用編碼圖像的來源進行調用 。而後,調用 decodeDrawable() 或decodeBitmap() 經過傳遞ImageDecoder.Source 對象來建立一個Drawable]或一個Bitmap。要更改默認設置,請傳遞OnHeaderDecodedListener給 decodeDrawable()或decodeBitmap()。 一旦知道,就ImageDecoder調用onHeaderDecoded()圖像的默認寬度和高度。若是編碼圖像是動畫GIF或WebP,則decodeDrawable()返回該類Drawable的實例 AnimatedImageDrawable。咱們可使用不一樣的方法來設置圖像屬性:要將解碼圖像縮放到精確大小,請將目標尺寸傳遞到 setTargetSize()。您還可使用樣本大小縮放圖像。將樣本大小直接傳遞給 setTargetSampleSize()。要在縮放圖像範圍內裁剪圖像,請調用 setCrop()。要建立可變位圖,請true進入setMutableRequired()。ImageDecoder還能夠爲圖像添加自定義和複雜的效果,如圓角或圓形蒙版。setPostProcessor() 與PostProcessor 類的實例一塊兒使用以達到想要的任何繪圖效果。
Android Pie引入了AnimatedImageDrawable
用於繪製和顯示GIF和WebP動畫圖像的類。AnimatedImageDrawable相似於 AnimatedVectorDrawable渲染線程驅動動畫的方式AnimatedImageDrawable。渲染線程還使用工做線程進行解碼,所以解碼不會干擾渲染線程上的其餘操做。此實現容許您的應用顯示動畫圖像,而無需管理其更新或干擾應用的UI線程上的其餘事件。一個AnimatedImageDrawable能夠利用的實例進行解碼ImageDecoder。如下代碼段顯示瞭如何使用ImageDecoder
解碼你的 AnimatedImageDrawable
:
private void decodeImage() throws IOException {
Drawable decodedAnimation = ImageDecoder.decodeDrawable(
ImageDecoder.createSource(getResources(), R.drawable.my_drawable));
if (decodedAnimation instanceof AnimatedImageDrawable) {
// Prior to start(), the first frame is displayed.
((AnimatedImageDrawable) decodedAnimation).start();
}
}
複製代碼
ImageDecoder
有幾種方法可讓你進一步修改圖像。例如,您可使用該setPostProcessor()
方法修改圖像的外觀,例如應用圓形蒙版或圓角。
Android Pie增長了對高動態範圍(HDR)VP9配置文件2的內置支持,所以咱們如今能夠經過YouTube,Play電影和支持HDR的設備上的其餘來源播放用戶提供支持HDR的電影。Android Pie增長了對平臺的HEIF(heic)圖像編碼的支持。HEIF靜態圖像樣本在MediaMuxer
和MediaExtractor
類中獲得支持HEIF改進了壓縮以節省存儲和網絡數據。藉助Android 9設備上的平臺支持,您能夠輕鬆地從後端服務器發送和使用HEIF圖像。確保您的應用與此數據格式兼容以進行共享和顯示後,請在應用中嘗試將HEIF做爲圖像存儲格式。您可使用ImageDecoder
或BitmapFactory
進行jpeg-to-heic轉換以從jpeg獲取位圖,而且可使用HeifWriter從YUV字節緩衝區,Surface或Bitmap寫入HEIF靜止圖像。
媒體指標也可從AudioTrack
,AudioRecord
和MediaDrm
類。
Android Pie爲MediaDRM
類添加了方法,以獲取指標,HDCP級別,安全級別和會話數,並添加對安全級別和安全中止的更多控制。有關詳細信息,請參閱API Diff報告。
在Android Pie中,Audio API
包含用於使用,內容類型和輸入預設的 AudioStream
屬性。使用這些屬性,您能夠建立針對VoIP或攝像機應用程序進行調整的流。您還能夠設置SessionID
以將Audio
流與可包含效果的子混合相關聯。使用AudioEffect API
控制效果。
Android Pie包含用於DynamicsProcessing
的AudioEffect API
。使用此類,咱們能夠構建基於通道的音頻效果,包括各類類型的多個階段,包括均衡,多頻段壓縮和限制器。頻帶和活動階段的數量是可配置的,而且大多數參數能夠實時控制。
從Android Pie開始,JobScheduler
可使用運營商提供的網絡狀態信號來改善網絡相關做業的處理。
JobScheduler能夠聲明其估計的數據大小,信號預取,並指定詳細的網絡要求。JobScheduler而後根據網絡狀態管理工做。例如,當網絡發出擁塞信號時, JobScheduler可能會推遲大型網絡請求。在未計量的網絡上,JobScheduler能夠運行預取做業以改善用戶體驗,例如經過預取標題。
添加做業時,請務必使用setEstimatedNetworkBytes(),setPrefetch()
並setRequiredNetwork()
在適當時幫助 JobScheduler
正確處理工做。當您的做業執行時,請務必使用Network返回的對象JobParameters.getNetwork()
。不然,咱們能夠將隱式使用設備的默認網絡,該網絡可能沒法知足您的要求,從而致使意外的數據使用。
Neural Networks API
是在8.1的Android(API級27)引入,以加速在Android裝置上的機器學習。Android 9擴展並改進了API,增長了對九個新操做的支持:
元素數學運算:
ANEURALNETWORKS_DIV
ANEURALNETWORKS_SUB
數組操做:
ANEURALNETWORKS_BATCH_TO_SPACE_ND
ANEURALNETWORKS_SPACE_TO_BATCH_ND
ANEURALNETWORKS_SQUEEZE
ANEURALNETWORKS_STRIDED_SLICE
ANEURALNETWORKS_TRANSPOSE
ANEURALNETWORKS_PAD
ANEURALNETWORKS_MEAN
此外,API還引入了一個新功能, ANeuralNetworksModel_relaxComputationFloat32toFloat16()
容許您指定是否以ANEURALNETWORKS_TENSOR_FLOAT32
與IEEE 754 16位浮點格式相同的範圍和精度進行計算 。
(Autofill Framework最低支持SDK API 26(Android O)+),Demo地址:github.com/googlesampl… 9引入了多項改進,自動填充服務能夠實現這些改進,以在填寫表單時進一步加強用戶體驗。
在Android Pie中,系統表明您的應用提供生物識別身份驗證對話框。此功能爲對話框建立標準化的外觀,感受和位置,使用戶更有信心他們對可信賴的生物識別憑據檢查器進行身份驗證。
若是您的應用程序用於FingerprintManager
向用戶顯示指紋身份驗證對話框,請切換爲使用BiometricPrompt
。BiometricPrompt
依賴於系統來顯示身份驗證對話框。它還會更改其行爲以適應用戶選擇的生物識別身份驗證的類型。
注意:使用
BiometricPrompt
前,你應該先使用hasSystemFeature()
方法,以確保該設備支持FEATURE_FINGERPRINT,FEATURE_IRIS或FEATURE_FACE
。若是設備不支持生物識別身份驗證,咱們可使用該createConfirmDeviceCredentialIntent()
方法回退到驗證用戶的PIN,模式或密碼。
Android Pie增長了對使用客戶端密鑰加密Android備份的支持。知足如下條件時,將自動啓用此支持:
啓用此隱私措施後,須要設備的PIN,模式或密碼才能從用戶設備的備份中恢復數據。
Android Pie已經出現了,如今每一個人都想知道Android Pie何時會出如今市場上的手機運行,這個問題很難回答。根據以往廠商的升級的經驗,作了一些預測,整理了一個OEM(OEM產品是爲品牌廠商度身訂造的,生產後也只能使用該品牌名)級的流行Android設備列表,認爲這些設備將會升級到Android 9 Pie。固然這個列表不表明最終實際狀況,作過ROM的開發工程師都知道,Google每發佈一個新版本,都須要解裏面不少Bug,以及過CTS(兼容性測試),還有廠商本身要作一些定製化處理,通常Google Android新版本Release半年前或更早,各大廠商基本就已經拿到了受權源碼,而後在作定製開發和Bug fix
設備 | 預計更新時間 |
---|---|
Google Pixel (sailfish) | 2018.08.07 |
Google Pixel XL (marlin) | 2018.08.07 |
Google Pixel 2 | 2018.08.07 |
Google Pixel 2 XL | 2018.08.07 |
設備 | 預計更新時間 |
---|---|
HTC U Ultra | Q2 2019 |
HTC U11 | Q1 2019 |
HTC U11 Life | Q4 2018 |
HTC U11+ | Q4 2018 |
HTC U11 EYEs | Q1 2019 |
HTC U12+ | Q4 2018 |
設備 | 預計更新時間 |
---|---|
Huawei Honor 8 Pro | Q1 2019 |
Huawei Honor 9 Lite | Q1 2019 |
Huawei Honor 9 and V9 | Q1 2019 |
Huawei Honor View 10 | Q4 2018 |
Huawei Honor 10 | Q4 2018 |
Huawei Honor 9N | Q1 2019 |
Huawei Nova 3 | Q4 2018 |
Huawei Nova 3i | Q4 2018 |
Huawei Nova 2s | Q4 2018 |
Huawei Mate 9 | Q1 2019 |
Huawei Mate 9 Porsche Design | Q1 2019 |
Huawei Mate 9 Pro | Q1 2019 |
Huawei Mate 10 | Q4 2018 |
Huawei Mate 10 Porsche Design | Q4 2018 |
Huawei Mate 10 Pro | Q4 2018 |
Huawei P20 | Q4 2018 |
Huawei P20 Pro | Q4 2018 |
Huawei P20 Lite | Q1 2019 |
Huawei P10 | Q1 2019 |
Huawei P10 Plus | Q1 2019 |
設備 | 預計更新時間 |
---|---|
OnePlus 3 | Q1 2019 |
OnePlus 3T | Q1 2019 |
OnePlus 5 | Q4 2018 |
OnePlus 5T | Q4 2018 |
OnePlus 6 | Q3 2018 |
設備 | 預計更新時間 |
---|---|
Oppo R15 Pro | Q4 2018 (Beta available) |
Oppo R15 | Q4 2018 |
Oppo Find X | Q4 2018 |
設備 | 預計更新時間 |
---|---|
Samsung Galaxy S9 | Q1 2019 |
Samsung Galaxy S9+ | Q1 2019 |
Samsung Galaxy Note 8 | Q2 2019 |
Samsung Galaxy S8 | Q2 2019 |
Samsung Galaxy S8 Active | Q3 2019 |
Samsung Galaxy S8+ | Q2 2019 |
Samsung Galaxy A8 and A8+ (2018) | Q2 2019 |
Samsung Galaxy A8 Star (A9 Star) | Q2 2019 |
Samsung Galaxy A6 | Q2 2019 |
Samsung Galaxy A6+ | Q2 2019 |
Samsung Galaxy Note FE | Q3 2019 |
Samsung Galaxy J4 | Q3 2019 |
Samsung Galaxy J6 | Q3 2019 |
Samsung Galaxy J8 | Q3 2019 |
設備 | 預計更新時間 |
---|---|
Sony Xperia XZ2 | Q3 2018 (Beta available) |
Sony Xperia XZ2 Compact | Q3 2018 |
Sony Xperia XZ2 Premium | Q3 2018 |
Sony Xperia XA2 | Q4 2018 |
Sony Xperia XA2 Ultra | Q4 2018 |
Sony Xperia XZ1 | Q4 2018 |
Sony Xperia XZ1 Compact | Q4 2018 |
Sony Xperia XZ Premium | Q1 2019 |
Sony Xperia XZs | Q1 2019 |
設備 | 預計更新時間 |
---|---|
Vivo X21 | Q4 2018 (Beta available) |
Vivo X21 UD | Q4 2018 (Beta available) |
Vivo Nex A | Q4 2018 |
Vivo Nex S | Q4 2018 |
Vivo V9 | Q1 2019 |
設備 | 預計更新時間 |
---|---|
Xiaomi Mi 8 | Q4 2018 |
Xiaomi Mi 8 EE | Q4 2018 |
Xiaomi Mi 8 SE | Q4 2018 |
Xiaomi Mi 6 | Q2 2019 |
Xiaomi Mi A1 | Q4 2018 |
Xiaomi Mi A2 | Q4 2018 |
Xiaomi Mi A2 Lite | Q4 2018 |
Xiaomi Mi Mix 2 | Q4 2018 |
Xiaomi Mi Mix 2S | Q4 2018 (Beta available) |
Xiaomi Mi Max 3 | Q1 2019 |
Xiaomi Redmi Note 5 AI (Note 5 Pro) | Q1 2019 |
Xiaomi Redmi S2 (Redmi Y2) | Q2 2019 |
Xiaomi Redmi 6 | Q3 2019 |
Xiaomi Redmi 6A | Q3 2019 |
Xiaomi Redmi 6 Pro | Q2 2019 |
LG的手機部門表現不佳,這也是咱們沒有在2018年MWC上看到LG七國集團(G7)的緣由之一,由於該公司正在從新制定戰略,而後纔有望實現重大復甦。即便有這麼多的財務問題,LG在軟件更新方面也沒有被嚇倒,依然可能有多款設備更新
設備 | 預計更新時間 |
---|---|
LG G6 | Q4 2018 |
LG Q8 | Q2 2019 |
LG V20 | Q1 2019 |
LG V30 | Q4 2018 |
LG V30+ | Q4 2018 |
LG V30S ThinQ | Q4 2018 |
LG V35 ThinQ | Q4 2018 |
LG G7 ThinQ | Q4 2018 |
LG Q7 | Q1 2019 |
LG Q Stylus | Q1 2019 |
LG Stylo 4 | Q1 2019 |
下載一份之前的老版本源碼,依然在repo中,查看當前可用的Android源碼分支和版本,也能夠在下載好的Android源碼根目錄下執行以下命令:
$ git --git-dir .repo/manifests/.git/ branch -a
複製代碼
或者
$ cd .repo/manifests
$ git branch -a | cut -d / -f 3
複製代碼
附上一份網上找的Android從2.2到8.0的源碼,有須要的能夠下載:
android-2.2_r1 連接: pan.baidu.com/s/1qYfwxEO 密碼: r217
android-2.3.7_r1 連接: pan.baidu.com/s/1qYqRB1E 密碼: qcei
android-4.1.1_r1 連接: pan.baidu.com/s/1mhXwVgc 密碼: qidj
android-4.3_r1 連接: pan.baidu.com/s/1geOJDB1 密碼: 355a
android-4.4.4_r1 連接: pan.baidu.com/s/1nuZwEVn 密碼: t3qw
android-wear-5.1.1_r1 連接: pan.baidu.com/s/1hrQJ6XQ 密碼: 3g3x
android-6.0.0_r1 連接: pan.baidu.com/s/1geHYeOz 密碼: fsd6
android-6.0.1_r2 連接: pan.baidu.com/s/1skEVR1F 密碼: ik6t
android-7.1.1_r1 連接: pan.baidu.com/s/1dF6hc3n 密碼: pfsq
android-8.0.0_r1 連接: pan.baidu.com/s/1bqKNx3x 密碼: bthv