The document discusses debugging and profiling approaches for Android. It describes popular techniques like logging with logcat, using gdb for debugging, tracing with tools like DDMS and LTTng. It also discusses profiling CPU and memory usage with tools like smem and oprofile. Finally, it provides an overview of WiFi, Bluetooth, and radio interface layer subsystems in Android.
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
Slides from Android Builder's Summit 2014 in San Jose, CA
In this talk I describe the internal workings of the Android graphics stack from the Application layer down through the stack to pixels on the screen. It is a fairly complex journey, taking in two different 2D rendering engines, applications calling OpenGL ES directory, passing buffers on to the system compositor, SurfaceFlinger, and then down to the display controller or frame buffer.
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
Android is a software stack that includes operating system, middle ware, applications for the development of devices. Android has evolved greatly and user experience in addition to consumer level efficiency along with integration of android powered devices also expanded. Because of its core aspects like open source nature and architectural modal it is becoming more innovative operating system. Android is being integrated and ported to various embedded devices this includes enterprise desktop IP phones, cameras, modem, sensors, and set-up boxes and automotive. One major advantage of using android framework beyond the mobile devices is the android applications can talk to the functionality of all these devices powered by android and developers need not to write several applications for different embedded systems. This paper looks at the challenges in android migration to the different embedded platforms and porting issues. Here we presented description of preparing and building AOSP in local environment and implementation with Programming for integrating user applications in android build system permanently.
Brief introduction of android telephony framework, detailed analyze of RIL (radio interface layer), and some examples for doing telephony thing in a low layer
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
Slides from Android Builder's Summit 2014 in San Jose, CA
In this talk I describe the internal workings of the Android graphics stack from the Application layer down through the stack to pixels on the screen. It is a fairly complex journey, taking in two different 2D rendering engines, applications calling OpenGL ES directory, passing buffers on to the system compositor, SurfaceFlinger, and then down to the display controller or frame buffer.
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
Android is a software stack that includes operating system, middle ware, applications for the development of devices. Android has evolved greatly and user experience in addition to consumer level efficiency along with integration of android powered devices also expanded. Because of its core aspects like open source nature and architectural modal it is becoming more innovative operating system. Android is being integrated and ported to various embedded devices this includes enterprise desktop IP phones, cameras, modem, sensors, and set-up boxes and automotive. One major advantage of using android framework beyond the mobile devices is the android applications can talk to the functionality of all these devices powered by android and developers need not to write several applications for different embedded systems. This paper looks at the challenges in android migration to the different embedded platforms and porting issues. Here we presented description of preparing and building AOSP in local environment and implementation with Programming for integrating user applications in android build system permanently.
Brief introduction of android telephony framework, detailed analyze of RIL (radio interface layer), and some examples for doing telephony thing in a low layer
Self Contained Encrypted Voice solution for business and government. Central server + iphone and android app, high level of encrypted voice and text message capability that resides completely onsite, works anywhere from one enabled comms device to another on the same network
Android Crash analysis and The Dalvik Garbage collector – Tools and TipsDroidConTLV
You released an Android Application to the Play store. You even have some Advertising to make some money. The next step is to improve the code by looking at the crashes the Users are experiencing, and fixing them. The talk will cover current services to collect crash data, explain how to analyze the information. We will present an example crash analysis, and go in depth into the Android Garbage Collector, and the way it works for different versions of Android. We will also provide with a GC benchmarking tool, and some tips and tricks.
Droidcon 2011: Gingerbread and honeycomb, Markus Junginger, GreenrobotDroidcon Berlin
Gingerbread and Honeycomb
Markus Junginger, greenrobots
Google is developing Android rapidly: Since the release of the Android 1.0 SDK two and a half years ago, Honeycomb is the 9th (!) release of the SDK. Having catched up with its competition in previous releases, Android begins to innovate with new APIs like Near-Field-Communication (NFC). This session keeps developers up-to-date with the new APIs introduced in Android 2.3 Gingerbread and Android 3.0 Honeycomb. Developers will learn how to use state-of-the-art features while maintaining compatibility with devices running older versions of the OS.
Besides NFC, performance is probably the most important advancement in Gingerbread: Android 2.3 got a new parallel garbage collection, an improved JIT compiler and lots of new NDK features for high performance native apps. Also, the SIP API may trigger a new breed of IP telephony apps.
Honeycomb is perceived as the first “tablet version” of Android. One of the most important features are Activity fragments, which become the new building blocks for apps that target both smartphone and tablet screens. Nevertheless, tablets are just one aspect to Android 3.0. For example, developers can now speed up the UI dramatically by activating hardware accelerated rendering. The GPU is also the central part of the new animation framework and the Renderscript engine allowing 3D content and high performance shaders. Together with multicore CPU support, Honeycomb sets the stage for next-generation apps that exploit the desktop-like processing power.
The new APIs in 2.3 and 3.0 are a plentiful resource for developers to make their Android apps unique. This is the session you need to get started!
(1) Pick up one Android phone and discover its internals
(2) Learn how to select the "weapons" to fight with
Android system facilities
(3) Skipping Java parts, we focus on the native area:
dynamic linking, processes, debugger, memory
layout, IPC, and interactions with frameworks.
(4) It is not comprehensive to familarize Android. The
goal is to utilize Android platforms, which are the
popular and powerful development devices to us.
In dieser Session werfen wir einen Blick auf die Android Platform jenseits der Dalvik VM. Wir entdecken den Android Source Code und erklären wo sich interessante Beispiele und Referenzen für App-Entwickler sowie nützliche Tools verbergen. Ein High-Level Überblick über die Platform-Architektur und das Platform-Build-System runden die Session ab.
Presentation at Android Builders Summit 2012.
Based on the experience of working with ODM companies and SoC vendors, this session would discuss how to figure out the performance hotspot of certain Android devices and then improve in various areas including graphics and boot time. This session consists of the detailed components which seem to be independent from each other in traditional view. However, the situation changes a lot in Android system view since everything is coupled in a mass. Three frequently mentioned items in Android engineering are selected as the entry points: 2D/3D graphics, runtime, and boot time. Audience: Developers who work on Android system integration and platform enablement.
Lab Handson: Power your Creations with Intel Edison!Codemotion
by Francesco Baldassarri - Come along and play with Intel Edison, for the Internet of Things? Learn about the Developer Kit for IoT, chose your preferred environment and test it – or test all the possibilities? We will be providing information and hands on training for developers interested in testing our solutions in C/C++, Javascript, Arduino, Wyliodrin and Python. Just bring you laptop and we will help you to get started. We will also provide information about our Cloud Analytics platform, and test hardware samples with the Grove Starter Kit – Intel IoT Edition. Visit us anytime and start making! What will you make?
All your legos are belong to Us Gr8Conf.EU 2015Ryan Vanderwerf
Lecture on programming Groovy with Lego Mindstorms EV3 given by @RyanVanderwerf at GR8Conf.eu 2015. Slide 1 is missing sorry, the deck2pdf version slideshare doesn't like.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
2. Legal info
Android internals by Egor Elizarov is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
You are free to
– copy, distribute, display, and perform the work
– make derivative works
Under the following conditions
– Attribution. You must give the original author credit
– Share Alike. If you alter, transform, or build upon this work, you may
distribute the resulting work only under a license identical to this one
All pictures and trademarks are the property of their respective owners. Use of
these trademarks and pictures is subject to owners permissions.
Corrections, suggestions, contributions and translations are welcome!
2 Egor Elizarov SPbSU 2012
6. Debugging/profiling agenda
Very good presentation about debugging &
profiling by Tim Bird
Most popular approaches
Tools covered by Tim in brief
Few words about not covered approaches
6 Egor Elizarov SPbSU 2012
8. Logging
logcat – obtaining android log
– For both C/C++ (LOGE) & Java (Log.e) code
– Have rich formatting options
dmesg – obtatining kernel log
– printk()
– Extra logs from userspace through /dev/kmsg
Stdio redirection
– For both Java (log.redirect-stdio) & Native (xargs) code
8 Egor Elizarov SPbSU 2012
9. GNU debugger (gdb)
DDD can be used as graphic backend
On target
$ gdbserver :1234 --attach pid
Or $gdbserver :1234 /system/bin/app
●
On host
$ adb forward tcp:1234 tcp:1234 && gdbclient app :1234 app
Or $ arm-eabi-gdb
# file ./out/target/product/generic/symbols/system/bin/app_process
# set solib-search-path
./out/target/product/generic/symbols/system/lib
# target remote target_ip:1234
9 Egor Elizarov SPbSU 2012
10. Google debuggers
Fastboot
– Protocol & tool to communicate with host over USB
– Install images, erase partitions, booting from host
– Supported in UBoot
ADB
– Remote shell, install, file copy, etc.
– Work over Network/USB
10 Egor Elizarov SPbSU 2012
11. Tracing & dumping
Strace
– Shows system calls for a process (or set of processes)
Dalvik Debug Monitor Servic (DDMS)
– Integrated into Eclipse
– Provides port-forwarding services, screen capture on the device,
thread and heap information on the device, logcat and much more
Dumpsys / Dumpstate
– Dumps huge amounts of information about the system, including
status, counts and statistics
– Dumpsys show status information from Android service
11 Egor Elizarov SPbSU 2012
12. Virtual Network Computing
VNC - Graphical desktop sharing system
Transmits input events from host to target
Transmits screen updates from target to host
On target
– androidvncserver &
On host
– vncviewer target_ip:5901
12 Egor Elizarov SPbSU 2012
14. CPU and memory statistics
Common profiling workflow
Smem
– Analyze of system-wide memory usage
OProfile
– CPU usage statistic for both kernel & userspace
– Monitors execution point periodically
– Should be enabled in kernel
14 Egor Elizarov SPbSU 2012
15. Tracing
Bootchart
– Analyze system booting process
– init should be recompiled to add Bootchart support
TraceView
– Java methods tracing
– Can be used with DDMS
15 Egor Elizarov SPbSU 2012
16. Benchmarks
Rowboat bench
– Set of benchmarks for CPU, 2D, 3D, etc.
– Developed by Rowboat team
0xbench
– Another set of benchmarks
– Developed by 0xlab team
Lots of benchmarks in Google Play
16 Egor Elizarov SPbSU 2012
17. Linux Trace Toolkit next generation
Work for both kernel and userspace
Useful to debug threads and processes
Allow to trace only some events
Allow userspace events (/mnt/debugfs/ltt/write_event)
Kernel patches + ltt-control + ltt-viewer
17 Egor Elizarov SPbSU 2012
19. Different tricks
Activity Manager - control applications
– am start -a android.intent.action.MAIN -n
com.android.camera/com.android.camera.Camera &
input keyevent X – send keyboard events
sendevent – send touch events
setprop/getprop - control system properties
sqlite - access database
start/stop - restart whole system
19 Egor Elizarov SPbSU 2012
20. WiFi in Android
Supports IEEE 802.11 abgn
Supports both IPv4 and IPv6
Based on customized wpa_supplicant
Wifi drivers compiled as modules (Wifi HAL
can changed to support built-in drivers)
20 Egor Elizarov SPbSU 2012
23. Bluetooth in Android
Bluetooth is covered by IEEE 802.15.1
Android BT is based on the BlueZ stack
Android provides subset of BlueZ functionality
Android supports point-to-point and multiple-
point connections
Supports maximum 9 simultaneous connections
23 Egor Elizarov SPbSU 2012
26. RIL in Android
Most devices have separate Radio Frequency
module for signal strength measurement etc.
Modem often have own CPU with running OS
(Ex: Mentor Nucleus)
Usually have firmware
Often kernel interface to these devices is PPP
26 Egor Elizarov SPbSU 2012
31. Thanks to
Sergey Matyukevich for review and advices
(www.linkedin.com/pub/sergey-
matyukevich/31/889/769)
Nikolay F. Fominykh for review and advices
Vladimir Barinov for review and advices
(http://www.linkedin.com/pub/vladimir-
barinov/2a/18a/bab)
31 Egor Elizarov SPbSU 2012