Embedded Android Workshop
Upcoming SlideShare
Loading in...5
×
 

Embedded Android Workshop

on

  • 1,602 views

Karim Yaghmour's "Embedded Android Workshop" from the Embedded Linux Conference 2012

Karim Yaghmour's "Embedded Android Workshop" from the Embedded Linux Conference 2012

Statistics

Views

Total Views
1,602
Views on SlideShare
1,499
Embed Views
103

Actions

Likes
1
Downloads
39
Comments
0

10 Embeds 103

http://www.opersys.com 84
http://92.243.1.141 7
http://wwaw.opersys.com 3
http://qww.opersys.com 3
http://ftp.opersys.com 1
http://wwww.opersys.com 1
http://translate.googleusercontent.com 1
http://weww.opersys.com 1
http://ww.w.opersys.com 1
http://waw.opersys.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Embedded Android Workshop Embedded Android Workshop Presentation Transcript

  • ABCA DEFA B A B F A D B F A
  • A BC DBA BEB BF A CB C B E DD ) E C A B A! C D4 AF BC CD BC C !! C B E DD C"! !F B! ! CF C # C D B AD $ %& ( ) A D C DB B B * A + ,$ E C " BC C B " - A " " , . " C CA D D B C F / 01C " B B 2 .(& DD A B A C B " C B A F / C" / C B C CB 3 BC C 0) E C A B A! C D4 AF 2 B C" B 3 BC 51(67)8 C D " A B 0 F 2 A B C B* , C" $1 C A C B AF 9BC D 3B" D C1C " B B /// C D! DD !A
  • F C7 C A A& : CB ;;;1C " B A A B AC B * C !C B , CB "$ D ) E$ "$
  • F AC A= "5B D E " B <
  • !A !BA !A AB6B= C D& "B CBD / C%B CD B A BCA/BC C # C D) E D >
  • 6B5 B C.@ ?
  • 5 B C B CBD / C BF " C B AC B D D)B E E C B DB D4 A CD F A E7 "CB A FC / C FB A C B F9 "1 D 4 A "CB / C AF B D ) "CB FCBC - ) "CB FB A 1 C& B * BCA/BC B CB B, D& C C C A AB B CB"E AB C C DD B A $ E A $B A DB" CDB *E%C<$ = ?<$E% $ $ E($ F%C$ %8C$ C75,C E * BCA/BC A A ,6 $ )C$ C$ B A B 5 * BCA/BC A A , BD CB$ C% $ D B $B AB C D C * BCA/BC A A ,( A E D EC D A "BA E D B C$ C A F "" "$D D C B A C CDB C "$ B A B " C 7) A
  • .@6C / C%8 C 0B 2EB =1E ( = 6 9 E8. D A B / C B B ! BDB " G
  • & B D( E + !B"B! &% D( & B D( E + E + & B D( &#A ( &% D( E + E + E + #A $% D ;
  • 8 " C *8 DB *, HIHI,. B A / C . : %7! DB DB/B%C B AB / F A B CB A DA E CD A B CA ".7 A CD A B A C D B 0FCB 2 BC B A$ E C6 BE C C A B A /D D C A
  • = C C" 6C B A &BCC %B" BC A " A DBC A DBC "CB " / F$ 7E$ DB $ A /B DBA F )B " C $ A AF A ( F * 1,6C !%B" D ( F B B CA B "BE A J A E DC " /B A B BC " A <) / "$ A /B J DB "K)B " C F BCA A A A C B ( F( F C AK BC A AC A BC A " CLC B 1 D F B A B CD > FC F " F C " C A A D , A 8 E DF C1 =B A B B AB "/ AC A
  • G AC A C B A ; 5 F AC A ; C AC A >! B ; AC A ?!) ; 1 AC A ! ! BC EB AC A ! 5C ) AC A ! C " CFC BA FB AC A != DF M BF D4 A M EB AC A M. 6 C M8 E AC A < !7 C BD B A/ M D C"C " CFC BA B A = DF
  • D> B EB C AB> B *E > C N B C ,! / DBC A .
  • B N B "I& BA " 7% C " D A C DB B C C (E$ 7 $ 5C B $ 7$ D B DD$ 8L7)7 $=B A DB B C C E C B$ BD "$ = $ &C$ C $BF DB B C C E C B$ BD "$ C $ )&&$ . $ B C A E 8 $F 6B DDB A % B CD$ C AC A EBC $ DB4 C $L $ 6O8 8119 $ <
  • 1 =B A B0 B "C G " B A D F D B / BE D " CB CB EB D F B A C D C BC C$ : E $B AF C D F : C " C / BE A E A AC AP$ C D $ $B A C D F B CD 2. BC / B 1= A C/ B F $ B $ D DF C A C E8 B C"B 4B / F BCA D DF C $ B $ Q B 0 B 2C " N AC A BD BC BA B F A " A" A E$ B B" B "1= BC" B E ! BF D C A E F 1 CB C C $ E F $ L AB $8 ) D $ =B A EB B C C = $E C B$ &C$ BD "$ C $ D A C D B (E$ 5C B $7 $ 8L7)7 $ D B DD$ 7$ /BC D B C " $ DD C B 4B D B >
  • < & "B 5CBD / C A B A6CB A "C " N / AC A C B E C1CB E C " ?
  • < A%BC 9 C AC A 1 C %C Q * 1 %,9 C A BE B B AE C RS C%& C # C D C " DB B A C B B AC A " C C" 1 % A AC E C ?D 1 B 1 % FCB B B AC A " C C" EB B" A F 0C 2 $B E CB 0" 2= DF * , A C # C B " C " / B N C A AD A C C D " F BC )9 B A " = DF B C A E $ A " 6O8N 8 A
  • < A &9 C C8. C CB % F & *B B C%&, 1 % E B & *B B &, =BE " C%& C C B /B B A " " B / C%& B A &C%& BC DB 6 T B A )6. D D 6 ) 6 B A F : 0 : C B !2 A C C B B D : A FB" $ C%&EB F A CBF BAA C%&!&C%& D 6 6 : F ! " F !" F G
  • < 6CB A " .AC A ( FL C D & : "AC A & " * 8 ) ( 1 7 ) /! B , B F AAC A D B B F AAC A 1 B 8BD A C C 0 C AC A2E C C # C B C EBAC A E B" " / A / AF B" C 0 AC A B 2D B C " ))! E E A 0B C EB 2 ;
  • << C " N / AC A 1 %B AC A EBC 3 F EB B A 8BE "B CDB L EB( # C ! )) D B " A B"C D /! C "7 # C B AC A BC C U" " D
  • <> C B E 0 C 2 C BC B C BA F AC A EBC DB4 C L 6O8 81198 " C A " C D BE " C /
  • < ? 1CB E C "5 A "%B C " D ?$ >$<<A- ?$ ; $<A?- >$;??$A - A$< ?$A - ( G$ <- ?$; $ >- B A ?$ ? $> C" C " D AC A A B 1CB FBEB FCBC C FLE B C A AC A C B =BCD B A )B E BA7 1 F C $ 76E B =BCD Q / C1CB N 1 F)9$ BE " C Q CB B C B A7 EB $ Q A" CA C BD C D B A C C BCC C C D AC A G
  • > %B CD B A =BCA/BC C # C D 7 C AC A C & : C C C & :$ B C AC A 9 / BE F DBA / C (E :G? E7% C= % B C A E BB C $ D C /BE E $ BC D $
  • > D B ) ) D /BC E. CD 1 % B %B B" " D B F C 0B 2E D AB D B F A A C $ A C $C CA "$) E C D B F BAF$ AAD $ E=BCA/BC D B F ) B B A CCB 7 ) E )B B E BD CB E D C B A CB" . 6% C CDB D B F C E A D B F /BC D B F ". AB BF /BC E. A D B D AB <
  • > D B F >
  • ? ) E D( # C D A E B AC C A F "" " ?
  • ? ( # C D A E D B A A F "" " B A / ! EB ! & :/ C B F)9 /! ) " =" C DD A A C B A E *),%B CD A E D C8. C A E B F C A F "" C D C B C A
  • ? A E B AC C )9 B AC A M DB B" L) B A )9 D B F A CM C B " B B B" A: M E C " QBC A : BAF M A F " FC A"D B C M DE. FB A (E D B C . 9LE C :G? BA8)9 C8. B C B E F BC) D B A E C B AC A D G
  • ;
  • ? A F "" "BAFAADD C CCB E / " B "CB * ) " ,
  • A !E ! E AC A ; )B E 5CBD / C 7 C F87 8B E ) E D D CE C< 1E CB C C B " CE> D BC E EB B" C? & :9 C <6 A CA =BCA/BC C > 1 %G 8B E . C B
  • AC A D7 DEB%C B A C BA( D C A C B
  • D R8 D B D CB B C BC B DB" B BC A / E CB BC A AC" 8 C $ H $ B A HDB *, D E CE 6C BA B ( E C %C E A C <
  • 77 RB C D B" /! C /!A " B A BC"& B D C . : " B$F /!C # C A BC"7 0 B BA2 A 7 1FQ7 5 C A EB >
  • D DB DB" B BC ! ! C C DF BE C C A B A /D D C D C "" C & B FB /C EBC" E DB B" D & D D BC D C D :DB B" B C ?
  • A
  • < EB7 CD D BF B J D@E& CDB /B B A AC AEB :D E R VB E S B CE RV CE S B6C BA B ( E C B R VC E CS ) BD R : C " C( E C*, %C E A C R V C E A CS B G
  • > %C B A C BA%C ) B B B FB B B D BC A DB C C BA VB E SWV CE SWVC SWV C E A CS BE C B CF E CC A A B ) 81 C CD F "! " CB DB C C BA B/ C BA BA %C CD B !C BC B DJ A C C C E DB B" D & C BA C B " C " BC FBEB C BA 1FQ AC A %7 C E A C BA C B & C CC "BD B" / B C BA =B A C C C "D B" =B A C C BA C " B C BA / B D B" ;
  • ? ( D C A C B AC A (% R6 A CD B D8 L 7% A C C C B B"6 A C B / E B $ AB7 BA D A CB "7 CB) &B " B" *7)&,7)& A BA " CB FBEB CBA <
  • 5CBD / C 7 C A.7)B B CB" C !% CD B AD D C CCB A B A LA & B B A EB 6 85 <
  • .7E C " FB A CBC L / B AL /CC *B ,) BC A @E& C A BD B C " FBEB.7 D B A" E B A C E )B " 8 B <
  • )B B CB" BC A C C %C EB CD E B C EB7 C B CB" %C EB AB B A E D D C: C B CB" % F AB B BC A : C B A E * ), D& )6 %C EB )68 / C B F FB A CB" *( , <
  • C !% CDE C C AB C E .7)$ C7)% CD C C C % C C CB % C .(7 B B BC B AF : A CD C # C A 0 : 2 B AF :) "CB B FB A C B . C C D CD D F A BC A B B <<
  • 8B E A E DB B B B A B AC "B A B " 8)9. " 8)97D D " B E B <>
  • B B B B A B A. C % C " : "F A A AC A ) E " D4 A B E B $ B C "BD "%C E A B AF A " CB B E A FCBC C D ! XX BB DF A B E F B BF * C/BCA D B F , B E F ) D B $ BD B A CB BF B " B E A C D FBEB " F87 7D D " B E B * ,) N B / D CBA B & :!. : B B <?
  • C "B A B " 8)9B BJ 8)9I ) E D BF B E %7 D BA C ) D B 7E%1( 8 BDC " 8)9 !!A E C B AC A D! A ! A ! A : D%C C # B A / $ EB C& : D )9 DB *C8.J , B A B/ 5 CB A / $ "/ A C " C8)9 EB C C C # BC B A ) / BA B A B 8)9 <A
  • . " 8)9 %B B E A A CV C Q S!Q ! C B V C Q S!Q ! AC A D A CF B E A 8)9 1 B C B V C Q S!Q ! B D C A CF "/ B E C BC C # C A F B<6 A B E A AV C Q S V A S! A F A> D B / )9 8B E A / F BC A F B <G
  • < 7D D " B E B AC A B A8B E DB B" D C / : A A B A )B E LE B F87 B FBEB&D A %7 E DB B" D 7 E B A C B A / DB B" D )C B BEB C CB E B A 0B AC A B 8B E E 2 <;
  • < 1E CB C C & >
  • < 1E CB C C AC A >
  • > D BC6 BA C9 C7T " D CE C E EB B" C&B C *= D , >
  • > 6 BA CB !F BF !F BA C DF BA C C AC A . 6 FB A 7D D 0B F 2 C C AEB0B F 2B !F BF !C E C .7 FB AC E C F C "CBD A C " DB" # B F . B DB B C C EBC B >
  • 5B B 0x000003860000-0x000003900000 : "misc" 0x000003900000-0x000003e00000 : "recovery" 0x000003e00000-0x000004300000 : "boot" 9 C 0x000004300000-0x00000c300000 : "system" ! D 0x00000c300000-0x0000183c0000 : "userdata" !AB B 0x0000183c0000-0x00001dd20000 : "cache" ! B 0x00001dd20000-0x00001df20000 : "kpanic" 0x00001df20000-0x00001df60000 : "dinfo" 0x00001df60000-0x00001dfc0000 : "setupdata" 0x00001dfc0000-0x00001e040000 : "splash1" 0x000000300000-0x000001680000 : "modem" 5C D C&# A ><
  • > 9 CBC BC A E C BCA/BC A A7 B 4 EC D C C " AF D BC C A A BC Y C *,7 B 4 " E C F DE C D BC C >>
  • > AC A 71 $ BC $B AC ! C C B D B AD D D CD 11E BAQ D C C BC AB D BAFA CE DB B" C *F A C : DB B" C, E A A C A B Y C @4 " *T " , D A B CE C >?
  • >< T " $7 B Y C @4 " *T " ,CBD / C !FB ! DA !B Y C !B YDB C D BC *0 D B AC A C B T " 2$CBD / C !FB ! C !Q ! AC A( D BC LE*, B T " N DB *,CBD / C !FB ! C !QBEB! D!B AC A! C B! !T" 7 QBEB >A
  • C BA B *, BC D CE C*, DB" B D CE CN C *, CBD / C !FB ! CE !QBEB! D!B AC A! CE C! D CE C QBEB BC D CE !DB B" C BC E EB B" C A7 C1(3Y=1E &B C >G
  • ? & :9 C >;
  • ? AC A DBB /D D B A C6 A CB D DM D BC A E D C( E& "" C ?
  • A =BCA/BC C6 6 T C " ) 6. 7% * BE A C%& BD B D ,C% EB B C C C E A A F"B / BY B) B A CBD F C AC E C *!A E! F ,9 DB B A 9 F BCA A E *!A E! E ,&" EB B C C C E A A F " 6B " 9 F BCA 6 6B C 8 B A EB B C C C E A A FB A * A & A C B B B B CB A C C "" A , BD CB EB B C C C E A A F BD CB * A L<& C AC E C A C B B CB A C "" A ,% / C EB B" D 0BB 2 C B C EB B C C C EA A F C C D C EB" 5 A 1C B C C &" %C C D CB C %C : D(BA &B C 7 C B EB B C C C E A A FC V D B BD S V(7& E C S ?
  • G 8B E . C BEB !AB B RS . C AB B ! D RS D D A !A E ! C ! ! F !D ! B ?
  • &F 6 $ D& $ &$ 1 C&Z $ 8 % : D A % C BA C$ L 7% F :)B D CE DB B" C$ E A$ C A$ A$ BAFA$ ?
  • ; )B E FBEB R FBEB B " B" X FLE X F)9 F AC A FBEB R FBEB B " B" X )B E X B =BCDBC" / %. ( B E /( E 1 / /B B 6B C / C A8 / B F7 ?<
  • ; )B E N A :FLE D 0 B 2)B E D 0 A :2A : R B C A F 0A:2. D C A A :R >[. D C A QBC ?>
  • F87 M FBEB 8B E 7 CB B "B C C B " B" $ B $ XX# EB 8 N E. B" A B A B B E A C D R 8)9 BD A A AB CDEFD D E C BEB BF %)5 ??
  • D CE C C CE ) E % A CE% / C EB B" C B 6BC = BA 1F CE C E EB B" C F BCA CE ) 1F CE C ( " C 7 E A CE .7 E A EB B" C CE%B B" EB B" C 8 B CE 6B CE EB B" C 8 / C EB B" D CE B A" CE EB B" C E CE ( " CE D %C E A C C CE DB E6B C CE F EB B" C ) B CE&" CE E CE )6 " 1F CE CL FCB C CE 8 B EB B" C BCD EB B" C ) E CB" E C7 BB A " & B EB B" C C CE BC CEB A / EB B" C )C 6 : CE6 CE BB B C CE ?A
  • B " D CE. " D CE: 8 B EB B" C 1FQ C C C " R : 81 757 718Y (L7 - 8 B EB B" C D8 B EB B" C R *8 B EB B" C, " D CE * ,-%C BC C B FQ D8 B EB B" C *=&&1Y7)$ B ,- ?G
  • E EB B" C BC / E $ CE5 %C E A C7 FC BA B "11E BAQ DB B B 8 ( A "% CD B DB B" D& DB B" D ?;
  • : BC " /B C D &B C *&B C, BC E * E QBEB, D E EB B" C CE BC L BT " *%C QBEB, E T " A
  • < 6 A C 1(6 ! 1E 7%)B B C " 0 BC 2 0 CB B 29 C C AD B D!A E!F A C ! C !F A C![B AC A [ %7 A D CE C C " F A C A
  • A
  • > 1 %! B B" !B ! B B" ! C EA C ! B B" ! D A A " &B C B %C E A C &B 7E BCD ED B ABC%C E A C 1 B6 E B %C E A C % 7E6C / C %B B" 7 B C ) / BA%C E A C B B C %C )CD%C E A C B ABC %C E C " B %C E A C BD CB D BC 6 : E A B%C E A C C7 B C " %C E A C B A( CA C . C) BC %C E A C) ( CA CDBCB C L )B C= E&L / C A
  • AB * )A + A, ! B A B6 A "6 A D AA " /B B7DB". " BAF A<
  • B A B& B !!B AC A " C C"!C 0C 2 K C !!A " " D!A !" " C !" C !C S ]!F !C K D A BX: ]!F !C5 1 % EB C B B"" A C B C " CFC BA KC !!B AC A " " C D! B CD!DB F B AC A AYC KC A>
  • F FCBC C B DF BF ( C F BA CF A 6 A D D B FAB E )B E LEA E D ) E DA E ) E B A D : C B : C B C Q AF 1 %CBD / C D CE $ B AC A [$ AC A C B A DA $ BCA/BC =BCA/BC C F F C B =BCD A 8)9 B B" AC A B $ C EA C $ C F %C F F BC A )9 D / C A B BC C DF AA A : B CD B BC AC A A?
  • 6 A "( # C ?< F .F <%B B" C # C A K A B " B F A B F ?A E S B F F 4 F : " C " C S "XX F ? A E G? F4 A E F: A E S F A XX? F C > F C >A E S "XX D F% F : B / DF K A ! C! F ! F A XX ? ! C! F ! F A XX K A ! C! F ! F4 ! C! F ! F4 AA
  • F A EC D K - F A! E K&B F A B A " /B " N "BD K DB Q " A C C B FC BF B D B C/ N A K D B CO AG
  • D C F A! E C DDB A) B * D C B ,K : C . Y =R. 0 2 C D 1 %C E EBC 3 N A B D FB B C B A /B C B D B C C D 1 %CK F A! EKK D B C A;
  • < 6 A D8 ( C E0E A 2F A C A B A AC A D G
  • > AA " /B B AA B B ^B _! B B" !B B C B B E C C Q B B" !B AA B B C CB AC A D C Q AA C Q %(1). Y% 9 C^B _!F A! BC" ! C A ! C D G
  • ? 7DB" B AF A ^B _! !7DB" B ^B _! ! BC" ! C A !" C ! CBDA D" D D" CAB B # D D"9 C C F !B AC A BCD! C ! C # DD B C E CC A C CA G
  • A . " BAF B C ! CB /! C " 1 %$ A " D B C = K BAF BC" +) D " " K BAF " B " ! C D BC" K BAF !AB B! B K BAF ! C ! " "4 G
  • ) !BAC " !!B AC A " C C"!LB B !!/// C C" C /B NC C / A AC A C B C 8 C " A! EB B C B B AC A D G<
  • . !B" AB /E 0)5 D B6 F :78B E AB D% / C G>
  • 5 D B!B RS C CC D *) D B ! "C :,! B RS B B BC!A RS D ! ! C !A F "!AB B RS AC AN 0!AB B2 D!A E RS ) E A! RS D ! D!!D RS D CBC D! C RS C!C RS A! F RS E A B A BAFA! A BCA RS ) BCA D! RS! D RS AC AN 0! D2 D!E A C RS D ! D!E A C G?
  • ! D!B RS B B A!F RS 8B E F BC B A AB D! RS " CB! RS 5! CBD / C RS AC A CBD / C QBC! F RS 8B E FCBC! C RS E B C 0! C2!:F RS 1 B !: CB F BC GA
  • !AB B!B C RS 8( CB!B RS B B!B C EB RS %C AB!FB RS 5 C 6B EB B" C!AB E B RS )B E )@ B!AB B RS AB B!A B RS &B B * X C BA , C 0A D B 2! B RS /C BF B!D RS E AB B */ $ E $ F $ ,! C C RS % C D C C * C $ B "$ ,! C RS C AC A AB B BEB BF! D RS D AB B GG
  • 67 B !F7 D ! D! F%C E A F FD FA F AXX F C BAYAF C G;
  • F :7 B ! D! C ! F :7 D ! D!F ! F :%C E A B BCD AB " E D A DE / CA C A DA AA " C D A B AC BA C E CD A E BC D B A B CDA C D D AA A D AC / YD A C CDD A ED B / AD " " C BA C B F C C /B C D : "D C F C / ;
  • < 77 B ! D! C !7 D !( ! C ! ^F BCA_ C ! E AC ! E A ^F BCA_ C ! D! ! ^F BCA_ ;
  • > 8B E AB D CE DB B" CE AC A ABAFA B A ;
  • > CE DB B" C7 B ! CBD / C !FB ! DA ! CE DB B" C!7 D ! D!F !%C E A : DB B" D CF A C CE A : C C D ;
  • > E A7 B ! D!E A!7 D ! D!F !%C E A L D D C D CDB D AA E ;<
  • > C A7 B ! BCA/BC !C !D C !7 D ! D!F !%C E A 0(BA 7 CB &B C2 BCA/BC ;>
  • >< A7 B ! D! A!7 D ! D!F !%C E A EB B" D B / C " 7 CB / 8 / C EB B" D CE ;?
  • > > BAFA7 B ! D! C !BAF!7 D ! F%C E A 7 CB / 0BAF2 DDB A ( D A F "" " B BF %B B" B ! B 0BAF 2 C A B ;A
  • >? B A7 B ! CBD / C !FB ! DA ! B A7 D ! D!F !%C E A %B B" B ! B B B AE C B 7 CB / %B B" EB B" C CE ;G
  • ? % / CA D BA D CE " B ;;
  • ) E! ) " CE C F D CE C1F CE " D CE C B " D CE7 A B / D CE C B " C / D CE
  • CE C F D CE C C CE ) E % A CE% / C EB B" C B 6BC = BA 1F CE C E EB B" C F BCA CE ) 1F CE C ( " C 7 E A CE .7 E A EB B" C CE%B B" EB B" C 8 B CE 6B CE EB B" C 8 / C EB B" D CE B A" CE EB B" C E CE ( " CE D %C E A C C CE DB E6B C CE F EB B" C ) B CE&" CE E CE )6 " 1F CE CL FCB C CE 8 B EB B" C BCD EB B" C ) E CB" E C7 BB A " & B EB B" C C CE BC CEB A / EB B" C )C 6 : CE6 CE BB B C CE
  • D B CBD / C !FB ! CE !QBEB! D!B AC A! CE C >E ] G> E DB B" C ; 9 X
  • 1F CE " D CE C& " BA D
  • " B 5 A D CE CN %7) K BAF Z "C DY CE C D ? ? >< G BA A G DY CE C & C K BAF " B Z "C 0? ,2)!% / CEB B" C CE * ? , F D A7! ( " C * ? , CE B D AC A AC A ? .E7! ( " C * ? , )B B B R )B B E % F RB C B R C B 8BD R / C R7! BC EB B" C CE * ? , 6 A " BC BF B E7!B CE * ? , B CE C " 8 D / A / C C7! E EB B" C* ? , " B " A ` B R D R ! ? R Y. R R ! ! BER !7! ( " C * ? , E B" BB " B " A B7! ( " C * ? , B 5 C/BCA " B " A B7! ( " C * ? , )B B B R )B B E % F RC C B R D&7! ( " C * ? , )B B B R )B B E % F RC C B R D&)! C "* ? , EB C7 B B C E B" / B R7! E EB B" C* ? , BC C B AC A C D A B C FC BA B D B AC A C E A C A / BA ! ) / BA( E C AR AR " A R` >$ $ a7!( E C D* ? , 8 C E C "B!B A /EB B" C* ? , C 4 D : C A <
  • A D CC C " CE CB 5 " C B F B B E B BCD B / A" B A FB / / A /).E% 15 (L7 CB 5 " CX &B C : ;?F; 4R $ R* $ ,$ 4 R* <G $ G ,$ A 6 A "R $ A ) C "R $ EB AB _ BD R D B AC A B C! D B AC A B C &B C R : ; <G$ A R? ^ BAR $ BEB BF R $ # AR _ C B EB R $ . R $ A R?$ B R CDB R $ ^<G :G <G _ ^<G :G <G _$ C 4 & R : $ A# # D R> A>? >
  • B " D CE. " D CE: 8 B EB B" C 1FQ C C C " R : 81 757 718Y (L7 - 8 B EB B" C D8 B EB B" C R *8 B EB B" C, " D CE * ,-%C BC C B FQ D8 B EB B" C *=&&1Y7)$ B ,- ?
  • < 7 A B / D CEC 1 % C $C 7D C B A B D A . C E C " C " 7DB" : (B B &B :6 B $ N A D AB / C A
  • < E EB B" C BC / E $ CE5 %C E A C7 FC BA B "11E BAQ DB B B 8 ( A "% CD B DB B" D& DB B" D G
  • : BC " /B C D &B C *&B C, BC E * E QBEB, D E EB B" C CE BC L BT " *%C QBEB, E T " ;
  • < %B B" EB B" C<> 97 B B ! C D EB% CD7 C *B 7 ( E C QBEB, B AF E EB B" C
  • < B A / EB B" CEB C BAB A / DB BBB B C B A "1C B5&B C "7 E DB B" D
  • << 8 B EB B" C B8 B A B FB * 8 B %B C QBEB,
  • < > % / C EB B" CBB6C "&
  • < ? 8 / C EB B" D CE B 0 A2 ! D! A7 CB " CB C ")8 <
  • <A E CEE !. D5 CDB. 6 DB CB"166 >
  • <G & B EB B" CEB B" B C EA C" 6 %C E A C*,%C : D B C&B / B ?
  • <; B 6BC EB B" C: B A ! B7 E F( E B B FB B FB C B DB B" C A
  • < 6B EB B" C BF ! A BF CB C DB B" DFB 8 /*, G
  • > C B " C / D CE AA C ACBD / C !FB ! CE !QBEB! D!B AC A! CE C!=BE D CE C QBEB XC " C CE) BCA/BC %7 CB: C " CBD / C !FB ! C !QBEB!B AC A! !^ CE C_ B A B B E 0AC E C2 A C " F877D D C B C CB AC E C C B B B B B CEEB A C B / )9 ;
  • > 1 C CE QBEBpackage com.android.server;import android.content.Context;import android.os.Handler;import android.os.IOpersysService;import android.os.Looper;import android.os.Message;import android.os.Process;import android.util.Log;public class OpersysService extends IOpersysService.Stub { private static final String TAG = "OpersysService"; private OpersysWorkerThread mWorker; private OpersysWorkerHandler mHandler; private Context mContext; public OpersysService(Context context) { super(); mContext = context; mWorker = new OpersysWorkerThread("OpersysServiceWorker"); mWorker.start(); Log.i(TAG, "Spawned worker thread"); } public void setValue(int val) { Log.i(TAG, "setValue " + val); Message msg = Message.obtain(); msg.what = OpersysWorkerHandler.MESSAGE_SET; msg.arg1 = val; mHandler.sendMessage(msg); }
  • private class OpersysWorkerThread extends Thread{ public OpersysWorkerThread(String name) { super(name); } public void run() { Looper.prepare(); mHandler = new OpersysWorkerHandler(); Looper.loop(); } } private class OpersysWorkerHandler extends Handler { private static final int MESSAGE_SET = 0; @Override public void handleMessage(Message msg) { try { if (msg.what == MESSAGE_SET) { Log.i(TAG, "set message received: " + msg.arg1); } } catch (Exception e) { // Log, dont crash! Log.e(TAG, "Exception in OpersysWorkerHandler.handleMessage:", e); } } }}
  • > 71 C CE BApackage android.os;interface IOpersysService {/*** {@hide}*/void setValue(int val);}
  • > CBD / C !FB ! AC A D C !QBEB!B AC A! !7% / CEB B" C B A C !QBEB!B AC A! !71 C CE BA C !QBEB!B AC A! !7( D B FB B A
  • >< D CE C QBEB A E B F : 1%( 3 Y (L7 try { Slog.i(TAG, "Opersys Service"); ServiceManager.addService(“opersys”, new OpersysService(context)); } catch (Throwable e) { Slog.e(TAG, "Failure starting OpersysService Service", e); }... <
  • >> = CE C QBEBpackage com.opersys.helloserver;import android.app.Activity;import android.os.Bundle;import android.os.ServiceManager;import android.os.IOpersysService;import android.util.Log;public class HelloServer extends Activity { private static final String DTAG = "HelloServer"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); IOpersysService om =IOpersysService.Stub.asInterface(ServiceManager.getService("opersys")); try { Log.d(DTAG, "Going to call service"); om.setValue(20); Log.d(DTAG, "Service called succesfully"); } catch (Exception e) { Log.d(DTAG, "FAILED to call service"); e.printStackTrace(); } } >}
  • # 1 E! !BA ! CBD / C !FB ! C ! ! CBD / C !FB ! CE !QBEB! 1 % C EA A & ! CBD / C !FB ! CE !Q ! ! BCA/BC ! F BCA/BC ! !A E !^E 8.5 _!^)L7 _EB C EA A ! A ! D B C!EB 9 C CD AEB C EA A C! ?
  • ^B _! BCA/BC ! F BCA/BC ! A ! BCA/BC " " C^B _! BCA/BC !C ! A ! ! C:BD ^B _!A E ! BD "! C ! FB A F BD CB F " F C. " F87 B A
  • B F87public class HelloJni extends Activity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Create a TextView and set its content. * the text is retrieved by calling a native * function. */ TextView tv = new TextView(this); tv.setText( stringFromJNI() + " " + pid() ); setContentView(tv); } /* A native method that is implemented by the * hello-jni native library, which is packaged * with this application. */ public native String stringFromJNI();... /* this is used to load the hello-jni library on application * startup. The library has already been unpacked into * /data/data/com.example.HelloJni/lib/libhello-jni.so at * installation time by the package manager. */ static { System.loadLibrary("hello-jni"); }} G
  • F87jstringJava_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ){ return (*env)->NewStringUTF(env, "Hello from JNI !");} ;
  • AB 2 1A D& B B A DB AC A [ D 4B
  • & B B A D^B _! CBD / C !FB ! DA RS B E DA B A AB D ! C RS B AC A [ B A D B AC A [ !AB B RS 5 B A A !"CB RS ) O ( A C C ! A RS 0 2 A ! C RS C C ! F RS 0 2 FCBC ! B RS & B C EA C !D A B RS B" C " $ A $ ! B E RS 8B E A C D CBD / C D ! F : RS 6 F : ! " RS C& FCBC B A QBEB A ! B B" RS / C B B" * B 6BC, ! CE RS D CE C ! RS % C B A B ! RS / C *BB $ B A $ , !E RS ( % O 7% CB !E RS L%8 B !/ RS B DB B" C$ D C$
  • B AC A [accessibilityservice content hardware pim speechaccounts database inputmethodservice preference testannotation ddm net provider textapp debug nfc security utilappwidget emoji os server viewbluetooth gesture service webkit widget
  • D 4B: A " %76 C B FBC8 / C%C BA A B6C / CF DBCDB C EA C D 4B D
  • : A " %7 M D CECBD / C !FB ! C !QBEB!B AC A! B ! : 7D QBEB ! : QBEB !1 C EB B" C QBEB <
  • B ! : 7D QBEB...import android.os.IOpersysService;import android.os.OpersysManager;... private DownloadManager mDownloadManager = null; private NfcManager mNfcManager = null; private OpersysManager mOpersysManager = null;... return getDownloadManager(); } else if (NFC_SERVICE.equals(name)) { return getNfcManager(); } else if (OPERSYS_SERVICE.equals(name)) { return getOpersysManager(); }... >
  • private OpersysManager getOpersysManager() { synchronized (mSync) { if (mOpersysManager == null) { IBinder b = ServiceManager.getService(OPERSYS_SERVICE); IOpersysService service = IOpersysService.Stub.asInterface(b); mOpersysManager = new OpersysManager(service); } } return mOpersysManager;} ?
  • ! : QBEB... /** * Use with {@link #getSystemService} to retrieve a * {@link android.nfc.NfcManager} for using NFC. * * @see #getSystemService */ public static final String NFC_SERVICE = "nfc"; /** The Opersys service **/ public static final String OPERSYS_SERVICE = "opersys";... A
  • !1 C EB B" C QBEBpackage android.os;import android.os.IOpersysServicepublic class OpersysManager{ public void setValue(int value) { try { mService.setValue(value); } catch (RemoteException e) { } } public OpersysManager(IOpersysService service) { mService = service; } IOpersysService mService;} G
  • 6 C C B :<G DB"7 B DB" DB" K A B " B DB" DB" E C DB" C CDB K E C C Q " C C E C DB" >?> CDB K C"F >?> V C CS C >?>BC DB" B K B F B B C >?> ;
  • B FBC& B CBD / C !FB ! B B" ! D.7! C ! D!B AC A! D ! B FBC& C D CE 7 * ,) BF / D CE 7 L F *0^7 18Y8 E_b$ B ,- <
  • < 8 / C& B C FB B CBD / C !FB ! C !C !C !:D !B :D ) E B %(1). Y 1%3Y57& RE A C!B D ! !B :D D! !B :D ) BD D! !B :D5 CDB VB BCC CRb E F . b D Rb b D Rb ? b B Rb /B E C BD Db CRb b CE CRb[b B / CARb b C : Rb ? >> ?> > b C RbG G b DD Rb !! ? >> A< G<! CE !DD b !S <
  • > %C BA A B F A! BC" ! C A%(1). Y% 9 C R F B D B AC A B C EA C D B AC A B C E A C :D C C Q C B Y YAD CB AB E ED A :A <
  • ? 6C / CF DBC B B" !B !6C / C!C !EB ! C " :DVH 6 DBC SV C " BCCB BD RbF DBC bS V DSC " V! DS V DS !!/// " " D!V! DS V DS3B HV! DS V DS !!/// B D!V! DS V DSE 8V! DS V DS !!/// D D!V! DS V DSE B V! DS V DS !!/// D B D!V! DS <
  • A DB C EA C D 4B B B" !B !DB !C !:D ! C E A C :DVH CDB EBC B S V C E A C ARb"DB b BF RbCDB b A DB Rb"DB DbS V D " C Rb DB X X !! DB "DB Db C BD RbK DB b!S V " " C Rb D X X !! D "DB Db C BD RbK DB b!S V! C E A CS V C E A C ARb" " DB b BF RbC " EB b A DB Rb" " DB DbS V D " C Rb DB X X !! DB " " DB Db C BD RbK DB b!S V " " C Rb D X X !! D " " DB Db C BD RbK DB b!S V! C E A CS VH DD . C EA C S V C E A C ARbB Db BF Rb 7Eb A DB RbB D DbS V D " C Rb DB !! DB B D Db BF Rb7E %b C BD RbK DB b!S V " " C Rb D !! D B D D >GAb C BD RbK DB b!S V! C E A CS V C E A C ARbB b BF Rb 1&b A DB RbB DbS V D " C Rb DB !! DB B Db BF Rb7E %b C BD RbK DB b!S V " " C Rb D !! D B D >GAb C BD RbK DB b!S V! C E A CS <<
  • G DCBD / C !FB ! C !C !C !EB ! :D <>
  • E!A 3AA F B E 4 " B!E(B B )9 " CB8)9 " CB C B "B C A E B <?
  • (B B)9 %C E A " C C B BD C : C B A E C B C D A A! D AC A %78)9 BD B )9 CB B D C A E B CA BE A BE " B F BC B C D BC C F A BCBD C A C B B : F BA " F <A
  • )9 " CB6 A " )9 K F A! E K A " K DB A7 %7 D A A$ A F C DB K DB AB B& B ^B _! ! ! : :G?! A !. "B D )9 SB A / S%C C S AC A S2 )9 & B 2 SB A / Sb AC A )9 B A L) EB B" Cb Sb7 B A %B B" b Sb. AB b <G
  • 8)9 " CB6 AK A A !F A!K : C 8)(17)Y8)9Y(11 R^B _! AK !DB C BK !DB C B7E%1( 8 B (878C HH C A " CB B 8)9 C B B B" C D CB C / " B CD : :G? C @ (E&3 &18C B A DB B L( & =1.( BA B CDB 7 B A B $ B C BA A !)L&1%E8 @ B C EA C / A B D C B C C /B A B ^ !8_ <;
  • < C B "B C A E B AEE!AA0 C C EB BF B !! D C B" C"! C Q ! C) / BA $ B $F A $ B $ D C 5E " FB A C F $" F B A " F C (E$ 6 B $ E7% $ % / C% $ =$ c5B C / DB B A >
  • E DB C / " BC B A.F CA C C " "B/ : B DB F E F C >A E. 0 A B " B 2 " >
  • ) / BA B A : CB K`%(F(11 a!F A " C C$ cd crosstool-ng-1.10.0/$ ./configure6 AB A B C "$ make$ make install " C C$ cd ${PRJROOT}/build-tools$ ct-ng menuconfig >
  • Options: %B S%C :AC C K`%(57@a!K` Y (C a BC" SBC C / C 1 S BC" 1 : FCBC S FCBC " F FCBC S: CB B" .Y51( 753Y 1.( ) F " B "AF O CB6 A B$ ct-ng build >
  • A !B BB! 3 E! ) B! AC A D B F %C "CBD C A AC A B D B F ) ) D * )), M % D B F * ,ME B DB AC A E C B / )) O %BC 1 % ( C D ". 6 E C B B AA E 6B A F. ( EBC B BC" ( )6 %C E A C C F F B B 4 A B A! C FB C " ><
  • >>
  • ( C 4 B " @E& B A C UB AC A D6 A " K F A! E K DB&B " K A ! ! : :G?!F ! K ! K Y S K Y S >?
  • . "K Y S B& B *G B, " B C(LE% C CDB C AC AFBEBK ! BC B >A
  • C B E C A " B C%B CD %7)B E LE%B CD )B B E A%B CD 7%B CD % CD%B CD ( C >G
  • BBC D B" D CU C D >;
  • / A" D D " C B A B C DC " N AC A 0) E C A 2 B A E C B AC A DA CF A A C B ?