embedded android workshop andevcon 3

160
AB CADEFA A B FA DBFA

Upload: opersys-inc

Post on 17-May-2015

594 views

Category:

Documents


4 download

DESCRIPTION

Karim Yaghmour's "Embedded Android Workshop" at AnDevCon3

TRANSCRIPT

Page 1: Embedded Android Workshop AnDevCon 3

��

������������AB��CADEFA�

������A�����

��B�����F�A��D�B����F�A�

Page 2: Embedded Android Workshop AnDevCon 3

��

��������A���BC��DBA��BEB�BF������������A�C�B��C�B�E����DD������BC������������������������������CD����������������BC����C������ ��!!�C�B�E���DD�����C"!�������!F���B!���!

���CF�����C�#�C�D�����B�A�D���$�%&'��'�('�)�

� ������A��D����C�DB��B����������� ��������B����*��A��+�,$��E�C����"����������BC���C��������B�"�-�����A�"�������"����,

� .�������"�C���������C�A���D�����D������B��C������F���/�01C"�B���B�2�.(&�DD�AB�������A�C���B���"�C��B�A�����F���/��� �C"���������/��C��B C� CB���

� 3���BC���C����������������0)��E�C�A�B�A!�C������D4�A�F�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��A�F���9BCD�3B"�D��C

1C"�B���B���///�� �C������D!��DD����!A���

�)��E�C�A�B�A!�C������D4�A�F�

Page 3: Embedded Android Workshop AnDevCon 3

��

�F���

� �����C����

� 7��C�A���A�&��:��CB�������������;;;

� 1C"�B��A��A����B�A�C��B����*��C���!C��B���,

� �CB��"$������D�)�E$���������"$����

Page 4: Embedded Android Workshop AnDevCon 3

<�

�F������AC�A

� =�"�

� 5B���D�E�"

� ���B����

Page 5: Embedded Android Workshop AnDevCon 3

>�

���A����BA���A�������������AB�

� 6B���

� =���C�

� '�������D

� &�"B���CBD�/�C�

� %�B���CD�B�A��BCA/BC��C�#�C�D����

� )�E��� D���������

Page 6: Embedded Android Workshop AnDevCon 3

?�

���6B���

� 5�B��C��

� .@������ ��

� � ������ ��

Page 7: Embedded Android Workshop AnDevCon 3

A�

�����5�B��C��

� � ��B�����CBD�/�C����BF��"�C�����B�A�C� �B��D���������D ������

� )B�E��EC��B��DB������ �D4�A���C�D�F���A�E���

� 7���"CB��A�FC�/��C�FB��A��������� ������C���B�F9����"��

� 1 �D4�A�"CB ���� �/�C�A�F��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�$�EA��$�B�A������DB"����CDB���*E%'C<$�=��?<$�E%�$����$��E($�F%C$�%8C$�C75,

� C�E����� �����*�BCA/BC��A� ��A���,

� 6��������$�')C'$��C$�B�A�B5�*�BCA/BC��A� ��A���,

� �BD�CB$�C%�$���D B��$�B�A�B�����C�D���C�*�BCA/BC��A� ��A���,

� (���A�E��� D������EC��D��������A�"�B�A�E����D��B��C$���������C�A�F�""�"$�D�D�C��B�A� �C��CDB���� C����"$�B�A�B� ��"����C�����'�� ���7)'

Page 8: Embedded Android Workshop AnDevCon 3

G�

�����.@������ ��

� 6C�/��C����

� %�������

� 8�����C������ �����0�B��2

� EB�������

� =1E'

� �'�(�=

� 6��9

� E'8.

� � �D�A���B���/�����C������B��������B��!�����B�D����B�����"

Page 9: Embedded Android Workshop AnDevCon 3

;�

���B�B��

�A������

��D

���E���+�!�"B�D#

!�"B�D#

���E���+�

���E���+�

!�"B�D#

���E���+�

���E���+�

���E���+�

! ��D#

! ��D#

!�A��#

Page 10: Embedded Android Workshop AnDevCon 3

���

������ ������ ��

� 8����"������C�� ����*8��DB�*,�HIHI,

� .�����B�A�/���C�.�:��%7!��DB�������DB���/B��

� %C��������B�A�B ��/���F������A�B��CB�A�D��A�E��� �C�D������A��B���CA�"��

� .7�A����CD�AB��A��C�D�B �0FCB��2

� � ��BC�����B��A$�E�C�

� 6��BE�C� C�A�B��A������/�D�D�C�����A����

Page 11: Embedded Android Workshop AnDevCon 3

���

���=���C�� �����

� ��C"���6C��B�A�&BCC��%B"����BC��A����"��A������DBC� ����

� �A�����������������DBC� ���������"CB��"�/�F$�7E$�DB�$�����

� �A�����/B��DBA��F��)B�"�C����$��������A�A�F����A��(�F��*�'1,

� 6C�!%B"��D���(�F��B����B���CA��B������"BE������A����J��A�E��� D���

� C��"���/B��A��B������BC�����"�������A����

� ���<�

� )�� �������������/�"$��A�����/B��J��DB��"�K

� )B�"�C�����F�BCA�A��A�A����C� �B���(�F�

� (�F��������C������A�K����BC��A���AC�A�������BC��A������"���C�L���

� C�B���1 ���D�F����B�A����� �B���CD

� ���>���F����

� C���F��"���F��C��"�����C���A������A���D��,

� ���A���8�E�DF�C�

� 1 ���=B�A�������B����B�������A�B���"�/�����AC�A

Page 12: Embedded Android Workshop AnDevCon 3

���

� ���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�

� �����M�8�E����AC�A�<���!�7����C�BD��B�A/���M�D�C"��C�"�CFC�BA�B�A�=������DF

Page 13: Embedded Android Workshop AnDevCon 3

���

���'�������D

� G>��� �����B��EB����� �C�AB�

� <����B ��*E���>G>����C�� ��N��B ����C�,

� O>�P����B��.���DBC� �������F��CF�C�

� ���

Page 14: Embedded Android Workshop AnDevCon 3

�<�

�����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������� �$�6Q8�8119�� �$����

Page 15: Embedded Android Workshop AnDevCon 3

�>�

�����1 ���=B�A�������B���

� 0���� B� "C�� ���� G�� ��������"��B�A�D�F��� ��D B����/����BE�� ��D�� ��"����C� ���B�����CB������EB������D�F���B�A�����C������D�C��B�C���C$�������: ���E�$�B�A�F����C� D�F��� �: �C������ ��"����C� /�� �BE�� A�E��� �A� ��AC�AR$� ���� �C�����D ����$�� ��$�B�A��C���D�F��� �B���CD�2

� .����BC�/�B��1=��A�����C�/�B��F������$���B��$�D�DF�C��A�CE�

� 8���B���C"B�4B����/���F�BCA�D�DF�C�$���B��$����������S����B��0���B���2

� C��"��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��������

Page 16: Embedded Android Workshop AnDevCon 3

�?�

<��&�"B��5CBD�/�C�

� ��A��B�����

� ��A���������

� 6CB�A�"����

� C��"��N���/����AC�A�� �

� ����C�B�E��� ����C��

� 1CB����E��C��"��

Page 17: Embedded Android Workshop AnDevCon 3

�A�

<������A��������

� %BC���

� 9�C���

� ��AC�A�1 ������C���%C�S����*�1�%,

� 9�C����

� �����A��BE��B����������B������� �A�E�C����TU�C%&�C�#�C�D���

� C��"���DB��B��A���C���B��B�AC�A�"��"�����C�����D

� �1�%�

� ����������A��AC� ���E�C��?�D�����

� 1���B���1�%�FCB������B��B�AC�A�"��"�����C�����D

� EB�B"�A�F��0C� �2�����$�B���E�C�B�����0"�2

� =������DF�*���,���A��C�#�C����B���"����C��"��

� ����/�����B��N�� C����A�A�D�A�C���C�D�����"�F�BC������������)9�B�A� ����"�=������DF����B�����C������A�E���$�����A�"�6Q8N��8�������

Page 18: Embedded Android Workshop AnDevCon 3

�G�

<������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���V�B�A�)6.�

