當前位置:首頁 » 安卓系統 » android標准

android標准

發布時間: 2022-11-18 02:16:09

『壹』 android中FIFO標準是一種怎麼樣的標准 它是一個類嗎 還是一種方法

First in first out
先進先出隊列,一種數據結構,不是類,也不是方法。
FIFO概念也不僅僅限制在android中。

『貳』 > 關於安卓系統:什麼是GB、HC、ICS、JB、KLP

其實都是不同系統版本的代號,區別在於不同版本.
GB是姜餅系統(Android 2.3);
HC是蜂巢系統(Android 3.0/3.1/3.2); *這個是用在平板電腦的*
ICS是冰淇淋系統(Android 4.0);
JB是果凍豆系統(Android 4.1);
KLP是酸橙派系統(Android 4.2). 不同版本的安卓系統(含代號):
Android 1.1Android 1.5 => Cupcake(紙杯蛋糕)Android 1.6 => Donut(甜甜圈)
Android 2.0/2.0.1/2.1 => Eclair(松餅)
Android 2.2/2.2.1 => Froyo(凍酸奶)
Android 2.3.x => Gingerbread(姜餅)
Android 3.0 => Honeycomb(蜂巢)
Android 3.1 => Honeycomb(蜂巢) Android 3.2 => Honeycomb(蜂巢)
Android 4.0 => Ice Cream Sandwich(冰激凌三明治)
Android 4.2 => Key Lime Pie(酸橙派)非標准安卓版本摩托羅拉基於標准Android修改的Blur系統HTC基於標准Android修改的Sense系統三星基於標准Android修改的TouchWiz系統LG基於標准Android修改的LG Optimus系統小米基於標准Android修改的MIUI系統酷派基於標准Android修改的CoolTouch系統魅族基於標准Android修改的Flyme OS系統夏普基於標准Android修改的TapFlow UI系統華為基於標准Android修改的Emotion UI/定製系統天語基於標准Android修改的阿里雲系統中興基於標准Android修改的Mifavor系統聯想基於標准Android修改的樂OS系統(樂magic)騰訊基於標准Android修改的tita系統

『叄』 android 系統簽名

也有提到怎麼單獨給一個apk簽名,這里補充一下android的簽名許可權控制機制。

android的標准簽名key有:

     testkey

     media

    latform

    hared

    以上的四種,可以在源碼的/build/target/proct/security裡面看到對應的密鑰,其中shared.pk8代表私鑰,shared.x509.pem公鑰,一定是成對出現的。

    其中testkey是作為android編譯的時候默認的簽名key,如果系統中的apk的android.mk中沒有設置LOCAL_CERTIFICATE的值,就默認使用testkey。

   而如果設置成:

   LOCAL_CERTIFICATE := platform

    就代表使用platform來簽名,這樣的話這個apk就擁有了和system相同的簽名,因為系統級別的簽名也是使用的platform來簽名,此時使用android:sharedUserId="android.uid.system"才有用!

     在/build/target/proct/security目錄下有個README,裡面有說怎麼製作這些key以及使用問題(android4.2):

     從上面可以看出來在源碼下的/development/tools目錄下有個make_key的腳本,通過傳入兩個參數就可以生成一對簽名用的key。

    其中第一個為key的名字,一般都默認成android本身有的,因為很多地方都默認使用了這些名字,我們自定義的話只需要對第二個參數動手腳,定義如下:

    C ---> Country Name (2 letter code) ST ---> State or Province Name (full name) L ---> Locality Name (eg, city) O ---> Organization Name (eg, company) OU ---> Organizational Unit Name (eg, section) CN ---> Common Name (eg, your name or your server』s hostname) emailAddress ---> Contact email addre

    另外在使用上面的make_key腳本生成key的過程中會提示輸入password,我的處理是不輸入,直接enter,不要密碼!後面解釋,用自定義的key替換/security下面的。

    可以看到android源碼裡面的key使用的第二個參數就是上面README裡面的,是公開的,所以要release版本的系統的話,肯定要有自己的簽名key才能起到一個安全控製作用。

    在上面提到如果apk中的編譯選項LOCAL_CERTIFICATE沒有設置的話,就會使用默認的testkey作為簽名key,我們可以修改成自己想要的key,按照上面的步驟製作一個releasekey,修改android配置在/build/core/config.mk中定義變數:

