SlideShare a Scribd company logo
Android 10 Internals (informal) UpdateAndroid 10 Internals (informal) Update
YouTube™ LivestreamYouTube™ Livestream
October 2October 2ndnd 20192019
CC-BY-SA 3.0 - Attribution requirements and misc., except 3rd party material,
PLEASE READ:
This slide must remain as-is in this specific location (slide #1), everything else you are free to change;
including the logo :-)
Use of figures in other documents must feature the below "Originals at" URL immediately under that
figure and the below copyright notice where appropriate.
You are FORBIDDEN from using the default "About" slide as-is or any of its contents.
Several diagrams taken from 3rd party material:
Attribution/citation made in every case
Refer to each original for redistribution/citation
Facts and data are not in principle copyrightable (ex: constants in header files), however if you
don't feel comfortable with our use of your material then let us know and we'll remove it:
courseware@opersys.com
Copyright (C) 2019, Opersys inc.
These slides created by: Karim Yaghmour
Originals at: http://www.opersys.com/training/
AboutAbout
Introduced Linux Trace Toolkit in 1999
Originated Adeos and relayfs (kernel/relay.c)
Training, Custom Dev, Consulting, ...
TopicsTopics
1. Architecture recap
2. Announced features
3. Overall AOSP changes
4. Changes of interest (preliminary)
5. System services
6. HIDL
7. Root filesystem
8. init
9. Processes
10. AOSP
11. Apex
12. Next?
Architecture recapArchitecture recap
Announced featuresAnnounced features
Security
Connectivity
Telephony
External file storage file creation improvements
Media and graphics
Thermal API
Camera and images
Accessibility services API
etc.
https://developer.android.com/about/versions/10/features
Overall AOSP changesOverall AOSP changes
AOSP 9:
Download size: 79GB
Build time: 2:15h
out/ (emulator): 113GB
Java system services LOC: 450K
AOSP 10:
Download size: 86GB
Build time: 3:30h
out/ (emulator): 86GB
Java system services LOC: 536K
Build system: 6 core Xeon, 32GB RAM, SSD (encrypted disk)
Changes of interest (preliminary)Changes of interest (preliminary)
This is a first pass ...
Apex
About 30 new system services
Init semantic additions
New hmm commands
BPF/BCC
Reworking/moving of some functionality
Several changes require some more work to look at
System servicesSystem services
activity_task: [android.app.IActivityTaskManager]
adb: [android.debug.IAdbManager]
apexservice: [android.apex.IApexService]
app_binding: []
app_prediction: [android.app.prediction.IPredictionManager]
ashmem_device_service: [android.ashmemd.IAshmemDeviceService]
biometric: [android.hardware.biometrics.IBiometricService]
bugreport: [android.os.IDumpstate]
color_display: [android.hardware.display.IColorDisplayManager]
content_suggestions: [android.app.contentsuggestions.IContentSuggestionsManager]
device_config: []
dnsresolver: [android.net.IDnsResolver]
dynamic_system: [android.os.image.IDynamicSystemService]
external_vibrator_service: [android.os.IExternalVibratorService]
gsiservice: []
incidentcompanion: [android.os.IIncidentCompanion]
inputflinger: [android.input.IInputFlinger]
ions: [com.android.internal.telephony.IOns]
ircs: [android.telephony.ims.aidl.IRcs]
looper_stats: []
rcs: [com.android.ims.internal.IRcsService]
role: [android.app.role.IRoleManager]
rollback: [android.content.rollback.IRollbackManager]
runtime: []
sensor_privacy: [android.hardware.ISensorPrivacyManager]
stats: [android.os.IStatsManager]
suspend_control: [android.system.suspend.ISuspendControlService]
testharness: []
time_detector: [android.app.timedetector.ITimeDetectorService]
uri_grants: [android.app.IUriGrantsManager]
HIDLHIDL
New HIDLs toplevel dirs:
atrace
fastboot
input
New in lshal:
android.frameworks.cameraservice.service@2.0::ICameraService/default
android.frameworks.stats@1.0::IStats/default
android.hardware.cas@1.1::IMediaCasService/default
android.hardware.drm@1.2::ICryptoFactory/clearkey
android.hardware.drm@1.2::IDrmFactory/clearkey
android.hardware.media.c2@1.0::IComponentStore/software
android.hardware.thermal@1.0::IThermal/default
android.hardware.thermal@2.0::IThermal/default
android.hardware.wifi.supplicant@1.2::ISupplicant/default
android.hardware.wifi@1.3::IWifi/default
android.hidl.base@1.0::IBase/software
android.hidl.manager@1.2::IServiceManager/default
android.system.suspend@1.0::ISystemSuspend/default
Root filesystemRoot filesystem
/
apex
debug_ramdisk
product_services
res
/system
apex
/data
apex
gsi
local.prop
preloads
/data (cntd)
rollback
rollback-observer
server_configurable_flags
unencrypted
initinit
Useful: diff old and new "main" init.rc
Service options:
interface:
Associates this service with a list of the HIDL services that it provides.
keycodes
Sets the keycodes that will trigger this service.
override:
Indicates that this service definition is meant to override a previous definition for a service
with the same name.
restart_period :
If a non-oneshot service exits, it will be restarted at its start time plus this period.
Sevice options (cntd):
sigstop:
Send SIGSTOP to the service immediately before exec is called.
timeout_period
Provide a timeout after which point the service will be killed.
updatable:
Mark that the service can be overridden (via the 'override' option) later in the boot sequence
by APEXes.
Commands
class_start_post_data
class_reset_post_data
mark_post_data
parse_apex_configs
New way to debug init services:
stop logd
setprop ctl.sigstop_on logd
start logd
ps -e | grep logd
> logd 4343 1 18156 1684 do_signal_stop 538280 T init
gdbclient.py -p 4343
b main
c
c
c
> Breakpoint 1, main (argc=1, argv=0x7ff8c9a488) at system/core/logd/main.cpp:427
stop logd
setprop ctl.sigstop_on logd
start logd
ps -e | grep logd
> logd 4343 1 18156 1684 do_signal_stop 538280 T init
strace -p 4343
(From a different shell)
kill -SIGCONT 4343
> strace runs
ProcessesProcesses
Daemons:
apexd
ashmemd
gpuservice
idmap2d
llkd
mdnsd
mediaserver
qemu-props
statsd
traced
traced_probes
HIDLs:
android.hardware.thermal@2.0-service.mock
android.system.suspend@1.0-service
Apps:
com.android.ims.rcsservice
com.android.networkstack
com.android.permissioncontroller
AOSPAOSP
system:
apex
ashmemd
bpf
bpfprogs
gsid
iorap
libsysprop
linkerconfig
server_configurable_flags
testing
ucontainer
external:
adeb
apache-commons-bcel
apache-commons-compress
ARMComputeLibrary
arm-optimized-routines
bcc
catch2
cldr
deqp-deps
dexmaker
dokka
dynamic_depth
external (cntd):
epid-sdk
fsverity-utils
google-fruit
grpc-grpc
grpc-grpc-java
image_io
iperf3
javapoet
jemalloc_new
libaom
libkmsxx
libprotobuf-mutator
external (cntd):
libutf
lua
minigbm
neon_2_sse
newfs_msdos
opencensus-java
openssh
protobuf-javalite
rapidjson
Reactive-Extensions
setupcompat
setupdesign
external (cntd):
syzkaller
u-boot
ukey2
virglrenderer
vulkan-headers
xz-java
yapf
hmm:
allmod: List all modules.
gomod: Go to the directory containing a module.
pathmod: Get the directory containing a module.
refreshmod: Refresh list of modules for allmod/gomod.
ApexApex
Dynamically update core system components
Official doc:
Alernatives considered (and rejected):
Regular package management systems
dm-crypt for integrity
Redirecting paths from /system to /apex
Based on APK format (uses AndroidManifest.xml)
Packaged as filesystem image
Mounted on loopback at next reboot
Apex "clients" must use apex path
https://android.googlesource.com/platform/system/apex/+/refs/heads/master/docs/RE
Thoughts:
Hey Google, what about "dm-integrity"?
Why not just use a real package management system?
https://archive.fosdem.org/2018/schedule/event/cryptsetup/
Next?Next?
Generic Kernel Image
Thank You!Thank You!
karim.yaghmour@opersys.com