� ��D��������D ���������6�)��6����B�A�����F�:�

� 0�:��C�B�!2�AC����C������B���B�D:�A�FB"�����������$��������������C%&

� EB��F��A��CBF������BAA�C%&!&C%&���D �������

� 6���6�:

� ���F��!��"�F��!�"�F�

Page 19: Embedded Android Workshop AnDevCon 3

�;�

<����6CB�A�"�.��

� ��AC�A�(�F���

� L�C��D������������&��:� ��"��

� ��AC�A�&�"��*��8�)�(�1�7�)�/!��� ��B��,�

� �B�����F�����A

� ��AC�A������D��� ��B���

� �B�����F�����A

� ��AC�A���1���B��8BD���

� ���A���C ��C�������0��C���AC�A2

� E��������C������C�#�C��B C�EB�

� ��AC�A���E���B"�"�

� ����/�A��������/�A�F��B�"���C���0��AC�A�� ��B���2

� ��D �B������C��"���))!�����E��E�A���0B C�EB�2

Page 20: Embedded Android Workshop AnDevCon 3

���

<�<��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�� �W"��"�����D

Page 21: Embedded Android Workshop AnDevCon 3

���

<�>������C�B�E��0� ����C��2

� ����� ���������C���BC��B�C�BA�� �F���

� ��AC�A�EBC���

� �DB4���� ����C�

� L������� �

� 6Q8�8119�� �

� ���

� 8����"� C����A�"������C�D��BE�"����C��/�

Page 22: Embedded Android Workshop AnDevCon 3

���

<�?��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������BA�

� 7��1���F�C�����$�76E������� B����=BCD�������S���/�C�����1CB���N��1 ��F)9$���BE�"����� C�S���� CB���B�����C �B��A�

� 7��EB������$�S�A"���CA�C����BD�������C�D����������B�A� C�C�BC��C���C�����������C�D����AC�A�����G

Page 23: Embedded Android Workshop AnDevCon 3

���

>��%�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�$�����

Page 24: Embedded Android Workshop AnDevCon 3

�<�

>������D �B����)�������)���D���

� ����/BC���E.��������CD�����1�%

� � ��B����%B��B"�"���D B�F������� �C��0�B �2�����

� E���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��

Page 25: Embedded Android Workshop AnDevCon 3

�>�

>������D B�F�������������

Page 26: Embedded Android Workshop AnDevCon 3

�?�

?��)�E��� D���������

� (�#�C�D����

� � �A�E�������B�A�C����C���

� � �A�F�""�"

Page 27: Embedded Android Workshop AnDevCon 3

�A�

?����(�#�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

Page 28: Embedded Android Workshop AnDevCon 3

�G�

?����� �A�E�������B�A�C����C���

� �)9�

� B�AC�A�M�DB�B"���L)��B�A��)9���D ������

� B �F��A�C�M��C�B��"��B �� B��B"��

� A:�M����E�C��"��SBC�����A�:

� BAF�M�A�F�"�FCA"�

� ���

� 'D��B��C�M�D'E.�FB��A��(E��D��B��C

� .���9LE���C�:G?�����BA

� 8)9��C8.�������B����C��B�E��F�BC��

� )���D���B�����A�E��� �C�B�AC�A���D

Page 29: Embedded Android Workshop AnDevCon 3

�;�

Page 30: Embedded Android Workshop AnDevCon 3

���

Page 31: Embedded Android Workshop AnDevCon 3

���

?����� �A�F�""�"

� BAF

� AAD�

� D�����C����C

� �CB��E�/

� ��"�B�

� '�� ������"CB����*�)�� ��"�,

Page 32: Embedded Android Workshop AnDevCon 3

���

�A�����E�����������"E

�����AC�A������ ��

���5CBD�/�C��7��C�

���8B�E��)�E��� D���

<��1E�CB����C�������C�

>�������D���BC��

?��&��:�9�C���

A��=BCA/BC���� �C�

G��8B�E��.��C�� B��

;���)B�E�

���F87

��������D���CE�C

����B���"������CE���

������E���EB�B"�C

�<�6�A�C

�>��������1�%�� �

Page 33: Embedded Android Workshop AnDevCon 3

���

�����AC�A������ ��

� ��D ������

� 7������

� ��D ��������������

� EB���������

� %C��������B�A���C�BA�

� (�D���� C���A�C���B���

Page 34: Embedded Android Workshop AnDevCon 3

�<�

�������D ������

� ��� �T�8���D ������

� � ���B��������D ��������������C�B ��B����

� � � C��������BC��B���DB"�B������BC��A�/����E�C�B��� BC�������A�A

� 'C"���8����C�� ����$�H�$�B�A�HDB�*,

� ��D �������

� ���E���

� ��CE���

� 6C�BA�B���(���E�C�

� ��������%C�EA�C�

Page 35: Embedded Android Workshop AnDevCon 3

�>�

�����7������

� 7������T�B�����C������D���B"��/!��C�/!��A��"�B��A��BC"��

� &���B� ���D�C ���.�:��"�B�$�F���/!��C�#�C�A��BC"��

� 7�������0 B���BA2����A���7������1FS���

� 7������5���C��� ����A���EB���������

Page 36: Embedded Android Workshop AnDevCon 3

�?�

�������D ��������������

� �����D�B���DB"�B������BC��!��� �!����� C��������

� '��C�������D�F��BE��C� C�A�B��A������/�D�D�C�

� �����D��C""�C��&���������B��FB����/����C���EB��

� 'C"���E����DB�B"����D ������&�������

� ��D����D �������BC��D�C����D ��:����DB�B"����B������C�

Page 37: Embedded Android Workshop AnDevCon 3

�A�

Page 38: Embedded Android Workshop AnDevCon 3

�G�

��<��EB���������

� 7���CD�������D�BF����B J����D ������

� @E&���CDB�

� ��/B����B���A���AC�AEB������:D�

� ���E���T�XB��E��U�������B��

� ��CE���T�X��CE��U�������B��

� 6C�BA�B���(���E�C�

� ��B���T�XC���E�CU

� )��BD��T������:��C�"���C(���E�C*,

� ��������%C�EA�C�T�X C�EA�CU�������B��

Page 39: Embedded Android Workshop AnDevCon 3

�;�

��>��%C��������B�A���C�BA�

� %C�������

� )��B�����B����B��FB�������B���B ���D ������BC������A��������DB�� C��������C�BA

� XB��E��UYX��CE��UYXC�� ���UYX C�EA�CU��BE�� C������B��CF��������E�CCA��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�1FS���

� ��AC�A��%7� C�EA�����C�BA���� �C���B�����

� &�� �C����C�C����"�B�D���B"����� �/���B���C�BA

� =B�A��C����C� C������"�D���B"��

� =B�A��C��C�BA����C������"�� �B���C�BA�/���B�D���B"�����

Page 40: Embedded Android Workshop AnDevCon 3

<��

��?��(�D���� C���A�C���B���

� ��AC�A�(%���T�6�A�C�D���B��D

� 8������L�7%��A����������C����C����C�����B�B"�

� 6�A�C���B���/���E����������B���$��������A�B���

� 7����BA��D����A��������C�B������"�7���C�B���)�������&B�"�B"��*7)&,

� 7)&���A����BA����������"���CB���FBEB����C�B���A�������

Page 41: Embedded Android Workshop AnDevCon 3

<��

���5CBD�/�C��7��C�A�����

� .7

� )B�B����CB"�

� ����C��!%�CD�����

� ����B�A�D����D�C�������

� CCB ���

� ��A��B�A�LA��

� &��B����B�A�EB �

� 6��������

� 85�

Page 42: Embedded Android Workshop AnDevCon 3

<��

�����.7

� 'E�C����"�FB��A������CBC�������L�/��B�A�L�/CC�� ��*�B�����,

� )���BC�A���@E&��C�A��BD�B������C��"��FBEB

� .7���D �������

� BA"���

� 'E�����B�A��C�

� E����

� )B��"�

� 8����B����

� ���

Page 43: Embedded Android Workshop AnDevCon 3

<��

�����)B�B����CB"�

� ��BC�A� C���C�����

� %CEB��� CD�E������ BC�EB����

