文档章节

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

科技创造
 科技创造
发布于 2015/08/25 10:22
字数 639
阅读 132
收藏 6


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

packages/
|– apps (各种应用程序,如联系人、浏览器等)
|– experimental (一些实验性的项目,如错误报告)
|– inputmethods (输入法相关)
|– providers (各种数据源实现,如联系人数据、媒体库等信息)
|– wallpapers (各种壁纸程序)


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

 

© 著作权归作者所有

科技创造
粉丝 37
博文 199
码字总数 174505
作品 0
徐汇
程序员
私信 提问
这是一份全面 & 详细的Android多线程知识总结指南

前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 今天,我将献上一份全面 & 详细的Android多线程学习指南,希望你们喜欢。 目录 1. 多线程基础知识 在了解Android多线程实现...

Carson_Ho
06/26
0
0
Android:关于多线程的总结知识都在这里了!

前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 今天,我将献上一份全面 & 详细的Android多线程学习指南,希望你们喜欢。 目录

Carson_Ho
05/22
0
0
Android AOSP基础(五)Android Studio调试系统源码的三种方式

本文首发于微信公众号「刘望舒」 关联系列 Android AOSP基础系列 Android系统启动系列 应用进程启动系列 Android深入四大组件系列 Android深入理解Context系列 Android深入理解JNI系列 Andr...

刘望舒
08/05
0
0
Android知识体系总结(全方面覆盖Android知识结构,面试&进阶)

Android知识体系总结(全方面覆盖Android知识结构,面试&进阶 Version-1.0.1 时间:2018.09) 基本内容 : Android基础知识:基本涵盖Android所有知识体系,四大组件,Fragment,WebView,事件分发...

Java高级架构
2018/11/01
0
0
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部