在主makefile文件裡面:

ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/proct/security/releasekey)

  BUILD_VERSION_TAGS += release-key

這樣的話默認的所有簽名將會使用releasekey。

修改完之後就要編譯了,如果上面的這些key在製作的時候輸入了password就會出現如下錯誤:

我在網上找到了合理的解釋:

其實會出現這個錯誤的最根本的原因是多線程的問題。在編譯的時候為了加速一般都會執行make -jxxx,這樣本來需要手動輸入密碼的時候,由於其它線程的運行,就會導致影響當前的輸入終端,所以就會導緻密碼無法輸入的情況!

再編譯完成之後也可以在build.prop中查看到變數:

這樣處理了之後編譯出來的都是簽名過的了,系統才算是release版本

我發現我這樣處理之後,整個系統的算是全部按照我的要求簽名了。

網上看到還有另外的簽名release辦法,但是應該是針對另外的版本的,借用學習一下:

make -j4 PRODUCT-proct_mol-user dist

這個怎麼跟平時的編譯不一樣,後面多了兩個參數PRODUCT-proct_mol-user 和 dist. 編譯完成之後回在源碼/out/dist/目錄內生成個proct_mol-target_files開頭的zip文件.這就是我們需要進行簽名的文件系統.

我的proct_mol 是full_gotechcn,後面加「-user」代表的是最終用戶版本,關於這個命名以及proct_mol等可參考http://blog.csdn.net/jscese/article/details/23931159

編譯出需要簽名的zip壓縮包之後,就是利用/security下面的准備的key進行簽名了:

./build/tools/releasetools/sign_target_files_apks -d /build/target/proct/security  out/dist/full_gotechcn-target_files.zip   out/dist/signed_target_files.zi

簽名目標文件 輸出成signed_target_files.zi

如果出現某些apk出錯,可以通過在full_gotechcn-target_files.zip前面加參數"-e =" 來過濾這些apk.

然後再通過image的腳本生成imag的zip文件,這種方式不適用與我目前的工程源碼,沒有做過多驗證!

Android簽名機制可劃分為兩部分:(1)ROM簽名機制;(2)第三方APK簽名機制。

Android APK實際上是一個jar包,而jar包又是一個zip包。APK包的簽名實際上使用的是jar包的簽名機制:在zip中添加一個META的子目錄,其中存放簽名信息;而簽名方法是為zip包中的每個文件計算其HASH值,得到簽名文件(*.sf),然後對簽名文件(.sf)進行簽名並把簽名保存在簽名塊文件(*.dsa)中。

在編譯Android源碼生成ROM的過程中,會使用build/target/proct/security目錄中的4個key(media, platform, shared, testkey)來對apk進行簽名。其中,*.pk8是二進制形式(DER)的私鑰,*.x509.pem是對應的X509公鑰證書(BASE64編碼)。build/target/proct/security目錄中的這幾個默認key是沒有密碼保護的,只能用於debug版本的ROM。

要生成Release版本的ROM,可先生成TargetFiles,再使用帶密碼的key對TargetFiles重新簽名,最後由重簽名的TargetFiles來生成最終的ROM。

可以使用Android源碼樹中自帶的工具「development/tools/make_key」來生成帶密碼的RSA公私鑰對(實際上是通過openssl來生成的): $ development/tools/make_key media 『/C=CN/ST=Sichuan/L=Cheng/O=MyOrg/OU=MyDepartment/CN=MyName』 上面的命令將生成一個二進制形式(DER)的私鑰文件「media.pk8」和一個對應的X509公鑰證書文件「media.x509.pem」。其中,/C表示「Country Code」,/ST表示「State or Province」,/L表示「City or Locality」,/O表示「Organization」,/OU表示「Organizational Unit」,/CN表示「Name」。前面的命令生成的RSA公鑰的e值為3,可以修改development/tools/make_key腳本來使用F4 (0×10001)作為e值(openssl genrsa的-3參數改為-f4)。