� 7���C�B�����CB"�

� %CEB���AB�B����A�E���D�D�C�

� ':��C�B�����CB"�

� %�F���AB�B������BC�A��:��C�B��A�E���*�),

� �D&���)6

� %CEB���)6

� 8��/�C�����������

� B�F�FB��A����CB"��*('��,

Page 44: Embedded Android Workshop AnDevCon 3

<<�

���������C��!%�CD�����

� E��������C�������C��A�B�� 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���

Page 45: Embedded Android Workshop AnDevCon 3

<>�

���8B�E��A�E��� D���

� B�B�����B��B�A��B�����A�

� C����"�B�A����B���"�����8)9

� .��"�����8)9

� 7D ��D����"��������B�E��B �

Page 46: Embedded Android Workshop AnDevCon 3

<?�

�����B�B�����B��B�A��B�����A�

� .��������C�

� %�C��"��:���"�F�A�������A�������AC�A

� )�E��� �"�� �D4�A��B�E��B �$��� ��B������C�"BD�"

� %C�EA���

� ������B�A�F��A���������"���CB����B�E����A���FCBC����C�D��!�ZZ

� 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���

Page 47: Embedded Android Workshop AnDevCon 3

<A�

�����C����"�B�A����B���"�����8)9

� B�B�J��������8)9I

� )�E��� D���������

� ��BF����B�E���%7�������D���BA�C�

� )���D���B������7E%1(��8�

� �BD ���

� C����"�����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�C�B�A�/�$���"/����A��C��"��C

� 8)9������ �

� EB�����C�� C�C�#������BC�����B���A

� )�/���BA�B�A����B���8)9

Page 48: Embedded Android Workshop AnDevCon 3

<G�

�����.��"�����8)9

��%�B����B�E����A����A�C�X C�S���U!S�!���

���C�B���X C�S���U!S�!��AC�A�D�����A���CF���B�E����A�����8)9

��1 ���B����C�B���X C�S���U!S�!� ��B����D����C�A���CF�"�/�����B�E������C����BC��C�#�C�A�F��B

<�6��A��B�E����A��

� �A�X C�S���U

� X�A�U!�A��F��A

>���D ���B �/����)9��8B�E����A��/���F����BC�A��F����B ������

Page 49: Embedded Android Workshop AnDevCon 3

<;�

��<��7D ��D����"��������B�E��B �

� ��AC�A�����B�A��

� 8B�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���������B�����

� EB�����C�����C�B��E������B���A��0B�AC�A�B �8B�E����E��2

Page 50: Embedded Android Workshop AnDevCon 3

>��

<����1E�CB����C�������C����'&

Page 51: Embedded Android Workshop AnDevCon 3

>��

<����1E�CB����C�������C������AC�A

Page 52: Embedded Android Workshop AnDevCon 3

>��

>�������D���BC��

� 6�����BA�C

� 9�C���

� 7��

� V�"���

� �����D���CE�C

� ���E���EB�B"�C

� &B�����C�*=�D�,

Page 53: Embedded Android Workshop AnDevCon 3

>��

>����6�����BA�C

� B�� !F���BF��!F�����BA�C

� �����D�F�����BA�C���C���AC�A

� .�6�FB��A

� 7D ��D���������0�B��F���2� C������

� ����C����A�EB�0�B��F���2����������������

� B�� !F���BF��!C���E�C�

� .7�FB��A�C���E�C��F���� C�"CBD

� �������A���C��"��DB"��������#������B��F���

� .��B����DB���B���C�C�� �����EBCB��

Page 54: Embedded Android Workshop AnDevCon 3

><�

� 5�B����B�����

0x000003860000-0x000003900000 : "misc"0x000003900000-0x000003e00000 : "recovery"0x000003e00000-0x000004300000 : "boot"0x000004300000-0x00000c300000 : "system"0x00000c300000-0x0000183c0000 : "userdata"0x0000183c0000-0x00001dd20000 : "cache"0x00001dd20000-0x00001df20000 : "kpanic"0x00001df20000-0x00001df60000 : "dinfo"0x00001df60000-0x00001dfc0000 : "setupdata"0x00001dfc0000-0x00001e040000 : "splash1"0x000000300000-0x000001680000 : "modem"

5C�D����C�&#�A�'

9�C���

!�����D!AB�B!�B���

Page 55: Embedded Android Workshop AnDevCon 3

>>�

>����9�C���

� 'BC�����BC�� ���A����E�C���BCA/BC��A� ��A���

� 7��B�4�����EC��D������C�����C����"��������A�

� F�D ���������BC�������C���A� ��A������BC�[��C���*,���������

� 7��B�4����"����E�����C������F�����D�

� E������C������������D

� ��BC���������� C�����

Page 56: Embedded Android Workshop AnDevCon 3

>?�

>������AC�A�7��

� 1 ��$� BC���$�B�A�C����!���C��

� �C�B���D���� �����B�A�D�������������D�

� ����� ���������D� �CD�����

� ����11E�BAS���D����� C� �C���

� ��BC��AB�D����

� BAFA

� ��CE��DB�B"�C�*F�A�C������:��DB�B"�C,

� E��A

� ���A

� C�A

� B [ C�������@4�"����*V�"���,

� D�AB��CE�C

� ���

Page 57: Embedded Android Workshop AnDevCon 3

>A�

>�<��V�"���$�����

� 7���

� B [ C�������@4�"����*V�"���,

� �CBD�/�C��!FB��!�DA�!B [ C�����!B [DB��� �

� C���D����BC�*0��D�B�AC�A����C�B�����V�"���2$����

� �CBD�/�C��!FB��!��C�!S�!��AC�A(���D��� �

� ��BC�LE*,

� �B���V�"���N��DB�*,

� �CBD�/�C��!FB��!��C�!SBEB!��D!B�AC�A!���C�B�!��!V�"���7���SBEB�

� ���

Page 58: Embedded Android Workshop AnDevCon 3

>G�

� C���BA��B����*,

� ��BC������D��CE�C*,

� ����DB"�����

� �B��������D��CE�CN��C��*,

� �CBD�/�C��!FB��!��CE���!SBEB!��D!B�AC�A!��CE�C!�����D��CE�C�SBEB�

� ��BC���""������D���CE���!DB�B"�C�

� ��BC�����E��EB�B"�C�

� ���A�7���������'C1(3[=1E'

� &B�����C��������

Page 59: Embedded Android Workshop AnDevCon 3

>;�

?��&��:�9�C���

Page 60: Embedded Android Workshop AnDevCon 3

?��

?������AC�A�D�

� BB�������

� ��/D�D��B�A��C

� 6�A�C

� B��D�D�M������D������BC�A�E�D�C�

� (�E��������

� &�""�C

� ���

Page 61: Embedded Android Workshop AnDevCon 3

?��

A��=BCA/BC���� �C�

C%�

)� �B�

&"���

9��F�BCA

6������

6B���C�

8����B����

��������

��A�

�BD�CB

%�/�C�EB�B"�D���

�����C�

������C�D���C

EB"�����5��A

1C���B���

C�C���� �

&"��

%C����C�

��D �CB��C�

%C�:D��

(BA��&B��C�7���C�B��

6�������� 6���V���C��"��)�6.��7%��*���BE�A�C%&�����BD�B���������D�,

EB���B���C�C� C�EA�A��F" ����

B� / B[�� ��B��

��A��CBD�F����C�ACE�C�*!A�E!�F�,

9��DB ��B�A�9��F�BCA� ��A�� ����E����*!A�E!�E����,

EB���B���C�C� C�EA�A��F�"������

6B���"��

EB���B���C�C� C�EA�A��FB�A�����*����A������&�����A�C��B�������B����B���B�������CB��A������C� �C��"�"�A�,

EB���B���C�C� C�EA�A��F�BD�CB����*����A�����L<&����C����ACE�C���A�C��B�������B�������CB��A��� �C��"�"�A�,

0BB�������2���C���� B���

EB���B���C�C� C�EA�A��F�����C����

EB���B���C�C� C�EA�A��FC��X��D B���BD�U�X(7&�E�C���U���

Page 62: Embedded Android Workshop AnDevCon 3

?��

G��8B�E��.��C�� B��

� EB���

� !AB�B TU�.��C�AB�B

� !�����D TU������D���D ������

� ���������A�

� !A�E

� ! C��

� !���

� !�F�

� !D��

� !�B���

� '���

Page 63: Embedded Android Workshop AnDevCon 3

?��

� &F��

6���$��D&��$���&$�1 ��C&\'�$�

8���%��:���D��A�%��C�BA���� �C�$�������L�7%�

� ����F�:

� )B�D����

��CE��DB�B"�C$�E��A$�C�A$����A$�BAFA$����

Page 64: Embedded Android Workshop AnDevCon 3

?<�

;��)B�E�

� ����FBEB�T�

FBEB��B�"�B"��Z�FLE�Z�F)9��F�

� ��AC�A�FBEB�T

FBEB��B�"�B"��Z�)B�E��Z�� B����=BCD���

� �BC"���

� ���/��%.

� (��B�E������/�(�E

� 1��/�������/B �� B��

� 6B���C�� �/�C�A

� 8�/��B��F7�

Page 65: Embedded Android Workshop AnDevCon 3

?>�

;����)B�E�N���A�:�����

� FLE�D����������0���B��2�����

� )B�E��D����������0�A�:2�����

� �A�:�����T����B�������� ���� C������A�F��0A:2������

� .���D C����A��A�:�T���>�]�.���D C����A��SBC

Page 66: Embedded Android Workshop AnDevCon 3

??�

����F87�M�FBEB�8B�E��7���C�B��

� �B���"B�����C�����C��B�"�B"��$������B���$��ZZ

� '#�EB���������8'�N�� �E���

� .�B"�������A��B�A��B����B�E����A���C�D��

� ������T�8)9������BD ��������A�A

� �����������AB�CDEFD����D������������������������E������C�����BEB�BF���%)5

Page 67: Embedded Android Workshop AnDevCon 3

?A�

���������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 6B��� ���CE��

��������EB�B"�C

��������EB�B"�C �������E�����CE�� (���"�������CE��

�����D���������%C�EA�C� ��C��������CE�� ���������D�B�E��

6B���C����CE�� ������F����EB�B"�C

&"������CE�� E�������CE�� �)6������"��1F��CE�C

LFCB��C���CE�� 8����B����EB�B"�C

��BCD�EB�B"�C )�E������CB"��E����C

&��B����EB�B"�C

�����C���CE�� ��BC�����CE��

B�A�/�EB�B"�C

BB�� B �C���CE��

8����B����CE��

8��/�C�EB�B"�D������CE�� � BA"�����CE��

)����B�����CE��

7���BB���A�"

)C� 6�:���CE��

