您应该已经知道,Android 的核心操作系统是 Linux (现在用的版本是 2.6.25)。因此内部的档案系统,与系统目录等,也和 Linux 脱不了关系。要如何观察这些系统目录,到底藏了什么秘密呢?
在 Eclipse 环境中,你可以用 DDMS 来观察。不过这个 DDMS 在我的计算机上的执行速度,实在太慢了。我个人的偏好是,直接用 adb shell 来观察。启动 adb shell 的用法如下:
1. 在 Windows 中,开启一个命令列窗口 (或执行 cmd.exe 这个程序)
2. cd <android-sdk-install_path>/tools
3. adb shell
当你看到这个 # 提示字符时,就表示你已经进入仿真器的系统。接下来,你就可以用 Linux 上的指令来浏览这些目录。像是 cd, ls, pwd, cat, rm 等等。
这里面,有几个目录是和 Android 相关的,我特地将他整理下来,供你参考。
/system/app
预加载应用程序执行文件 (*.apk),都是放在这。像是 Alarm Clock, Browser, Contacts, Maps,… 等等。
用 DDMS 观察的话,目录内的内容,就像下面这样:
Android内部的秘密-系统目录
/system/framework
这会放 Android 系统的核心链接库。像是 core.jar, framework-res.apk, com.google.android.gtalkservice.jar,…等等。疑,1.0r1 不是已经将 gtalk 等相关 APIs 移除了吗?怎么他的链接库还在?虽然许多链接库都是以 jar 结尾的,不过里面 Java classes 还是以 dex 格式存在着。
/system/media/audio/(notification, alarms, ringtones, ui)
这里放系统的声音文件,像是闹铃声,来电铃声等等。这些声音档,多是 ogg 格式。
/data/anr/traces.txt
当你的应用程序发生 ANR (Application is Not Responding) 错误时,Android 会自动将问题点的 code stack list 写在这个档案内,你直接用 cat 命令就可以看他的内容。
/data/app
/system/app 放的是系统预载的应用程序执行文件。而这里放的是使用者自己安装的应用程序执行文件 (*.apk)。
/data/data/<app-package-name>
当你在程序中用 Context.openFileOutput() 所建立的档案,都放在这个目录下的 files 子目录内。而用 Context.getSharedPreferences() 所建立的 preferences 檔 (*.xml) ,则是放在 shared_pref 这个子目录中。
/data/location/gps
这里看起来,应该是给 GPS location provider 用的。其中的 properties 档案的内容如下:
requiresNetwork false
requiresSatellite false
requiresCell false
hasMonetaryCost false
supportsAltitude true
supportsBearing true
supportsSpeed true
repeat true
accuracy 100
powerRequirement 1
没猜错的话,这应该是用来描述 GPS location provider 有那些功能的。
/data/system/location/location.gps
这个档案也是个一般文字文件。主要是记录最后的经纬度坐标。LocationManager.getLastKnownLocation() 就在来这抓值的。
/data/property/persist.sys.timezone
这个档案也是个一般文字文件。主要是记录目前系统所使用的时区。在我的仿真器上,他记录着 Asia/Taipei 这个字符串。
最后,下面这两个指令,也很好用。他可以帮你将外部档案,复制到仿真器的系统档案目录内,也可以将仿真器内的档案,复制到外部系统上。
adb push <local> <remote> - copy file/dir to device
adb pull <remote> <local> - copy file/dir from device
分享到:
相关推荐
Android 系统 文件夹 结构 解析
art: Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性.PDF bionic:系统C库源代码,Android改造的C或C++库.pdf bootable:启动引导相关代码,适合各种bootloader的通用...
1.4.2 Android系统目录 8 1.4.3 Android App文件目录 11 第2章 Android开发工具新接触 13 2.1 Android开发IDE介绍 14 2.1.1 Android Studio初体验 14 2.1.2 Android Studio配置 15 2.2 Android Studio高级使用技巧 ...
以树形目录展示某一个文件夹所有的文件目录,例子是sdcard目录下的文件层次结构
包括: Android SDK 中文开发文档(高清): 关于安卓开发的,相当不错的资料关于安卓开发的,看文档能学到很多东西 Android操作系统详细目录结构
“基于Android的在线订餐系统的研究与实现”项目由三个模块组成:WEB服务器,Android用户客户端和Android管理员客户端。 WEB服务器 “OrderServer”的部署有两种方法: 1、通过MyEclipse或者Eclipse直接部署,服务器...
1.4.2 Android系统目录 8 1.4.3 Android App文件目录 11 第2章 Android开发工具新接触 13 2.1 Android开发IDE介绍 14 2.1.1 Android Studio初体验 14 2.1.2 Android Studio配置 15 2.2 Android Studio高级使用...
最全的Android源码目录结构详解,介绍android系统结构组成
Android系统原理及开发要点详解-高清-目录,详解了Android平台各个子系统的开发、驱动等细节。以及android的设计框架
本文件浏览器,适用于android模拟器,也适用于android手机系统。 安装与卸载android模拟器上的软件,同时消除其图标 解法方法: 首先你的PC上需安装了android模拟器 安装apk文件 第一:把下载的apk文件放到...
Android系统Framework层源码分析 ,简单直接,是我自己学习用的资料
Android系统文件夹结构解析-完整版本-华为手机亲身验证
Android系统源代码情景分析光盘资料 目录 第1篇初识Android系统 第1章 准备知识................................................................ 2 1.1 Linux内核参考书籍......................................
移动操作系统原理与实践——基于Java语言的Android应用开发 目录 基础篇 第1章移动操作系统概论 1.1操作系统的原理与概念 1.1.1隐藏硬件细节 1.1.2资源管理 1.1.3操作系统的历史 1.2操作系统的分类 1.2.1...
当Android发生系统重启,即导致kernel重启的异常时,会在手机中的/data/aee_exp目录下保存异常重启的db。工程师可以通过GAT的bug report功能,或者直接通过adb pull,把对应的db从手机中抓回来。
《Android系统源代码情景分析》随书光盘内容(源代码) 目录如下: 第1篇 初识Android系统 第1章 准备知识 1.1 Linux内核参考书籍 1.2 Android应用程序参考书籍 1.3 下载、编译和运行Android源代码 ...
Android系统源码 1G大小,txt文本里有360网盘地址,本人Ubuntu下解压文件目录为:bionic bootable build cts dalvik device external frameworks hardware libcore packages prebuilt sdk system 。 希望对你用的着~...
Android系统架构与源码目录
Android12系统源码目录分析
深入解析Android 5.0系统 带目录 扫描版本 超棒的资料