也可以使用JDK中的keytool來生成公私鑰對,第三方APK簽名一般都是通過keytool來生成公私鑰對的。

可以使用openssl x509命令來查看公鑰證書的詳細信息: $ openssl x509 -in media.x509.pem -text -noout or, $ openssl x509 -in media.x509.pem -inform PEM -text -noout

還可以使用JDK中的keytool來查看公鑰證書內容,但其輸出內容沒有openssl x509全面: $ keytool -printcert -v -file media.x509.pem

有了key之後,可以使用工具「build/tools/releasetools/sign_target_files」來對TargetFiles重新簽名: $ build/tools/releasetools/sign_target_files_apks -d new_keys_dir -o target_files.zip target_files_resigned.zip 其中,new_keys_dir目錄中需要有四個key(media, platform, shared, releasekey)。注意:這里的releasekey將代替默認的testkey(請參考build/tools/releasetools/sign_target_files腳本實現),也就是說,如果某個apk的Android.mk文件中的LOCAL_CERTIFICATE為testkey,那麼在生成TargetFiles時是使用的build/target/proct/security/testkey來簽名的,這里重新簽名時將使用new_keys_dir/releasekey來簽名。

uild/tools/releasetools/sign_target_files_apks是通過host/linux-x86/framework/signapk.jar來完成簽名的。也可以直接使用host/linux-x86/framework/signapk.jar來對某個apk進行簽名: $ java -jar signapk [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar 其中,」-w」表示還對整個apk包(zip包)進行簽名,並把簽名放在zip包的comment中。

對於第三方應用開發者而言,對APK簽名相對要簡單得多。第三方應用開發一般採用JDK中的keytool和jarsigner來完成簽名密鑰的管理和APK的簽名。

使用keytool來生成存儲有公私鑰對的keystore: $ keytool -genkey -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

查看生成的密鑰信息: $ keytool -list -keystore my-release-key.keystore -alias mykey -v or, $ keytool -list -keystore my-release-key.keystore -alias mykey -rfc (註:獲取Base64格式的公鑰證書,RFC 1421)

導出公鑰證書: $ keytool -export -keystore mystore -alias mykey -file my.der (註:二進制格式公鑰證書,DER) $ keytool -export -keystore mystore -alias mykey -file my.pem -rfc (註:Base64格式公鑰證書,PEM)

對APK進行簽名: $ jarsigner -verbose -keystore my-release-key.keystore my_application.apk mykey

驗證簽名: $ jarsigner -verify -verbose -certs my_application.apk

在進行Android二次開發時,有時需要把build/target/proct/security下面的公私鑰對轉換為keystore的形式,可以參考這篇文章:把Android源碼中的密碼對轉換為keystore的方法。

『肆』 以Android 的標准來說,UI 和 OS 的區別是什麼

UI是OS的一部分,os指的是整個系統,android就是一個os,ui指的是可視界面,比如你看到的桌面顯示。
另,這個跟android 標准沒有關系。

『伍』 android l和m 分別代表什麼意思

版本越來越高,功能也越來越完善了,android l與android m的區別主要還是應該關注m對l的改進吧。

Android M相比Android Lollipop(5.0)有六項重大的改進:
1.App Permissions(軟體許可權管理):在Android M里,應用許可提示可以自定義了。
2.Chrome Custom Tabs(網頁體驗提升):新版的M對於Chrome的網頁瀏覽體驗進行了提升,它對登陸網站、存儲密碼、自動補全資料、多線程瀏覽網頁的安全性進行了一些列的優化。
3.App Links(APP關聯):Android M加強了軟體間的關聯。
4.Android Pay(安卓支付):Android支付統一標准。
5.Fingerprint Support(指紋支持):Android M增加了對指紋的識別API。
6.Power & Charge(電量管理 ):新的電源管理模塊將更為智能,比如Android平板長時間不移動時,M系統將自動關閉一些App。同時Android M設備將支持USB Type-C介面,新的電源管理將更好的支持Type-C介面。

『陸』 谷歌欲設立Android車載平台遵從標准

據業內觀察人士透露,谷歌有意制定一套基於安卓汽車平台的合規標准,PND廠商推出安卓平台設備的努力可能受阻。根據合規標准,相關供應商推出的AndroidPND設備將接受谷歌嚴格的驗證程序。觀察人士表示,這一措施對汽車製造商和遠程信息處理設備供應商產生了強烈影響。自動導航器包括Garmin、Mitac和Papago在內的許多PND供應商已經推出了基於安卓的設備。但是,大多數PND廠商都不是開放移動聯盟的成員,因此他們的產品無法通過谷歌驗證,或者無法完全支持所有谷歌應用。據消息人士透露,PND供應商是否會推出符合標準的PND設備,還是像白色智能手機廠商一樣,乾脆避開法規,向白色AndroidPND廠商過渡,還有待觀察。

『柒』 Android軟體開發主要是學習什麼的

近半年來,手機的安卓系統與ios系統是目前主流的手機系統,Android軟體開發主要是學習什麼的?IT培訓http://www.kmbdqn.cn/發現安卓開發的技術很多的,如果想一次性學好是不實際的,但下面這些基礎還是要學好的。



1、Activity生命周期


雖然Android中有四大組件,但是不可否認Activity是最常用的。所以熟練掌握Android的生命周期是必須的。其實生命周期就是記住Activity的那些方法在什麼時候被系統調用,這樣才可以把對應的邏輯代碼寫到合適的方法內部去。


至於服務和廣播組件可以稍微緩一下,到實際使用的時候再學習都可以。

2、界面開發技術


界面開發是一種基本的技術,幾乎所有的程序裡面都需要用到。在Android開發中界面開發分為3種:


1)使用xml文件布局