6�����������CE��

Page 68: Embedded Android Workshop AnDevCon 3

?G�

�����B���"���������D���CE���

� .���"�������D��CE��

� ':��8����B���EB�B"�C�1FS����C���C�����

��C�"����T������:��81�757���718[�'(L7�'-

8����B���EB�B"�C�D8����B���EB�B"�C�T�*8����B���EB�B"�C,�^�"�������D��CE��*��,-

� %C� BC�����C��������

� �B�����������FS����

D8����B���EB�B"�C������*='&&1[7)$������B���,-

Page 69: Embedded Android Workshop AnDevCon 3

?;�

�������E��EB�B"�C

� ��BC����/����E���$���CE���

� 5�������������%C�EA�C�

� 7������FC�BA�B���"

� 11E�BAS��DB����B���

� � ��B����8���(�� ��A�"

� %�CD�����

� �B���DB�B"�D���

� &��������DB�B"�D���

Page 70: Embedded Android Workshop AnDevCon 3

A��

� ':����BC��"���/�B ��C�D�&B�����C�

� ������*&B�����C,� ��BC����E��*���E���SBEB,� ������D�� ���E��EB�B"�C��CE��� ��BC�LBV�"���*%C������SBEB,� ��E� ���� V�"���

Page 71: Embedded Android Workshop AnDevCon 3

A��

�<��6�A�C

� �1(6�!�1E�����7%�

� )B�B��������C��"��0 BC����2���0�CB��B�����2

� 9�C������ �C��A�D���B��D

� !A�E!F�A�C

� ������! C��!F�A�C!]

� B�AC�A�]��%7���������A���������D���CE�C���C��"��F�A�C�

Page 72: Embedded Android Workshop AnDevCon 3

A��

Page 73: Embedded Android Workshop AnDevCon 3

A��

�>���������1�%�� �

! B��B"��!B � ! B��B"��! C�EA�C�

&B�����C�

E���

6C�/��C

�B����B��C

�B���ABC %C�E���

�BD�CB

�����"�

����B���

'DB�

CB���C�

! B��B"��!� ��D����A�

����������A�����"� � ��B���%C�EA�C &B��7E'

��BCD����� ED� �B���ABC%C�EA�C 1 ��B��

6�������� ����B���%C�EA�C %���7E'

%B��B"�7���B���C )�/���BA%C�EA�C

%C�� � )CD%C�EA�C

C��"������B���%C�EA�C

D�����BC��6�: E�AB%C�EA�C

��C�7���B���C ���� ����%C�EA�C

����A(���CA�C .��C)����BC�%C�EA�C

)�������� � ����(���CA�C

���

L���)B��C

=�E&L�/�C

Page 74: Embedded Android Workshop AnDevCon 3

A<�

���AB��%����$A����&A'���

� ������B�A����B���

� �������

� 6��A�"

� 6��A������D

� �AA�"���/�B ��B����

� 7DB"��

� .��"�BAF

Page 75: Embedded Android Workshop AnDevCon 3

A>�

���������B�A����B���

� &��B����

� ��� �!!B�AC�A�"��"�����C�����D

� C���0C� �2�

K���C����� ��!!A������"��"�����D!A�!"��"�����C��!"��C� �!C� ��U�O!F�!C� �

K���D�A�BZ:�O!F�!C� �

� 5����������1�%�

� EB�����C������������B��B""�A�C���B��

� C�"�CFC�BA�

K�C� ����������� ��!!B�AC�A�"��"�����C�����D! �B���CD!DB�������F�B�AC�A�����A[C�

K�C� ������

Page 76: Embedded Android Workshop AnDevCon 3

A?�

����������

F��� ���FCBC��C� �B��D���

F��A 6��A������D

��D B�F�������������

A�E��� D��� )�E��� D���������

A�E�� )�E���� ����������B�A���D ������

�:��C�B� �� ������:��C�B�� C�S��������A�F���1�%

�CBD�/�C��

�BCA/BC�

� B����=BCD���

����8)9

B��B"�� ��������AC�A�B �$� C�EA�C�$�����

�����)9

�����D

F���BF�� (���C�����F�����BA�C

���

AB�E� )B�E��LE

�����D���CE���$�B�AC�A�]$���AC�A�C��B��A��DA�$�����

=BCA/BC���� �C���F�

�F��C�

�A�

C�F��� %C�F����F�BC��

�A� ������������/�C�A���B��BC��������C����������DF�AA�A����:� �B���CD�B��������BC�������AC�A�

Page 77: Embedded Android Workshop AnDevCon 3

AA�

���6��A�"

