~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
packages/
|–apps (various applications, such as contacts, browsers, etc.)
|–experimental (some experimental projects, such as Bug reports)
|–inputmethods (Input Method related)
|–providers (various data source implementations, such as contact data, Media Library, and other information)
|–wallpapers (Various wallpaper programs)
Introduction to Android Framework Features
Android.app: Provides a * * program model and basic operating environment.
Android.content: Includes access to and publication of data on a variety of devices.
Android.database: Browse and manipulate databases through content providers.
Android.graphics: The underlying graphics library, which contains the canvas, dots, rectangles, and so on, can be drawn directly onto the screen.
Android.location: Classes for targeting and related services.
Android.media: Provides some classes to manage multiple audio and video media interfaces.
Android.net: A class that provides help for network access, more than the usual java.net.* interface.
Android.os: Provides system services, message transmission, and IPC mechanisms.
Android.opengl: A tool that provides OpenGL.
Android.provider: Provides classes to access Android content providers.
Android.telephony: provides API interaction related to dialing calls.
Android.view: Provides a basic interface framework for the user interface.
Android.util: A tool-related approach, such as a time-date operation.
Android.webkit: Default browser Operation interface.
Android.widget: Contains various UI elements (mostly visible) used in the layout of the application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/
|–buildspec.mk.default
|–cleanspec.mk
|–core (various files ending with MK, which are required for compiling makefile)
|–envsetup.sh
|–libs
|–target (contains board and product two directories, files required for the target)
|–tools (the tools required by the host during compilation, some need to be compiled and generated)
Makefile in core is the real makefile required for the entire Android compilation, which is referenced by the makefile of the top-level directory
Summary of knowledge points, the DEX (class.dex) file is a file format that can be run directly on a Dalvik virtual machine on an Android system.
Java source code is compiled into Smali language by ADT This is an optimization process,
It is small in size, efficient in operation, and less readable after compilation than the. class file. Smali to Class.dex itself is a process of shell protection.
If the Dex file is not protected, the hacker can completely expose the source code by anti-compilation, can use the reading source to find the app design process,
Through the process of understanding the program will be easy to piracy, malicious tampering, malicious code injection and other dangerous behavior.
In this particular thanks to the love encryption provided by Cryptographic Services gives me the protection of application hardening.
Http://www.ijiami.cn/AppProtect
Android source code general structure (2) Summary of basic knowledge