使用xml首先對於界面進行布局,然後在Activity裡面進行引用是最常見的應用軟體開發技術,這種方式使用的最大,需要學習的內容也最多。學習時需要熟悉:


a)五種Layout布局


深刻理解五種布局組織控制項的方式是一個基本的基礎,這樣你才可以在實際的界面中靈活的使用每種布局結構,構造出需要的界面。


b)常用控制項


控制項有很多,至少要知道每種控制項是做什麼的,至於裡面的特定參數和方法可以學要的時候再去查


c)界面美化


系統的控制項很多時候無法滿足要求,需要通過添加背景更換圖片等進行美化,要熟悉每種控制項如何去美化。


掌握了上面的內容,通過布局的嵌套就可以製作出各種界面,如果在熟悉include的使用就可以減少xml的重復,方便後期的修改和維護了。


2)使用代碼動態創建


有些時候需要動態的創建一些布局和控制項,這個就需要使用LayoutInflater去創建一些動態的界面了。


3)自己繪制界面


游戲中常用,繼承SurfaceView自己繪制。


3、數據存儲技術


Android中的數據存儲方式有3種:


1)SharedPrefereneces存儲


對於簡單的數據可以使用該方式存儲,以鍵值對的方式存儲一些基本的數據。


2)文件存儲


將數據以文件的形式存儲,可以是手機自身的存儲也可以是SD卡,文件的數據格式自己定義。


3)SQLite資料庫存儲


使用標准SQL語句進行操作,復雜數據的首選。

4、網路編程


現在的Android程序不需要聯網的已經不多了。所以網路編程也是必須的,一般的公司都會封裝有自己的聯網結構,但是基本的聯網還是要熟悉。


1)HTTP聯網


使用Http聯網+Json數據格式是現在很多客戶端的首選。


2)Socket聯網


至於藍牙等連接方式則可以在項目需要的時候學習。


對於手機的系統功能,如撥打電話、發送簡訊、讀取系統參數等則可以根據需要在學習,不麻煩的。


其次,手機軟體相關


Android開發不同於普通的電腦軟體開發,需要了解手機的操作習慣,知道手機的屏幕不大、內存有限,電池有限等,在實際開發和設計時盡量考慮。


『捌』 android大班安全分類標准可將大壩分為幾類