� (�#�C���?<�F��.F���������<

� %B��B"���C�#�C�A�

K���A��B ��"��� ���B���F��A�������B�� �F�?�A�E� ^

U�B����F�� �F��4��F���� ���:�" �C��"����C�� ^

U�"ZZ� �F�?�A�E��G?� �F4�A�E� �F:���A�E� ^

U��F��A�ZZ?� �F�����C���>� �F�����C���>�A�E� ^

U�"ZZ�D����F� %���F����:�B���/���DF���������

K���A����� ��� !��C!�F��!�F��A�ZZ����?� !��C!�F��!�F��A�ZZ���

K���A����� ��� !��C!�F��!�F4������ !��C!�F��!�F4���

Page 78: Embedded Android Workshop AnDevCon 3

AG�

� ����� �F��A���EC��D����

K�(�F��A!��E���� ���

K������

� &B�����F��A�B�A�"��/B�������"��N���������"BD��

K�DB����S�

� ��������"�����������A����������C���C����B��FC�B������

� F�����B������D��B��C�/�����N��A����

K��D��B��C�Q

Page 79: Embedded Android Workshop AnDevCon 3

A;�

� ��D�������C����

� ����F��A!��E���� ������C���DDB�A�

� )��������B����*��D ��C��B���,�

K��: �C��.�'[����='T�

� .���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�%�C����

K���F��A!��E���� ���

K������

K��D��B��C

Page 80: Embedded Android Workshop AnDevCon 3

G��

<��6��A������D� 8���(���C�E�� 0E�A����2�F��A� C�A�B��A������AC�A�D�

Page 81: Embedded Android Workshop AnDevCon 3

G��

>���AA�"���/�B ��B����

� �AA�B ��B������_B�� `! B��B"��!B �

� �B������'�� �������C�B�����B��E�C���

� �� ��'�� ��� C�S������� B��B"��!B �

� �AA�B��B C� CB�����AC�A�D��������� C�S���

� �AA� C�S�������%(1).��[%��9�C'����_B�� `!F��A!�BC"��! C�A���!��C��D�

Page 82: Embedded Android Workshop AnDevCon 3

G��

?��7DB"��

� ������� ���B�A�F��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����#�D�

� 'D��B��C��E�CCA���

� ���C���

� ���CA

Page 83: Embedded Android Workshop AnDevCon 3

G��

A��.��"�BAF

� �B�������������C��!���C�B���/!�C����"��1�%$�����A�"��D��B��C�

� ������

K�BAF������

+

� )�D �"�������"�

K�BAF���"�B�

� �� ��"��������!�C�D��BC"���

K�BAF� ��������!AB�B!���B�

K�BAF� ����! C��!����"�"4

=���

�BC"��

Page 84: Embedded Android Workshop AnDevCon 3

G<�

� C��"���

� ��� �!!B�AC�A�"��"�����C�����D

� 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�

� 9�C���������B��D������AC�A�D�������:�� ��

� BB������������F��$�B BC�����$�����NC����D�"������>����

����"�$�"���BA�

Page 85: Embedded Android Workshop AnDevCon 3

G>�

)��B������AB��*E�+$����

� 5�������D��B����

� 6���

� ����F�:

� 7��

� 8B�E��AB�D���

� %�/�C������

Page 86: Embedded Android Workshop AnDevCon 3

G?�

���5�������D��B����

� !B��� TU�����C���CC�� �D����� ����*)���D���B���!�"C�� ���:�,� !�B��� TU��B������B��� BC����� !A TU���D�������!���!��C���!A�F�"� !AB�B TU���AC�AN��0!AB�B2���������D� !A�E TU�)�E�����A��� !��� TU���D�������!�����D!���� !D�� TU���D �CBC��D����� ���� ! C�� TU� C����� !C��� TU������A� !�F� TU��E���A�B�A�BAFA� !�A�BCA TU��)��BCA�D���� ���� !��� TU������� !�����D TU���AC�AN��0!�����D2���������D� !E��A�C TU���D�������!�����D!E��A�C

Page 87: Embedded Android Workshop AnDevCon 3

GA�

�����!�����D

� !B TU�������B �����B���A

� !F� TU�8B�E��F�BC���B�A�AB�D���

� !��� TU�����"�CB��������

� !����� TU���5�

� !�CBD�/�C� TU���AC�A��CBD�/�C���SBC�����

� !�F TU�8B�E���FCBC��

� !��C TU�E�B��C��0!��C2

� !:F� TU�1 ���B�!':�CB�F�BC��

Page 88: Embedded Android Workshop AnDevCon 3

GG�

�����!AB�B

