ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ...
TRANSCRIPT
![Page 1: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/1.jpg)
�
– ���������������
– ������ ���� ���� ����
– ������ ������• ����������������������
• �������
– ����� ������������ �����• �������
• ���!���
• "���#�$
– %���• &'�(������������
• )�*����������
– ������)+• #������)����*��������
• ,������
– �����������-�����������• ).��+���������/.����
– 0�)+• 1�����)+
– �����������-����• 2�����*���� ���� �.��
– ��-������������• $/��������+������)�
• )��������%����
�����
���������������
![Page 2: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/2.jpg)
�
�����������������
![Page 3: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/3.jpg)
��
��
��� ����������� ������
• ����������
•��� � ��������
•��� � ����
• ��������������
• ���
• ������� ������������
• � !
![Page 4: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/4.jpg)
"
�� ��
•��� "�#�� $ %����&�
•� �'
•�(���� '����
•������ $ �������� �
•����
• !������"�� $��
• !����"� ����$ '�#�"����
• !����"� ����� ����� �� �� ����'����"��
![Page 5: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/5.jpg)
�
�� ��
���)���� ���*��
• ��"������ +�$ �$ �� ,"�����-
• ���� �� ��� .�/��,���'�0�����-
• � ��1� 0��$����(��
• ���� �������
• ������ ������
• 1�0���0�
![Page 6: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/6.jpg)
�
���������������������������
��'3��*��-�����������4���������������– ���5������6������ �����������
– ���5������6������ �����7�����������58����4�� ������������4��4�95���� ����4����4����
– 0�5�*:��������������������������������+����������������
– ����������������*�*����
– ;�:-�<(� ������������4���������������5�*����������2�����6�����������������5��*����*���
� �=���������������������������#���/�>���
� ;������5���*��/�*���+,��������$���������2�����**��������
?���������������**�����4�����������5.���-�����=��(���������������4������4���������5.���-���������4-5�����4����������(�$-�5�4����:���������������4�������������������5(@�
. ���5�,��������*�������*���������)�����0+A����� �������'�
��4������������(������(�������������.����(4���B����.���-�.���.����
�����*����;��������������'��
�
![Page 7: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/7.jpg)
�
��������
�����
���
����'��2�34�������
�������
����'��2�34����'��2�35
�������
����'��2�34
����'��2�35
����'��2�36
� ����
� ����
�����
![Page 8: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/8.jpg)
&
����������� ���������
•����#�)� ��) ��� ���$����(�� ��0��$�,�����������1�-
•�� � $���� ����� � ����7�)� �����,-�8&
• ���� 9� �$����(��� � �����������
•�'��$ �� � "�� �� (��� ����
• ����������� ��:� � ��;��$����(��
•�$����(��� ���� )�� � �#����
•���������� ���������� ��•���� �����
• ���� �����
![Page 9: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/9.jpg)
�
�������� ����
• ������,)� 0,-�9�$ �����-
•!�*�����,0���,-�<<<�� �"�0����-
•!��0���=� �$��=���)�� =�!2�/ � +
•>� �1� ��'�������)��� ,=�'-
•������
•!����=��� �$��
•�� �, ����'�<������(�?? 3�'�<�@-
•A%��)���
•�B�����������
•<<<��C������ ������
![Page 10: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/10.jpg)
�'
�������� �� ��
• +��$�����
• ������
•����)���)��
• +��$�������)�2��
• ������������ ���
• �����$ ���� ������
• ��������
• !�� �*
• B���'��'��$���
![Page 11: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/11.jpg)
��
����������
• 4��$����(� D�B�+��$����
•�$����(��� $���$� ��E� ���$����
• ���� �$����(���� ���� $� ��� ���������F�� ��
���$����� ��$����
•������� ���������������������
•+��$����G• ����'����
• ! '���
• � �����������' �
• +������ �'�� �
![Page 12: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/12.jpg)
��
�������
• ������D����E ����� �� ��=)� � �� *�
• +�������*����$����� )�� ���������*�����)� � �� *�
• ���������� ���$��)���� H� ����)���)��
![Page 13: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/13.jpg)
�
�����������
• ��)� ��#� ������� ��$ ���$����� �$����(��
• B���� � � ��� �������)��<���
• ����'��2�D�I����'��2J�<<<�������
• ! '���D�I� '��J�<<<�������
• � �����������' G• !������D�I ��' J
• �2������D�+�����< *��� ���' ,-
• +������ �'�� �D�I$ �'�� J�<<<�������
![Page 14: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/14.jpg)
�"
![Page 15: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/15.jpg)
��
����� ������ ����������������
•!���� $� �9�=�$ 9�=���� � $ ���� �������•����� ���������� ��������� ��� �������
•���� �����
• ���� �����
•!������
•�$��#� ����"��0?� � �F�� �����
•�������#� ������ ��'��(�
•��� ����$��� ���� ��� ���$�����*�������
![Page 16: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/16.jpg)
��
![Page 17: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/17.jpg)
��
![Page 18: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/18.jpg)
�&
������� � ����� ��
� �����
• �)����G�∀����"��0 ��� ∀ ���$����� ?J������� ��
• �����)�� �$ �(�� "������ H� �� ��?�� $ ����$��G•�� ��� � ��$������
•� ���� = ��� �� $ ��� � ������� (�� ���������8
•������� ��������� ������ �������
� ��������• � �������"����� .�'���� ��
• �������H� �� ��?�� ����1� 0��*
• �����1� 0��*�H� �� ��?�� ������
![Page 19: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/19.jpg)
��
������������ ���������
•B������� � +����B�K�,���)�� ����#� �����E��$�$-
•��)����� $� �� � $ �* ���� �B�K
• ��� ����� +�D�����
•���� ����0 ���� ��%�����6<4L�,5C4M-
![Page 20: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/20.jpg)
�'
�����������������
•!�� ���� �����'� ��$ ���G���������
• �������� ��$�����#� �� ��(�� ��G•N$ �(�� $ ?$ �����
•���� $ ?���
•�$����(��� ���� H� ����"��
• ������� �$���� $�� � ���9� ��������"��
•!��� ������ "�#�� $G•+ ��)����
•�� �$ ��$�
•���� $ �������� ���� �� ������
![Page 21: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/21.jpg)
��
![Page 22: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/22.jpg)
��
�������� ���������
� ��������
�O ��
�����
�P2*��
�!2����! '
�����'��2�����*
�%����� �,>��-
![Page 23: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/23.jpg)
�
![Page 24: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/24.jpg)
�"
������
• � �9� ��$� ��� ��$?����$�� ��%����
•� ����� "�"������� H��� ���
•+��(�� ������ '� ����� .�'�
•���'�0I��
•����,��� ����������-���JD��
•���� $ ��� ��� �� )� 0���#2*���
![Page 25: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/25.jpg)
��
��� ������������
� ����'��2����*������
������
���������
�+�� �
�+����� �
�� ��"�))
����* $ ���
������%�������
�� !
�� �����
�>����$��
�O2����
�%�*���
�B�!
� �1
�!��� �
• �� �1� ?�� ����� ������ �� ��
• >�%�D��� �1� ��"�� ���������2 �
• >�%�:������;�� �<���)���
![Page 26: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/26.jpg)
��
��� ���������������������
/frameworks/base/services/java/..
.
/frameworks/base/services/jni
/
/hardware/libhardware
/
/device/[MANUF.]/[DEVICE]
/sdk/emulator
/
Kernel or
module
/frameworks/base/core/...
AOSP
provided
ASL
Manuf.
provided
Manuf. licenseManuf.
provided
GPLlicense
![Page 27: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/27.jpg)
��
����������� ���
� ����$��G�=���� DJ�� �����
�=�2��� DJ�!2�������$�����
�=���� DJ�+����,Q�N����$���-
�!���� %�����=�'
�=$ ��
�=�2�
�=�"��
�=���
����� �� ���� %�������$���<<<
![Page 28: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/28.jpg)
�&
����� ���� ��
� N ����,!��-�
�.�'��D�.�'�����*��*�R�./��R�.�O���"�
���� ����I�M�,%����$�$-�
�.�'��D�.�'�����*��*�R����'�0
���� ����I�S�,B��*��-
�.�'��D�.�'�����*��*�R�����R��$����>� ���2
���� ����JD�S�
�.�'��D�.�'�����*��*�R�����R�N$�.�O
![Page 29: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/29.jpg)
��
����� ������� !���
•�$����(��� ��� ���� ���#� $ �$ ��� $ ���
•��9��� '� ����� E�'��
•����D���� ����������
•��"��
•�����?��
•�N����������)�.��
•���'�0
![Page 30: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/30.jpg)
'
����� �������
•!������ ��� ���
• T4CC�� '���� ,%����$�$-
• M�? �� '���� ��� ���)��� ���
•��" �����:� '�������;�$�� � ����� •��)�! '��
•����'��2����* ! '��
• �1 ! '��
• ��0�*����* ! '��
•%�����������* ! '��
![Page 31: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/31.jpg)
�
![Page 32: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/32.jpg)
�
�������������
• � �9� ����'������! '���
• :*��9�;�+������ �'�� �
• ������" ���������*
• �$$���������B�����$�����*
• �������
• ���0�����*���
• %�)�2�������*���
![Page 33: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/33.jpg)
� �������
� !�� ��� �$$�����%����� G
� ��+���0,%����� -
���� �����'��2,����'��2<E�'�-
���������
����'��2����* ! '��
��� �/��P2*��, ����<E�'�-
�������
� P2*��
![Page 34: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/34.jpg)
"
�� ��
• ���� � ���� $ ��:$� ���;��)������� :� ����������;
• ��$������ H� 0 ��
• =�'="���
• =�2�=0 �=�"�*="��� =U
• ��� ���<U�� ����������#� ���!2����! ' �$ ��
"���
![Page 35: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/35.jpg)
�
![Page 36: ocw.cs.pub.roocw.cs.pub.ro/courses/_media/eim/curs/02.android-internals.pdf · ˇ /frameworks/base/services/java/... /frameworks/base/services/jni / /hardware/libhardware / /device/[MANUF.]/[DEVICE]](https://reader030.vdocuments.net/reader030/viewer/2022040504/5e34964a0edcbe1e3c2675ed/html5/thumbnails/36.jpg)
�
��������� ��������
• ��#�� $ :!��$���������;�����%����
• ������� �1 ����*
– ���$��2��"��0��*����02"�� ��
– ������ �#�#� "�� ��
– +�� ����#� �� ������ ��H��� ��
– B����� $ ������� ��OAV%N+O �
• ������������� ����������������������� � �����������
• � �������0�%��0�
* https://forum.xdadevelopers.com/showthread.php?t=1827676
���� �� ����� ������
�������"#���"�$�� $� $�� $��
����� "%��"#���"�$�� $� %� $��
����� "������"#���"�$�� $� ����� $��
&���"#���"�$�� $� ����� �����