大壩分為3類。
angela大班安全分類標准可將大壩分為3類。大壩,指截河攔水的堤堰,水庫、江河等的攔水大堤。
一般水庫大壩主要由主壩、副壩、正常溢洪道、非常溢洪道、新增非常溢洪道、靈正渠涵管及電站組成。

『玖』 Android 系統的手機標準的四個按鍵分別是什麼

後退鍵、菜單鍵、搜索鍵、HOME鍵
像索愛、三星這些機型因為廠家定製化的設計只有返回、HOME、菜單三個鍵

『拾』 如何評價 Android M

本文目錄:
第一部分 Android M重點新特性
第二部分 其他細小升級點(自己發現+官方未提及)
第三部分 Android M UI 和操作邏輯改變(相比 5.1.1 Lolipop)
第四部分 關於Android M彩蛋

前言:此次Android M 發布並沒有像上次L一樣給整個Android系統帶來質的飛躍(鑒於L是從4.4升級到5.0這個大的飛躍,而M只是5.2,所以情有可原)不過人性化功能的更新確實不少。

本文將採用新特性介紹+上手感覺的形式給大家呈現一個完整的 Android M

OK, Lets get started。

-----------------------------------------------------------------------------------------------------------------------------------------


大家也不必去尋找Android M到底有多少新特性了。。。。發布會的文字雲上寫的清清楚楚。(白色高亮為重點更新內容)

第一部分,重點新特性:

1.USB-C 支持

點評:這個倒是不出意外,因為自從蘋果Macbook和谷歌自家的Chromebook Pixel 將USB Type-C一炮打響之後,有越來越多的廠家和操作系統支持這種新標準是大勢所趨。

貼心附錄小科普:USB Type-C好在哪兒?

基於USB 3.1規范全新設計的USB Type-C,外觀上最大特點在於其上下端完全一致,這意味著用戶不必再區分USB正反面,如同蘋果Lightning介面一樣,兩個方向都可以插入。

USB Type-C介面尺寸為8.3×2.5毫米,小於當前PC的USB介面,但大於許多手機採用的尺寸6.85×1.8毫米的micro-USB介面。

USB Type-C(USB 3.1) 的其他特性:

  • 通過USB Power Delivery技術

  • 增進的電磁干擾與RFI mitigation特性

  • 支持1萬次拔插。

  • USB Type-C 還支持 DisplayPort,功能終於能與 Thunderbolt 看齊。

  • 降低編碼損耗,從3.0的20%降低為3%,並將編碼方式改為128b/132b


  • 實際上手測試:無法測試,因為目前暫時沒有Android M 設備擁有Type-C介面。

    ——————————————————————————————————————————


  • 2.英文網頁復制文字將以單詞為單位進行復制(以前是以字母為單位)
  • 點評:功德無量的新功能,以前想在小屏手機上用Chrome復制文字簡直累瘋,不是少個字母就是多個空格什麼的。在發布會上聽到這個功能的我淚流滿面..........

    之前復制功能反人類的地方還在於復制按鈕居然在屏幕頂部,完全無法單手復制,現在復制按鈕就在旁邊,so easy!

    實際上手測試:

熱點內容
甘肅隴南dns伺服器地址雲主機 發布:2025-03-05 00:43:52 瀏覽:384
一頓壓縮機 發布:2025-03-05 00:41:51 瀏覽:407
php二維數組拆分 發布:2025-03-05 00:33:24 瀏覽:198
游猴腳本 發布:2025-03-05 00:33:20 瀏覽:516
微信存儲的文檔 發布:2025-03-05 00:31:42 瀏覽:230
c語言中基本的數據類型包括 發布:2025-03-05 00:30:55 瀏覽:709
安卓小組件哪個好用 發布:2025-03-05 00:30:20 瀏覽:341
安卓如何下載錄屏精靈 發布:2025-03-05 00:15:22 瀏覽:486
攻城掠地怎麼開伺服器 發布:2025-03-05 00:11:31 瀏覽:483
怎麼看漢蘭達什麼配置 發布:2025-03-05 00:08:29 瀏覽:283