package Ġcom . ang cy o . library . utils Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Build . VERSION Ċ import Ġandroid . util . Log Ċ import Ġjava . lang . reflect . Field Ċ import Ġjava . util .* ĊĊ Ċ /** Ċ Ġ* Ġhttps :// github . com / s uf adi / Android Cpu Tools Ċ Ġ* ĠEmail : ang cy o @ 1 2 6 . com Ċ Ġ* Ġ@ author Ġang cy o Ċ Ġ* Ġ@ date Ġ 2 0 2 0 - 7 - 1 Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠSh en Z hen ĠO & M ĠCloud ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ object ĠBuild Helper Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠBuild Helper :: class . java . simple Name ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuild Ġclass æīĢæľīçļĦ åŃĹæ®µ å±ŀæĢ§ ĊĠĠĠĠ Ġ* ĠBuild . BOARD Ġ: ĠZ 9 1 ĊĠĠĠĠ Ġ* ĠBuild . BOOT LOAD ER Ġ: Ġunknown ĊĠĠĠĠ Ġ* ĠBuild . B RAND Ġ: ĠFa Di ĊĠĠĠĠ Ġ* ĠBuild . CPU _ ABI Ġ: Ġarm 6 4 - v 8 a ĊĠĠĠĠ Ġ* ĠBuild . CPU _ ABI 2 Ġ: ĊĠĠĠĠ Ġ* ĠBuild . DEVICE Ġ: ĠZ 9 1 ĊĠĠĠĠ Ġ* ĠBuild . DISPLAY Ġ: ĠTEST _ Fa Di _ Z 9 1 _ S 1 0 0 _ 2 0 1 8 0 1 0 8 ĊĠĠĠĠ Ġ* ĠBuild . F ING ER PRINT Ġ: ĠFa Di / Z 9 1 / Z 9 1 : 7 . 1 . 1 / N 6 F 2 6 Q / 1 5 1 5 3 9 7 3 8 4 : user / release - keys ĊĠĠĠĠ Ġ* ĠBuild . HARD WARE Ġ: Ġmt 6 7 3 9 ĊĠĠĠĠ Ġ* ĠBuild . HOST Ġ: Ġ 6 9 9 5 9 bbb 9 0 c 6 ĊĠĠĠĠ Ġ* ĠBuild . ID Ġ: ĠN 6 F 2 6 Q ĊĠĠĠĠ Ġ* ĠBuild . IS _ DEBUG G ABLE Ġ: Ġtrue ĊĠĠĠĠ Ġ* ĠBuild . IS _ EM UL ATOR Ġ: Ġfalse ĊĠĠĠĠ Ġ* ĠBuild . MAN U FACT UR ER Ġ: ĠFa Di ĊĠĠĠĠ Ġ* ĠBuild . MODEL Ġ: ĠZ 9 1 ĊĠĠĠĠ Ġ* ĠBuild . PERMISSION S _ RE VIEW _ REQUIRED Ġ: Ġfalse ĊĠĠĠĠ Ġ* ĠBuild . PRODUCT Ġ: ĠZ 9 1 ĊĠĠĠĠ Ġ* ĠBuild . RADIO Ġ: Ġunknown ĊĠĠĠĠ Ġ* ĠBuild . SERIAL Ġ: Ġ 0 1 2 3 4 5 6 7 8 9 ABCDEF ĊĠĠĠĠ Ġ* ĠBuild . SUPPORTED _ 3 2 _ BIT _ AB IS Ġ: Ġ[ Ljava . lang . String ; @ 3 0 5 cf 5 e ĊĠĠĠĠ Ġ* ĠBuild . SUPPORTED _ 6 4 _ BIT _ AB IS Ġ: Ġ[ Ljava . lang . String ; @ f 5 c 1 f 3 f ĊĠĠĠĠ Ġ* ĠBuild . SUPPORTED _ AB IS Ġ: Ġ[ Ljava . lang . String ; @ 5 7 8 b 0 0 c ĊĠĠĠĠ Ġ* ĠBuild . TAG Ġ: ĠBuild ĊĠĠĠĠ Ġ* ĠBuild . TAGS Ġ: Ġrelease - keys ĊĠĠĠĠ Ġ* ĠBuild . TIME Ġ: Ġ 1 5 1 5 3 9 7 3 8 2 0 0 0 ĊĠĠĠĠ Ġ* ĠBuild . TYPE Ġ: Ġuser ĊĠĠĠĠ Ġ* ĠBuild . UNKNOWN Ġ: Ġunknown ĊĠĠĠĠ Ġ* ĠBuild . USER Ġ: ĠFa Di ĊĠĠĠĠ Ġ* ĠBuild . VERSION . ACTIVE _ CO DEN AMES Ġ: Ġ[ Ljava . lang . String ; @ f 4 ecd 5 5 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . ALL _ CO DEN AMES Ġ: Ġ[ Ljava . lang . String ; @ bdb 8 3 6 a ĊĠĠĠĠ Ġ* ĠBuild . VERSION . BASE _ OS Ġ: ĊĠĠĠĠ Ġ* ĠBuild . VERSION . COD ENAME Ġ: ĠREL ĊĠĠĠĠ Ġ* ĠBuild . VERSION . INCREMENT AL Ġ: Ġ 1 5 1 5 3 9 7 3 8 4 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . PRE VIEW _ SDK _ INT Ġ: Ġ 0 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . RELEASE Ġ: Ġ 7 . 1 . 1 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . RESOURCES _ SDK _ INT Ġ: Ġ 2 5 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . SDK Ġ: Ġ 2 5 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . SDK _ INT Ġ: Ġ 2 5 ĊĠĠĠĠ Ġ* ĠBuild . VERSION . SECURITY _ PATCH Ġ: Ġ 2 0 1 7 - 1 1 - 0 5 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġall Build Information : ĠList < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠMutable List < String > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfields : ĠArray < Field > Ġ= ĠBuild :: class . java . declared Fields ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( field Ġin Ġfields ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġ" Build ." Ġ+ Ġfield . name Ġ+ Ġ" Ġ: Ġ" Ġ+ Ġfield . get ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( TAG , Ġinfo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" an Ġerror Ġoccured Ġwhen Ġcollect Ġcrash Ġinfo ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfields Version : ĠArray < Field > Ġ= ĠVERSION :: class . java . declared Fields ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( field Ġin Ġfields Version ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġ" Build . VERSION ." Ġ+ Ġfield . name Ġ+ Ġ" Ġ: Ġ" Ġ+ Ġfield . get ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( TAG , Ġinfo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" an Ġerror Ġoccured Ġwhen Ġcollect Ġcrash Ġinfo ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ æīĭæľº åĪ¶ éĢł åķĨ ĊĠĠĠ Ġval Ġproduct : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . PRODUCT ĊĊĠĠĠ Ġ// Ġ ç³»ç»Ł å®ļ åĪ¶ åķĨ ĊĠĠĠ Ġval Ġbrand : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . B RAND ĊĊĠĠĠ Ġ// Ġ ç¡¬ ä»¶ åĪ¶ éĢł åķĨ ĊĠĠĠ Ġval Ġmanufacturer : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . MAN U FACT UR ER ĊĊĠĠĠ Ġ// Ġ å¹³åı° ä¿¡æģ¯ ĊĠĠĠ Ġval Ġhard Ware : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult : ĠString Ġ= ĠBuild . HARD WARE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . matches (" q com ". to Regex ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Qual comm Ġplatform ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ" é«ĺ éĢļ å¹³åı° ( Qual comm ) Ġ- Ġ$ result " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( result . matches (" mt [ 0 - 9 ]* ". to Regex ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ" MT K å¹³åı° ( Media T ek ) Ġ- Ġ$ result " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ åŀĭ åı· ĊĠĠĠ Ġval Ġmode : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . MODEL ĊĊĠĠĠ Ġ// ĠAndroid Ġ ç³»ç»Ł çīĪæľ¬ ĊĠĠĠ Ġval Ġandroid Version : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠVERSION . RELEASE ĊĊĠĠĠ Ġ// ĠCPU Ġ æĮĩä»¤ éĽĨ ï¼Į åı¯ä»¥ æŁ¥çľĭ æĺ¯åĲ¦ æĶ¯æĮģ 6 4 ä½į ĊĠĠĠ Ġval Ġcpu Ab i : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . CPU _ ABI ĊĊĠĠĠ Ġval Ġis Cpu 6 4 : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . CPU _ ABI . contains (" arm 6 4 ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ æĺ¾ç¤º æ¨¡åĿĹ ĊĠĠĠ Ġval Ġdisplay : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠBuild . DISPLAY ĊĊĠĠĠ Ġ// ĠSDK Ġå½ĵåīį çīĪæľ¬ åı· ĊĠĠĠ Ġval Ġcur SDK : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠVERSION . SDK _ INT Ċ }