More Related Content

What's hot (20)

PDF
Memory Management in Android
Opersys inc.
 
PDF
Running Code in the Android Stack at ABS 2014
Opersys inc.
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
PDF
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 
PDF
Android OTA updates
Gary Bisson
 
PPTX
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
Paris Open Source Summit
 
PDF
Android Things: Android for IoT
Opersys inc.
 
PDF
Customizing Android's UI
Opersys inc.
 
PDF
Memory Management in Android
Opersys inc.
 
PDF
Brillo / Weave Internals
Opersys inc.
 
PDF
Embedded Android Workshop with Pie
Opersys inc.
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
ODP
Android crash debugging
Ashish Agrawal
 
ODP
Q4.11: Porting Android to new Platforms
Linaro
 
PDF
Droidcon uk2012 androvm
dfages
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
PDF
Memory Management in Android
Opersys inc.
 
ODP
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
PDF
Android Security, From the Ground Up
Opersys inc.
 
PDF
Working with the AOSP - Linaro Connect Asia 2013
Opersys inc.
 
Memory Management in Android
Opersys inc.
 
Running Code in the Android Stack at ABS 2014
Opersys inc.
 
Android Platform Debugging and Development
Opersys inc.
 
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 
Android OTA updates
Gary Bisson
 
OWF12/PAUG Conf Days Alternative to google's android emulator, daniel fages, ...
Paris Open Source Summit
 