� !B�C TU��8(��CB���� !B TU�� ����B������B���� !B � CEB�� TU�%C������A�B �� !FB��� TU�5�C�6B��� �EB�B"�C� !AB�E���B��� TU�)B�E��)'@��B���� !AB�B TU�� �AB�B� !A��� B�� TU�&B��� B������ ���*��������Z���C�BA�,���C�0A�D ��B��2� !���B� TU�������/C�BF���� B��� !D�� TU�E����AB�B�*/�$�E �$�F��������$����,� ! C� �C�� TU�%�C������������D� C� �C����*�����C�$��B�"�$����,� !����C� TU�����C����AC�A�AB�B�BEB�BF��� !�����D TU������D�AB�B

Page 89: Embedded Android Workshop AnDevCon 3

G;�

���6���

� 7��B�� �

� !F���

� 7����������D�

� !�����D!�F

� %C�EA���

� �F�

� �FD

� �FA�

� �F��AZZ

� �F��C�BA[AF

� ����C

Page 90: Embedded Android Workshop AnDevCon 3

;��

�������F�:

� 7��B�� �

� !�����D!��C�!����F�:

� 7����������D�

� !�����D!F�!����F�:

� %C�EA��

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�� ��CDAC��������������� �� �D����D�A�A��A�����D�AC���/��[D�A���C�CDD�A�������������ED��B�����/��AD��"������"����C�BA����C��B���F���� C� ���C���/B��� C� ���D ��:������� ���"�D�����������C�F����C��������� �/ �

Page 91: Embedded Android Workshop AnDevCon 3

;��

<��7��

� 7��B�� �

� !�����D!��C�!��

� 7����������D�

� !��

� (��������

� !���C�

� !���_F�BCA`�C�

� !��E���A�C�

� !��E���A�_F�BCA`�C�

� !�����D!���!���_F�BCA`���

Page 92: Embedded Android Workshop AnDevCon 3

;��

>��8B�E��AB�D���

� ��CE��DB�B"�C

� E��A

� C�A

� ���A

� BAFA

� ���B��A

Page 93: Embedded Android Workshop AnDevCon 3

;��

>������CE��DB�B"�C

� 7��B�� �

� !�CBD�/�C��!FB��!�DA�!��CE��DB�B"�C!

� 7����������D�

� !�����D!F�!

� %C�EA���

� �����:��DB�B"�D������C�F�A�C

� ��CE����A�:���C����C�������D

Page 94: Embedded Android Workshop AnDevCon 3

;<�

>����E��A

� 7��B�� �

� !�����D!E��A!

� 7����������D�

� !�����D!F�!

� %C�EA���

� L���D��D�����C

� �����D����

� �������CDB��D�����A�A�E���

Page 95: Embedded Android Workshop AnDevCon 3

;>�

>����C�A

� 7��B�� �

� !�BCA/BC�!C�!D����C�!

� 7����������D�

� !�����D!F�!

� %C�EA���

� 0(BA��7���C�B���&B��C2���� ������BCA/BC�

Page 96: Embedded Android Workshop AnDevCon 3

;?�

>�<�����A

� 7��B�� �

� !�����D!���A!

� 7����������D�

� !�����D!F�!

� %C�EA���

� EB�B"�D�������B� �����������/�C��"

� 7���C�B����/���8��/�C��EB�B"�D������CE��

Page 97: Embedded Android Workshop AnDevCon 3

;A�

>�>��BAFA

� 7��B�� �

� !�����D!��C�!BAF!

� 7����������D�

� !�F�

� %C�EA���

� 7���C�B����/��������0BAF2���DDB�A

� (�D����A�F�""�"��B BF����

� ���������������

� %B��B"�����B��!�����B��

� ��������0BAF���� 2�����������C������A��B�

Page 98: Embedded Android Workshop AnDevCon 3

;G�

>�?�����B��A

� 7��B�� �

� !�CBD�/�C��!FB��!�DA�!���B��A

� 7����������D�

� !�����D!F�!

� %C�EA���

� %B��B"�����B��!�����B��

� �B�����������B�A�E�C��B����

� 7���C�B����/���%B��B"��EB�B"�C���CE��

Page 99: Embedded Android Workshop AnDevCon 3

;;�

?��%�/�C������

� A�D ��B��

� A�D ���

� ��CE��

� ��"�B�

Page 100: Embedded Android Workshop AnDevCon 3

����

$�E����$���

� ��CE����C���F�������D���CE�C

� 1F��CE�"����������D���CE�C

� �B���"���������D���CE���

� 7��A��B���/������D���CE���

� �C�B��"����C��/�������D���CE��

Page 101: Embedded Android Workshop AnDevCon 3

����

�����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 6B��� ���CE��

��������EB�B"�C

��������EB�B"�C �������E�����CE�� (���"�������CE��

�����D���������%C�EA�C� ��C��������CE�� ���������D�B�E��

6B���C����CE�� ������F����EB�B"�C

&"������CE�� E�������CE�� �)6������"��1F��CE�C

LFCB��C���CE�� 8����B����EB�B"�C

��BCD�EB�B"�C )�E������CB"��E����C

&��B����EB�B"�C

�����C���CE�� ��BC�����CE��

B�A�/�EB�B"�C

BB�� B �C���CE��

8����B����CE��

8��/�C�EB�B"�D������CE�� � BA"�����CE��

)����B�����CE��

7���BB���A�"

)C� 6�:���CE��

6�����������CE��

Page 102: Embedded Android Workshop AnDevCon 3

����

�������D����B��

� �CBD�/�C��!FB��!��CE���!SBEB!��D!B�AC�A!��CE�C�

� ��>�E

� O��������

� G>�����

� ���E���DB�B"�C�

� ;��9

� ��Z�����

� �������

Page 103: Embedded Android Workshop AnDevCon 3

����

���1F��CE�"����������D���CE�C

� &�"�B�

� A�D ���

Page 104: Embedded Android Workshop AnDevCon 3

��<�

�������"�B�

� 5�A����������D���CE�CN��%7)

K�BAF������� ��\�"C� ������D[��CE�C

�����D����?���������������?���><�G����������B�A��A�G��������D[��CE�C

� &������C������� ���

K�BAF���"�B��\�"C� �0?�,2

���)!%�/�CEB�B"�C��CE��*���?�,��F�����D ����A7!���� ����(�"��C�*���?�,���������CE����B��������D����AC�A���AC�A�����?���.E������������� ���7!���� ����(�"��C�*���?�,�������)B�B�������������B��T���)B�B�������E��%���F��T�B����C�B���T��������C�B��8BD�T��������/�C��� �T�7!��BC��EB�B"�C��CE��*���?�,��6��A�"����������BC��BF���B��E���7!B���CE��*���?�,��B���CE����C��"�������8�D����/�A�������/��� �C������������C��7!���E��EB�B"�C*���?�,������"���B�"�A��a���B��T����D�T���!�?�����T��[.�������T������T�!�!���BET�!�����7!���� ����(�"��C�*���?�,�������E���B"�BB��"��B�"�A���B���7!���� ����(�"��C�*���?�,��������B��5�C/BCA�"��B�"�A���B���7!���� ����(�"��C�*���?�,�������)B�B�������������B��T���)B�B�������E��%���F��T�C���C�B���T�D&���7!���� ����(�"��C�*���?�,�������)B�B�������������B��T���)B�B�������E��%���F��T�C���C�B���T�D&���)!�����C�"*���?�,��EB���C7��B���B��� C�����E���B"��/�B�T�7!���E��EB�B"�C*���?�,����BC�� C���B�AC�A� C������D�AB���C�FC�BA�B�����D�B�AC�A� C�EA�C��A�/���BA�!�)�/���BA(���E�C�� AT�����AT������"A�Ta���>$�����$�����b7!(���E�C������D*���?�,��8��C���E�C����"����B!B�A�/EB�B"�C*���?�,��� ��C��4���D������: C�A����

Page 105: Embedded Android Workshop AnDevCon 3

��>�

�����A�D �����CC������C����"���CE��������C�B��5��"�C��B�����F�����B��������B��E����B�BCD��B /A"����B�A���FB��� �����/���/�A�/�������������������������������������������������������������������������������).E%�15��'(L7�'���C�B��5��"�C�Z�&B��C��:�;?F;�������4T���������$� ��T*����$����,$��4�T*�<G�$�G��,$����A�6���A�"T�$����A�)���C�"T�$��EB�AB������`�������BD�T��D�B�AC�A��B�����C!��D�B�AC�A��B�����C��&B�����C�����������T�:�;��<G$�A�����T?������_���BAT��$�BEB�BF��T��$�#����AT���`�C�B����EB��T��������$��.��T��$�A�����T?$���B���T���������CDB�T��$�_<G�:G���<G�`�_<G�:G���<G�`$��C��4�&���T�:�$�A#�#��D�T>�A>?������

Page 106: Embedded Android Workshop AnDevCon 3

��?�

����B���"���������D���CE���

� .���"�������D��CE��

� ':��8����B���EB�B"�C�1FS����C���C�����

��C�"����T������:��81�757���718[�'(L7�'-

8����B���EB�B"�C�D8����B���EB�B"�C�T�*8����B���EB�B"�C,�^�"�������D��CE��*��,-

� %C� BC�����C��������

� �B�����������FS����

D8����B���EB�B"�C������*='&&1[7)$������B���,-

Page 107: Embedded Android Workshop AnDevCon 3

��A�

<��7��A��B���/������D���CE���

� C��������1�%�����C� �$�����

� �C����

� 7D �C������'�� ���B�A�����B ���D����A�

� .���C�E�C�����"���C�"�������

� 7DB":

� (B���B��

� &B��:

� �������

� ���

� 6�� B����$�������N��A���D����A�B��/��C�����

Page 108: Embedded Android Workshop AnDevCon 3

��G�

<�������E��EB�B"�C

� ��BC����/����E���$���CE���

� 5�������������%C�EA�C�

� 7������FC�BA�B���"

� 11E�BAS��DB����B���

� � ��B����8���(�� ��A�"

� %�CD�����

� �B���DB�B"�D���

� &��������DB�B"�D���

Page 109: Embedded Android Workshop AnDevCon 3

��;�

� ':����BC��"���/�B ��C�D�&B�����C�

� ������*&B�����C,� ��BC����E��*���E���SBEB,� ������D�� ���E��EB�B"�C��CE��� ��BC�LBV�"���*%C������SBEB,� ��E� ���� V�"���

Page 110: Embedded Android Workshop AnDevCon 3

����

<����%B��B"��EB�B"�C

� �������

� <>��9

� 7���B��B����!�C�D�EB�

� %�CD�����

� 7������C���������*B����7�����(����E�C�SBEB,

� �B���A�F�����E���EB�B"�C

Page 111: Embedded Android Workshop AnDevCon 3

����

<����B�A�/�EB�B"�C

� EB����C�BA

� B�A�/�DB� ��B���

� BB�� B �C��B�A��"

� 1C���B���

� 5����

� &B��C�"

� 7� ����E����DB�B"�D���

Page 112: Embedded Android Workshop AnDevCon 3

����

<�<��8����B����EB�B"�C

� ��B���

� 8����B����

� ����A� �B�FB���*����8����B���%�B��C�SBEB,

Page 113: Embedded Android Workshop AnDevCon 3

����

<�>��%�/�C�EB�B"�C

� BB�������

� ����

� 6C"������

� &���

Page 114: Embedded Android Workshop AnDevCon 3

��<�

<�?��8��/�C��EB�B"�D������CE��

� �B�������0���A2�!�����D!���A

� 7���C�B�������"�CB���

� �����C�"

� )8�

Page 115: Embedded Android Workshop AnDevCon 3

��>�

<�A��E�������CE��

� E�����!�.�D����

� 5�CDB�

� .�6�DB������CB"�

� 166

Page 116: Embedded Android Workshop AnDevCon 3

��?�

<�G��&��B����EB�B"�C

� EB�B"�����B���� C�EA�C�

� "��6���%C�EA�C*,

� %C�:D���B��C��

� &B������/�����B���

Page 117: Embedded Android Workshop AnDevCon 3

��A�

<�;����B����6BC�EB�B"�C

� ': B�A�!�����B ��

� 7����E�F���

� (�E�B���B��FB���

� �B��FB������C������B����DB�B"�C

Page 118: Embedded Android Workshop AnDevCon 3

��G�

<�����6B��� �EB�B"�C

� '�BF���!�A�BF��

� �CB�� �C��DB�B"�D���

� FB��� 8�/*,

� ���

Page 119: Embedded Android Workshop AnDevCon 3

��;�

>���C�B��"����C��/�������D���CE��

� �AA����C���A�������CBD�/�C��!FB��!��CE���!SBEB!��D!B�AC�A!��CE�C!

� =BE�����������D��CE�C�SBEB���ZC�"�����C���CE��

� )������BCA/BC���%7���C�B �

� ': ������C��"��

� �CBD�/�C��!FB��!��C�!SBEB!B�AC�A!��!_��CE�C`�BA�

� �B�������B�E��0ACE�C2���A����C��"��F87

� 7D ��D�����C������������B C� CB���ACE�C

� �C�B���B��B ���B���B���������CE��

� EB�����A�����C�B�����/��)9����

Page 120: Embedded Android Workshop AnDevCon 3

����

>����1 �C�����CE���SBEBpackage 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);

}

Page 121: Embedded Android Workshop AnDevCon 3

����

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;

@Overridepublic void handleMessage(Message msg) { try {

if (msg.what == MESSAGE_SET) { Log.i(TAG, "set message received: " + msg.arg1);

} } catch (Exception e) {

// Log, don't crash!Log.e(TAG, "Exception in OpersysWorkerHandler.handleMessage:", e);

}}

}}

Page 122: Embedded Android Workshop AnDevCon 3

����

>����71 �C�����CE���BA�

package android.os;interface IOpersysService {/*** {@hide}*/void setValue(int val);}

Page 123: Embedded Android Workshop AnDevCon 3

����

>�����CBD�/�C��!FB��!��AC�A�D�

�������������C�!SBEB!B�AC�A!��!7%�/�CEB�B"�C�BA��^����������C�!SBEB!B�AC�A!��!71 �C�����CE���BA��^���� ��C�!SBEB!B�AC�A!��!7(�D����B��FB���BA��^���

Page 124: Embedded Android Workshop AnDevCon 3

��<�

>�<�������D��CE�C�SBEB

������������ try { Slog.i(TAG, "Opersys Service"); ServiceManager.addService(“opersys”, new OpersysService(context)); } catch (Throwable e) { Slog.e(TAG, "Failure starting OpersysService Service", e); }...

�����A��E����B����F�������:��1%'(�3�[�'(L7�'

Page 125: Embedded Android Workshop AnDevCon 3

��>�

>�>��=������CE�C�SBEBpackage 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();

} }}

Page 126: Embedded Android Workshop AnDevCon 3

��?�

���,�����E����BA��-���

!�CBD�/�C��!FB��!��CE���!SBEB!���

!�CBD�/�C��!FB��!��CE���!S�!

!�BCA/BC�!�F�BCA/BC�!

!A�E��!_E�8.5�`!_)'L7�'`

!�A�!�D��B��C!

9�C�����C�D�A���

!�CBD�/�C��!FB��!��C�!���

�1�%� C�EA�A��&

EB����� C�EA�AEB�����������

EB����� C�EA�A�C!�������

Page 127: Embedded Android Workshop AnDevCon 3

��A�

� _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�������������

Page 128: Embedded Android Workshop AnDevCon 3

��G�

����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"); }}

Page 129: Embedded Android Workshop AnDevCon 3

��;�

���F87������������

jstringJava_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ){ return (*env)->NewStringUTF(env, "Hello from JNI !");}

Page 130: Embedded Android Workshop AnDevCon 3

����

���AB��.���,AD

� &��B����B�A���D ������

� B�AC�A�]

� �����D4B���

Page 131: Embedded Android Workshop AnDevCon 3

����

���&��B����B�A���D ������� _B�� `!�CBD�/�C��!FB��

� !�DA� TU��B�E���DA��B�A�AB�D���� !��C� TU�B�AC�A�]�B�A���D�B�AC�A�]� !AB�B TU�5�����B�A�����A�� !"CB ��� TU��)�Q�(��A�C��C �� !����A� TU�0�2�����A��� !������C� TU�����C����������C�� !�F� TU�0�2��FCBC��� !���B��� TU�&��B���� C�EA�C� !D�AB TU���B"��C"��$���A���$������ !�B�E� TU�8B�E����A����C���D���CBD�/�C�����D ������� !�F�: TU�6����������F�:� !� ��"� TU�C&��FCBC��B�A�SBEB���A�� ! B��B"�� TU�����/���C�� B��B"���*��B����6BC,� !��CE��� TU������D���CE�C� !���� ���� TU�%�����C��B��A��������B���� !����� TU�����/���C��������*BB �$�BA�$����,� !E� TU�(�%�Q��7%����C�B���� !E � TU�L%8��������B���� !/� TU�B��DB�B"�C$�D����C$�����

Page 132: Embedded Android Workshop AnDevCon 3

����

���B�AC�A�]

accessibilityservice content hardware pim speech accounts database inputmethodservice preference testannotation ddm net provider textapp debug nfc security utilappwidget emoji os server viewbluetooth gesture service webkit widget

Page 133: Embedded Android Workshop AnDevCon 3

����

��������D4B���

� ':���A�"��%7

� 6������C���

� ��B����FBC

� 8��/�C�

� %C���BA�A�B �

� 6C�/��C�F���DBC��

� 'DB�� C�EA�C������D4B���

� ���D��

Page 134: Embedded Android Workshop AnDevCon 3

��<�

�����':���A�"��%7�M������D���CE��

� �CBD�/�C��!FB��!��C�!SBEB!B�AC�A!

� B !�����:�7D ��SBEB

� �������!�����:��SBEB

� ��!1 �C���EB�B"�C�SBEB

Page 135: Embedded Android Workshop AnDevCon 3

��>�

�������B !�����:�7D ��SBEB

...

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();

}

...

Page 136: Embedded Android Workshop AnDevCon 3

��?�

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;

}

Page 137: Embedded Android Workshop AnDevCon 3

��A�

��������������!�����:��SBEB

...

/**

* 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";

...

Page 138: Embedded Android Workshop AnDevCon 3

��G�

���������!1 �C���EB�B"�C�SBEB

package android.os;

import android.os.IOpersysService

public class OpersysManager

{

public void setValue(int value)

{

try {

mService.setValue(value);

} catch (RemoteException e) {

}

}

public OpersysManager(IOpersysService service)

{

mService = service;

}

IOpersysService mService;

}

Page 139: Embedded Android Workshop AnDevCon 3

��;�

�����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����S "���C����C

� ���E�C��DB"�����>?>���CDB�

K�C"F�>?>�X���C����C�U���C����>?>

� BC���DB"�������B��

K��B��F������B���� �B������C����>?>

Page 140: Embedded Android Workshop AnDevCon 3

�<��

�������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�18[8�E'`c$��B���,-

Page 141: Embedded Android Workshop AnDevCon 3

�<��

��<��8��/�C�

� &��B�����

� C��FB����B���

� �CBD�/�C��!FB��!��C�!C��!C��!:D�!B ���:D�

� )�E�����B���� %(1).��[�1%3[57&'���T�E��A�C!B�D�!���!B �����������:D�������D!���!B ��������:D�

� )��BD��

� �����D!���!B ��������:D�

� 5�CDB��XB ���BCC�CTc��E�F���.�c���������D��Tc���c���������D��Tc�?�c���������B �Tc�/B �E�����C�BD���Dc������������CTc����c�����������CE�CTc]c��������� B��/�CATc����c��������� C�:�Tc���?��>>��?>�>�c��������� �C�TcG�G�c���������DD��Tc��� �!!��?��>>��A<�G<!��CE����!DD�c!U

Page 142: Embedded Android Workshop AnDevCon 3

�<��

��>��%C���BA�A�B �

� ����F��A!�BC"��! C�A����

%(1).��[%��9�C'���T�^

����F������B�����^

������D�B�AC�A����B���� C�EA�C�^

������D�B�AC�A����B���� C�EA�C�:D��^

������C��^

������C��S����^

�����C�B��[����[AD�CB���^

����AB�E�ED�^

����A�:A� ��^

���

Page 143: Embedded Android Workshop AnDevCon 3

�<��

��?��6C�/��C�F���DBC��

� ���� B��B"��!B �!6C�/��C!C��!EB����!��C�"��:D�

XH���6���DBC�����U

X��C�"�BCCB���BD�TcF���DBC��cU

����X��DUC��"��X!��DU

����X��DU��� �!!///�"��"�����D!X!��DU

����X��DU3B���HX!��DU

����X��DU��� �!!///��B������D!X!��DU

����X��DUE�8X!��DU

����X��DU��� �!!///�D�����D!X!��DU

����X��DUE�� B��X!��DU

����X��DU��� �!!///�D�� B�����D!X!��DU

���

Page 144: Embedded Android Workshop AnDevCon 3

�<<�

��A��'DB�� C�EA�C������D4B���

� ���� B��B"��!B �!'DB�!C��!:D�! C�EA�C��:D�

XH���CDB��EBCB������U

����X C�EA�C�ATc"DB�c��BF��TcCDB�c�A�DB�Tc"DB����DcU

��������X���D�"��CTcDB Z���Z�!!DB �"DB����Dc����C�BD�TcK�DB�c!U

��������X���"��"��CTc�D� Z���Z�!!�D� �"DB����Dc����C�BD�TcK�DB�c!U

����X! C�EA�CU

����X C�EA�C�ATc"��"��DB�c��BF��TcC��"���EB�c�A�DB�Tc"��"��DB����DcU

��������X���D�"��CTcDB Z���Z�!!DB �"��"��DB����Dc����C�BD�TcK�DB�c!U

��������X���"��"��CTc�D� Z���Z�!!�D� �"��"��DB����Dc����C�BD�TcK�DB�c!U

����X! C�EA�CU

����

����XH�����DD���.�� C�EA�C����U

����

����X C�EA�C�ATcBDc��BF��Tc�7Ec�A�DB�TcBD���DcU

��������X���D�"��CTcDB �!!DB �BD���Dc��BF��Tc7E�%c����C�BD�TcK�DB�c!U

��������X���"��"��CTc�D� �!!�D� �BD���D�>GAc����C�BD�TcK�DB�c!U

����X! C�EA�CU

����X C�EA�C�ATcB��c��BF��Tc�1&c�A�DB�TcB�����DcU

��������X���D�"��CTcDB �!!DB �B�����Dc��BF��Tc7E�%c����C�BD�TcK�DB�c!U

��������X���"��"��CTc�D� �!!�D� �B�����D�>GAc����C�BD�TcK�DB�c!U

����X! C�EA�CU

���

Page 145: Embedded Android Workshop AnDevCon 3

�<>�

��G�����D��

� �����CBD�/�C�!FB��!��C�!C��!C��!EB����!�������:D�

Page 146: Embedded Android Workshop AnDevCon 3

�<?�

��E�A��/AA"�F�B�E����������B�E

� (B���B��

� �)9�"���CB���

� 8)9�"���CB���

� �C�B��"�B��C����A�E�������B�

Page 147: Embedded Android Workshop AnDevCon 3

�<A�

���(B���B��

� �)9�

� %C�EA�"�����C����C�B����BD���C��:��C�B��A�E��� �C��B������������C�D�A��A!�����D���AC�A��%7��

� 8)9�

� �BD��B���)9�CB���B��

� �����D��C����A�E�������B��

� ���BE�A��BE�"��������B�F�BC��������B���C�D��CA� BC���

� �������C�������F��A� BCBD���C�����A�����C�B�������������B���':����������F������BA����"�F��

Page 148: Embedded Android Workshop AnDevCon 3

�<G�

����)9�"���CB���

� 6��A�"������)9�

K���F��A!��E���� ���

K��������A����"

K�DB����A�

� 7���%7�D�A��A$�A������F���C��DB���

K�DB���� AB���B

� &��B�����_B�� `!���!����!���:�:G?!�A�!

� .��"�B������D��)9�

� '�� ���UB�A�/�U%C���C������U��AC�A�U2�)9�&��B���2

� '�� ���UB�A�/�Uc��AC�A��)9�B�A��L)�EB�B"�Cc�Uc7���B���A�%B��B"��c�Uc. AB���������c

Page 149: Embedded Android Workshop AnDevCon 3

�<;�

���8)9�"���CB���

� 6��A

K��A��A�!F��A!�����

K��: �C���8)(17)[8)9[(11�T_B�� `!�A�

K��!DB���C���B��������

K��!DB���C���B��

7E%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.(�����B�A�B����C�DB������7������ �B�����A����B�������$� ��B���C�BA�A���!)'L'&1%E'8���@���B�� C�EA������C������������/����A����B��D�C���B����

�C��������C������/B������A����B��_�!8`�

Page 150: Embedded Android Workshop AnDevCon 3

�>��

<���C�B��"�B��C����A�E�������B�� �AEE�AA"+������������C�����C�������� �EB�BF���B��

��� �!!�D�C����B�"�����C"! C�S����!�C�������� )�/���BA�$� B�����$�F��A�$����B���$�����

� ��D C����01���� �

� E�������"�FB��A

� �� �C������F�$�"�F��B�A��"�F�

� �� �C����(E$�6�B����$�E7%�$�%�/�C%�$��=$�d

� 5BC���/����DB��B��A

Page 151: Embedded Android Workshop AnDevCon 3

�>��

� E����DB�����C�����������/�"�BC�����B���A����.F��������CA�C���������C���������"�

� "B/�

� ��:���

� B���DB��

� �F����

� �E�

� �F���C���>�A�E

� .���0��A��B ��"������B��2����"��������

Page 152: Embedded Android Workshop AnDevCon 3

�>��

� )�/���BA�B�A��:�CB������Ka%(F(11�b!F��A������

� ����"�C���C��������

$ cd crosstool-ng-1.10.0/

$ ./configure

� 6��A�B�A����B����C���������"�

$ make

$ make install

� ����"�C���C��������

$ cd ${PRJROOT}/build-tools

$ ct-ng menuconfig

Page 153: Embedded Android Workshop AnDevCon 3

�>��

� Options:

� %B����U%C��:�AC����C���Ka%('57@b!Ka��[��(C'�b

� �BC"���� �����UBC�������C��� �/�C �

� 1��U�BC"���1������:

� ���FCBC��U���FCBC���"�F�

� ���FCBC��U':�CB���B"����.[51(�753[�1.(�'

� )�F�"��B�������"AF�Q���CB��

� 6��A�����������B��

$ ct-ng build

Page 154: Embedded Android Workshop AnDevCon 3

�><�

�A����B�B"B���/�E��$�B��

� ��AC�A���D B�F����%C�"CBD�

� ���C�����A�������AC�A���B��

� ��D B�F����)�������)���D����*�)),�M�%����

� ��D B�F��������������*���,�M�E���B��D

� 'B�����AC�A�E�C�����B���/���))�Q����

� ����

� %BC������1�%

� (����C�D���������"�.�6��E�C����B��B���A�A�E��

� 6B��A����F.��

� (����EBC���������B ������BC"��

� (���������)6

� %C�EA���C� �C�����F��F��B�B��4�A�B�A!�C������FB������C��"��

Page 155: Embedded Android Workshop AnDevCon 3

�>>�

Page 156: Embedded Android Workshop AnDevCon 3

�>?�

� (� �C��

� �4 ���������B��"�@E&������B�A���C���������

� ������������WB�AC�A���D

� 6��A�"���������

K���F��A!��E���� ���

K�DB������

� &B�����"���������

K��A����!����!���:�:G?!F�!

K��!���

K����[�����U�

K����[�����U����

���

Page 157: Embedded Android Workshop AnDevCon 3

�>A�

� .��"���������

K����[�����U������ �B�

&������ �B���*G������B�,�

�"�B��C�

(���

LE

%�C��CDB���

� ����C��

��AC�A

FBEB

���

K��!������BC���� �B�����

Page 158: Embedded Android Workshop AnDevCon 3

�>G�

� �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���

Page 159: Embedded Android Workshop AnDevCon 3

�>;�

��B����������

�BCD��B"�D��CW� �C������D

Page 160: Embedded Android Workshop AnDevCon 3

�?��

�����/��A"�D�����

� ��D���"�C���B�A��� �����B�����C�D�C��"��N����AC�A�0)�E�C�A�2�B��A�E��� �C�B�AC�A���D�A��CF���A���A�C������ B���������������