安卓源码总体结构(2)基础知识汇总

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

packages/ |– apps (各种应用程序,如联系人、浏览器等)

|– experimental (一些实验性的项目,如错误报告)

|– inputmethods (输入法相关)

|– providers (各种数据源实现,如联系人数据、媒体库等信息)

|– wallpapers (各种壁纸程序)


安卓源码总体结构(2)基础知识汇总_第1张图片

Android Framework功能介绍

android.app :提供**的程序模型和基本的运行环境。

android.content :包含对各种设备上的数据进行访问和发布。

android.database :通过内容提供者浏览和操作数据库。

android.graphics :底层图形库,包含画布、点、矩形等,可以将其直接绘制到屏幕上。

android.location :定位和相关服务的类。

android.media :提供一些类管理多种音频、视频的媒体接口。

android.net :提供帮助网络访问的类,超过通常的 java.net.* 接口。

android.os :提供了系统服务、消息传输和 IPC 机制。

android.opengl :提供 OpenGL 的工具。

android.provider :提供访问 Android 内容提供者的类。

android.telephony :提供与拨打电话相关的 API 交互。

android.view :提供基础的用户界面接口框架。

android.util :涉及工具性的方法,例如时间日期的操作。

android.webkit :默认浏览器操作接口。

android.widget :包含各种 UI 元素(大部分是可见的)在应用程序的布局中使用 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

build/ |– buildspec.mk.default |– cleanspec.mk |– core (各种以mk为结尾的文件,它门是编译所需要的Makefile)

|– envsetup.sh |– libs |– target (包含board和product两个目录,为目标所需要文件)

|– tools (编译过程中主机所需要的工具,一些需要经过编译生成) 其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用

知识点小结,DEX (class.dex) 文件是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。

Java源码通过ADT编译成smali语言这是一个优化的过程,

相对 于.class文件它体积小、运行效率高、被编译后可读性低;smali再到class.dex本身就是一个加壳保护的过程。

DEX文件如果未做好保护, 黑客通过反编译可让源码完全暴露,可利用阅读源码来找到APP的设计流程,

通过对程序流程的了解将很容易对程序进行盗版、恶意篡改、恶意代码注入等危险行 为。

在此特别感谢爱加密提供的加密服务给我应用加固提供了保护。

http://www.ijiami.cn/AppProtect 

你可能感兴趣的:(安卓源码总体结构(2)基础知识汇总)