Android Things: Android for IoT
Opersys inc.
 
Customizing Android's UI
Opersys inc.
 
Memory Management in Android
Opersys inc.
 
Brillo / Weave Internals
Opersys inc.
 
Embedded Android Workshop with Pie
Opersys inc.
 
Android Platform Debugging and Development
Opersys inc.
 
Android crash debugging
Ashish Agrawal
 
Q4.11: Porting Android to new Platforms
Linaro
 
Droidcon uk2012 androvm
dfages
 
Android Platform Debugging and Development
Opersys inc.
 
Memory Management in Android
Opersys inc.
 
Enhancing and modifying_the_core_android_os
Arnav Gupta
 
Android Security, From the Ground Up
Opersys inc.
 
Working with the AOSP - Linaro Connect Asia 2013
Opersys inc.
 

Similar to Android 10 Internals Update (20)

PDF
Open power topics20191023
Yutaka Kawai
 
PDF
Lecture Presentation 11.pdfLecture Presentation 9.pdf fpga soc
minamelad457
 
PPTX
GPGPU in Commercial Software: Lessons From Three Cycles of the Adobe Creative...
Kevin Goldsmith
 
PDF
Embedded Android
晓东 杜
 
PPTX
Extending uBuild and uDeploy with Plugins
IBM UrbanCode Products
 
PPTX
Vasiliy Litvinov - Python Profiling
Sergey Arkhipov
 
PDF
GO-CFを試してみる
Takeshi Morikawa
 
PDF
How to measure everything - a million metrics per second with minimal develop...
Jos Boumans
 
PPTX
Rsockets ofa12
trustitrusti
 
PPT
Designing the Call of Cthulhu app with Google App Engine
Chris Bunch
 
DOCX
Asa 8.3 upgrade what you need to know
IT Tech
 
PDF
Industrial IoT bootcamp
Lothar Schubert
 
DOCX
Licensing on Cisco 2960, 3560X and 3750X...
IT Tech
 
PDF
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
PPTX
What's new in android jakarta gdg (2015-08-26)
Google
 
PPTX
PowerAI Deep Dive ( key points )
Paulo Sergio Lemes Queiroz
 
PPTX
Deep inside TOMOYO Linux
Toshiharu Harada, Ph.D
 
PDF
Maximize the power of OSGi in AEM
ICF CIRCUIT
 
PPTX
Exploring the Titanium CLI - Codestrong 2012
Chris Barber
 
PPTX
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Intel® Software
 
Open power topics20191023
Yutaka Kawai
 
Lecture Presentation 11.pdfLecture Presentation 9.pdf fpga soc
minamelad457
 
GPGPU in Commercial Software: Lessons From Three Cycles of the Adobe Creative...
Kevin Goldsmith
 
Embedded Android
晓东 杜
 
Extending uBuild and uDeploy with Plugins
IBM UrbanCode Products
 
Vasiliy Litvinov - Python Profiling
Sergey Arkhipov
 
GO-CFを試してみる
Takeshi Morikawa
 
How to measure everything - a million metrics per second with minimal develop...
Jos Boumans
 
Rsockets ofa12
trustitrusti
 
Designing the Call of Cthulhu app with Google App Engine
Chris Bunch
 
Asa 8.3 upgrade what you need to know
IT Tech
 
Industrial IoT bootcamp
Lothar Schubert
 
Licensing on Cisco 2960, 3560X and 3750X...
IT Tech
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
What's new in android jakarta gdg (2015-08-26)
Google
 
PowerAI Deep Dive ( key points )
Paulo Sergio Lemes Queiroz
 
Deep inside TOMOYO Linux
Toshiharu Harada, Ph.D
 
Maximize the power of OSGi in AEM
ICF CIRCUIT
 
Exploring the Titanium CLI - Codestrong 2012
Chris Barber
 
Tuning For Deep Learning Inference with Intel® Processor Graphics | SIGGRAPH ...
Intel® Software
 
Ad

More from Opersys inc. (20)

PDF
Android's HIDL: Treble in the HAL
Opersys inc.
 
PDF
Android Treble: Blessing or Trouble?
Opersys inc.
 
PDF
Embedded Android Workshop with Oreo
Opersys inc.
 
PDF
Scheduling in Android
Opersys inc.
 
PDF
Android Things Internals
Opersys inc.
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
PDF
Embedded Android Workshop with Nougat
Opersys inc.
 
PDF
Embedded Android Workshop with Nougat
Opersys inc.
 
PDF
Android Things Internals
Opersys inc.
 
PDF
Scheduling in Android
Opersys inc.
 
PDF
Memory Management in Android
Opersys inc.
 
PDF
Embedded Android Workshop with Nougat
Opersys inc.
 
PDF
Brillo / Weave Internals
Opersys inc.
 
PDF
Project Ara
Opersys inc.
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
PDF
Brillo/Weave Internals
Opersys inc.
 
PDF
Embedded Android Workshop with Marshmallow
Opersys inc.
 
PDF
Android Platform Debugging and Development
Opersys inc.
 
PDF
Embedded Android Workshop with Marshmallow
Opersys inc.
 
PDF
Project Ara
Opersys inc.
 
Android's HIDL: Treble in the HAL
Opersys inc.
 
Android Treble: Blessing or Trouble?
Opersys inc.
 
Embedded Android Workshop with Oreo
Opersys inc.
 
Scheduling in Android
Opersys inc.
 
Android Things Internals
Opersys inc.
 
Android Platform Debugging and Development
Opersys inc.
 
Embedded Android Workshop with Nougat
Opersys inc.
 
Embedded Android Workshop with Nougat
Opersys inc.
 
Android Things Internals
Opersys inc.
 
Scheduling in Android
Opersys inc.
 
Memory Management in Android
Opersys inc.
 
Embedded Android Workshop with Nougat
Opersys inc.
 
Brillo / Weave Internals
Opersys inc.
 
Project Ara
Opersys inc.
 
Android Platform Debugging and Development
Opersys inc.
 
Brillo/Weave Internals
Opersys inc.
 
Embedded Android Workshop with Marshmallow
Opersys inc.
 
Android Platform Debugging and Development
Opersys inc.
 
Embedded Android Workshop with Marshmallow
Opersys inc.
 
Project Ara
Opersys inc.
 
Ad

Recently uploaded (20)

PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 

Android 10 Internals Update