当前位置:文档之家› Android系统文件夹结构及ROM精简初级教程

Android系统文件夹结构及ROM精简初级教程

Android系统文件夹结构及ROM精简初级教程
Android系统文件夹结构及ROM精简初级教程

Android系统文件夹结构!以及ROM精简初级教程!!

一个完整的ROM根目录会有以下几个文件夹及文件:

data

META-IN

system

boot.img

系统目录说明

1. 应用程序安装目录

1) 系统应用程序所在目录

/system/app/*.apk

2)用户安装应用程序所在目录

/data/app/*.apk

3) 注意:

a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除

b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install 杀死正在运行的程序时,有时旧的就会被启动

2.用户数据所在目录

/data/data/应用包名/shared_prefs 配置文件

/data/data/应用包名/databases/* 库文件所在目录

3. SD卡对应目录

/sdcard/

而我们需要处理的只是两个文件夹里面的内容:

data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。

system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以APK格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。我们主要是针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文件名时同时也删除与其对应的odex 文件。

虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解system相应目录相应文件的用途吧。(rom版本不同里面的APK也会不一样)

file://\\system\\app]\\system\\app

file://\\system\\app\\AlarmClock.apk]\\system\\app\\AlarmClock.apk 闹钟

file://\\system\\app\\Browser.apk]\\system\\app\\Browser.apk 浏览器

file://\\system\\app\\Bugreport.apk]\\system\\app\\Bugreport.apk Bug报告

file://\\system\\app\\Calculator.apk]\\system\\app\\Calculator.apk 计算器

file://\\system\\app\\Calendar.apk]\\system\\app\\Calendar.apk 日历

file://\\system\\app\\CalendarProvider.apk]\\system\\app\\CalendarProvider.apk 日历提供file://\\system\\app\\Camera.apk]\\system\\app\\Camera.apk 照相机

file://\\system\\app\\com.amazon.mp3.apk]\\system\\app\\com.amazon.mp3.apk 亚马逊音乐file://\\system\\app\\Contacts.apk]\\system\\app\\Contacts.apk 联系人

file://\\system\\app\\DownloadProvider.apk]\\system\\app\\DownloadProvider.apk 下载提供

file://\\system\\app\\DrmProvider.apk]\\system\\app\\DrmProvider.apk DRM数字版权提供file://\\system\\app\\Email.apk]\\system\\app\\Email.apk 电子邮件客户端

file://\\system\\app\\FieldTest.apk]\\system\\app\\FieldTest.apk 测试程序

file://\\system\\app\\GDataFeedsProvider.apk]\\system\\app\\GDataFeedsProvider.apk GoogleData提供

file://\\system\\app\\Gmail.apk]\\system\\app\\Gmail.apk Gmail电子邮件

file://\\system\\app\\GmailProvider.apk]\\system\\app\\GmailProvider.apk Gmail提供

file://\\system\\app\\GoogleApps.apk]\\system\\app\\GoogleApps.apk 谷歌程序包

file://\\system\\app\\GoogleSearch.apk]\\system\\app\\GoogleSearch.apk 搜索工具

file://\\system\\app\\gtalkservice.apk]\\system\\app\\gtalkservice.apk GTalk服务

file://\\system\\app\\HTMLViewer.apk]\\system\\app\\HTMLViewer.apk HTML查看器

file://\\system\\app\\HtcTwitter.apk]\\system\\app\\HtcTwitter.apk 集成Twitter客户端PEEP file://\\system\\app\\IM.apk]\\system\\app\\IM.apk 即使通讯组件包含MSN、yahoo通

file://\\system\\app\\ImCredentialProvider.apk]\\system\\app\\ImCredentialProvider.apk

file://\\system\\app\\ImProvider.apk]\\system\\app\\ImProvider.apk

file://\\system\\app\\Launcher.apk]\\system\\app\\Launcher.apk 启动加载器

file://\\system\\app\\HtcNaviPanel.apk]\\system\\app\\HtcNaviPanel.apk 导航软件

file://\\system\\app\\Maps.apk]\\system\\app\\Maps.apk 电子地图

file://\\system\\app\\MediaProvider.apk]\\system\\app\\MediaProvider.apk 多媒体播放提供file://\\system\\app\\Mms.apk]\\system\\app\\Mms.apk 短信、彩信

file://\\system\\app\\Music.apk]\\system\\app\\Music.apk 音乐播放器

file://\\system\\app\\MyFaves.apk]\\system\\app\\MyFaves.apk T-Mobile MyFaves程序

file://\\system\\app\\NewsReader.apk]\\system\\app\\NewsReader.apk 新闻阅读器

file://\\system\\app\\PackageInstaller.apk]\\system\\app\\PackageInstaller.apk apk安装程序file://\\system\\app\\Phone.apk]\\system\\app\\Phone.apk 电话拨号器

file://\\system\\app\\Settings.apk]\\system\\app\\Settings.apk 系统设置

file://\\system\\app\\SettingsProvider.apk]\\system\\app\\SettingsProvider.apk 设置提供

file://\\system\\app\\SetupWizard.apk]\\system\\app\\SetupWizard.apk 设置向导

file://\\system\\app\\SoundRecorder.apk]\\system\\app\\SoundRecorder.apk 录音工具

file://\\system\\app\\Street.apk]\\system\\app\\Street.apk 街景地图

file://\\system\\app\\Sync.apk]\\system\\app\\Sync.apk 同步程序

file://\\system\\app\\Talk.apk]\\system\\app\\Talk.apk 语音程序

file://\\system\\app\\TelephonyProvider.apk]\\system\\app\\TelephonyProvider.apk 电话提供file://\\system\\app\\Updater.apk]\\system\\app\\Updater.apk 更新程序

file://\\system\\app\\VpnServices.apk]\\system\\app\\VpnServices.apk VPN服务

file://\\system\\app\\Vending.apk]\\system\\app\\Vending.apk 制造商信息

file://\\system\\app\\VoiceDialer.apk]\\system\\app\\VoiceDialer.apk 语音拨号器

file://\\system\\app\\VoiceSearch.apk]\\system\\app\\VoiceSearch.apk 语音搜索

file://\\system\\app\\YouTube.apk]\\system\\app\\YouTube.apk Youtube视频

file://\\system\\bin]\\system\\bin[/url]

这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:

file://\\system\\bin\\akmd]\\system\\bin\\akmd

file://\\system\\bin\\am]\\system\\bin\\am

file://\\system\\bin\\app_process]\\system\\bin\\app_process 系统进程

file://\\system\\bin\\dalvikvm]\\system\\bin\\dalvikvm Dalvik虚拟机宿主

file://\\system\\bin\\dbus-daemon]\\system\\bin\\dbus-daemon 系统BUS总线监控file://\\system\\bin\\debuggerd]\\system\\bin\\debuggerd 调试器

file://\\system\\bin\\debug_tool]\\system\\bin\\debug_tool 调试工具

file://\\system\\bin\\dexopt]\\system\\bin\\dexopt DEX选项

file://\\system\\bin\\dhcpcd]\\system\\bin\\dhcpcd DHCP服务器

file://\\system\\bin\\dumpstate]\\system\\bin\\dumpstate 状态抓取器

file://\\system\\bin\\dumpsys]\\system\\bin\\dumpsys 系统抓取器

file://\\system\\bin\\dvz]\\system\\bin\\dvz

file://\\system\\bin\\fillup]\\system\\bin\\fillup

file://\\system\\bin\\flash_image]\\system\\bin\\flash_image 闪存映像

file://\\system\\bin\\hciattach]\\system\\bin\\hciattach

file://\\system\\bin\\hcid]\\system\\bin\\hcid HCID内核

file://\\system\\bin\\hostapd]\\system\\bin\\hostapd

file://\\system\\bin\\hostapd_cli]\\system\\bin\\hostapd_cli

file://\\system\\bin\\htclogkernel]\\system\\bin\\htclogkernel

file://\\system\\bin\\input]\\system\\bin\\input

file://\\system\\bin\\installd]\\system\\bin\\installd

file://\\system\\bin\\itr]\\system\\bin\\itr

file://\\system\\bin\\linker]\\system\\bin\\linker

file://\\system\\bin\\logcat]\\system\\bin\\logcat Logcat日志打印

file://\\system\\bin\\logwrapper]\\system\\bin\\logwrapper

file://\\system\\bin\\mediaserver]\\system\\bin\\mediaserver

file://\\system\\bin\\monkey]\\system\\bin\\monkey

file://\\system\\bin\\mountd]\\system\\bin\\mountd 存储挂载器

file://\\system\\bin\\netcfg]\\system\\bin\\netcfg 网络设置

file://\\system\\bin\\ping]\\system\\bin\\ping Ping程序

file://\\system\\bin\\playmp3]\\system\\bin\\playmp3 MP3播放器

file://\\system\\bin\\pm]\\system\\bin\\pm 包管理器

file://\\system\\bin\\qemud]\\system\\bin\\qemud QEMU虚拟机

file://\\system\\bin\\radiooptions]\\system\\bin\\radiooptions 无线选项

file://\\system\\bin\\rild]\\system\\bin\\rild RIL组件

file://\\system\\bin\\sdptool]\\system\\bin\\sdptool

file://\\system\\bin\\sdutil]\\system\\bin\\sdutil

file://\\system\\bin\\service]\\system\\bin\\service

file://\\system\\bin\\servicemanager]\\system\\bin\\servicemanager 服务管理器file://\\system\\bin\\sh]\\system\\bin\\sh

file://\\system\\bin\\ssltest]\\system\\bin\\ssltest SSL测试

file://\\system\\bin\\surfaceflinger]\\system\\bin\\surfaceflinger 触摸感应驱动file://\\system\\bin\\svc]\\system\\bin\\svc 服务

file://\\system\\bin\\system_server]\\system\\bin\\system_server

file://\\system\\bin\\telnetd]\\system\\bin\\telnetd Telnet组件

file://\\system\\bin\\toolbox]\\system\\bin\\toolbox

file://\\system\\bin\\wlan_loader]\\system\\bin\\wlan_loader

file://\\system\\bin\\wpa_cli]\\system\\bin\\wpa_cli

file://\\system\\bin\\wpa_supplicant]\\system\\bin\\wpa_supplicant

file://\\system\\etc]\\system\\etc

从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。

file://\\system\\etc\\apns-conf.xml]\\system\\etc\\apns-conf.xml APN接入点配置文件

file://\\system\\etc\\AudioFilter.csv]\\system\\etc\\AudioFilter.csv 音频过滤器配置文件file://\\system\\etc\\AudioPara4.csv]\\system\\etc\\AudioPara4.csv

file://\\system\\etc\\bookmarks.xml]\\system\\etc\\bookmarks.xml 书签数据库

file://\\system\\etc\\dbus.conf]\\system\\etc\\dbus.conf 总线监视配置文件

file://\\system\\etc\\dhcpcd]\\system\\etc\\dhcpcd

file://\\system\\etc\\event-log-tags]\\system\\etc\\event-log-tags

file://\\system\\etc\\favorites.xml]\\system\\etc\\favorites.xml 收藏夹

file://\\system\\etc\\firmware]\\system\\etc\\firmware 固件信息

file://\\system\\etc\\gps.conf]\\system\\etc\\gps.conf GPS设置文件

file://\\system\\etc\\hcid.conf]\\system\\etc\\hcid.conf内核HCID配置文件

file://\\system\\etc\\hosts]\\system\\etc\\hosts 网络DNS缓存

file://\\system\\etc\\init.goldfish.sh]\\system\\etc\\init.goldfish.sh

file://\\system\\etc\\location]\\system\\etc\\location 定位相关

file://\\system\\etc\\mountd.conf]\\system\\etc\\mountd.conf 存储挂载配置文件

file://\\system\\etc\\NOTICE.html]\\system\\etc\\NOTICE.html 提示网页

file://\\system\\etc\\permissions.xml]\\system\\etc\\permissions.xml 权限许可

file://\\system\\etc\\pvplayer.conf]\\system\\etc\\pvplayer.conf

file://\\system\\etc\\security]\\system\\etc\\security

file://\\system\\etc\\wifi]\\system\\etc\\wifi WLAN相关组件

file://\\system\\etc\\dhcpcd\\dhcpcd-hooks]\\system\\etc\\dhcpcd\\dhcpcd-hooks

file://\\system\\etc\\dhcpcd\\dhcpcd-run-hooks]\\system\\etc\\dhcpcd\\dhcpcd-run-hooks file://\\system\\etc\\dhcpcd\\dhcpcd.conf]\\system\\etc\\dhcpcd\\dhcpcd.conf

file://\\system\\etc\\dhcpcd\\dhcpcd-hooks\\01-test]\\system\\etc\\dhcpcd\\dhcpcd-hooks\\0 1-test

file://\\system\\etc\\dhcpcd\\dhcpcd-hooks\\20-dns.conf]\\system\\etc\\dhcpcd\\dhcpcd-hook s\\20-dns.conf

file://\\system\\etc\\dhcpcd\\dhcpcd-hooks\\95-configured]\\system\\etc\\dhcpcd\\dhcpcd-ho oks\\95-configured

file://\\system\\etc\\firmware\\brf6300.bin]\\system\\etc\\firmware\\brf6300.bin

file://\\system\\etc\\location\\gps]\\system\\etc\\location\\gps

file://\\system\\etc\\location\\gps\\location]\\system\\etc\\location\\gps\\location 定位相关file://\\system\\etc\\location\\gps\\nmea]\\system\\etc\\location\\gps\\nmea GPS数据解析file://\\system\\etc\\location\\gps\\properties]\\system\\etc\\location\\gps\\properties

file://\\system\\etc\\security\\cacerts.bks]\\system\\etc\\security\\cacerts.bks

file://\\system\\etc\\security\\otacerts.zip]\\system\\etc\\security\\otacerts.zip OTA下载验证file://\\system\\etc\\wifi\\Fw1251r1c.bin]\\system\\etc\\wifi\\Fw1251r1c.bin

file://\\system\\etc\\wifi\\tiwlan.ini]\\system\\etc\\wifi\\tiwlan.ini

file://\\system\\etc\\wifi\\wpa_supplicant.conf]\\system\\etc\\wifi\\wpa_supplicant.conf WPA

验证组件

file://\\system\\fonts]\\system\\fonts

字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T- Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小

file://\\system\\fonts\\DroidSans-Bold.ttf]\\system\\fonts\\DroidSans-Bold.ttf

file://\\system\\fonts\\DroidSans.ttf]\\system\\fonts\\DroidSans.ttf

file://\\system\\fonts\\DroidSansFallback.ttf]\\system\\fonts\\DroidSansFallback.ttf

file://\\system\\fonts\\DroidSansMono.ttf]\\system\\fonts\\DroidSansMono.ttf

file://\\system\\fonts\\DroidSerif-Bold.ttf]\\system\\fonts\\DroidSerif-Bold.ttf

file://\\system\\fonts\\DroidSerif-BoldItalic.ttf]\\system\\fonts\\DroidSerif-BoldItalic.ttf

file://\\system\\fonts\\DroidSerif-Italic.ttf]\\system\\fonts\\DroidSerif-Italic.ttf

file://\\system\\fonts\\DroidSerif-Regular.ttf]\\system\\fonts\\DroidSerif-Regular.ttf

file://\\system\\framework]\\system\\framework

framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。

file://\\system\\framework\\am.jar]\\system\\framework\\am.jar

file://\\system\\framework\\am.odex]\\system\\framework\\am.odex

file://\\system\\framework\\android.awt.jar]\\system\\framework\\android.awt.jar AWT库file://\\system\\framework\\android.awt.odex]\\system\\framework\\android.awt.odex

file://\\system\\framework\\android.policy.jar]\\system\\framework\\android.policy.jar

file://\\system\\framework\\android.policy.odex]\\system\\framework\\android.policy.odex file://\\system\\framework\\android.test.runner.jar]\\system\\framework\\android.test.runner.j ar

file://\\system\\framework\\android.test.runner.odex]\\system\\framework\\android.test.runne r.odex

file://\\system\\framework\\com.google.android.gtalkservice.jar]\\system\\framework\\com.go ogle.android.gtalkservice.jar GTalk服务

file://\\system\\framework\\com.google.android.gtalkservice.odex]\\system\\framework\\com. google.android.gtalkservice.odex

file://\\system\\framework\\com.google.android.maps.jar]\\system\\framework\\com.google.a ndroid.maps.jar 电子地图库

file://\\system\\framework\\com.google.android.maps.odex]\\system\\framework\\com.google. android.maps.odex

file://\\system\\framework\\core.jar]\\system\\framework\\core.jar 核心库,启动桌面时首先加载这个

file://\\system\\framework\\core.odex]\\system\\framework\\core.odex

file://\\system\\framework\\ext.jar]\\system\\framework\\ext.jar

file://\\system\\framework\\ext.odex]\\system\\framework\\ext.odex

file://\\system\\framework\\framework-res.apk]\\system\\framework\\framework-res.apk file://\\system\\framework\\framework-tests.jar]\\system\\framework\\framework-tests.jar file://\\system\\framework\\framework-tests.odex]\\system\\framework\\framework-tests.odex file://\\system\\framework\\framework.jar]\\system\\framework\\framework.jar

file://\\system\\framework\\framework.odex]\\system\\framework\\framework.odex

file://\\system\\framework\\input.jar]\\system\\framework\\input.jar 输入库

file://\\system\\framework\\input.odex]\\system\\framework\\input.odex

file://\\system\\framework\\itr.jar]\\system\\framework\\itr.jar

file://\\system\\framework\\itr.odex]\\system\\framework\\itr.odex

file://\\system\\framework\\monkey.jar]\\system\\framework\\monkey.jar

file://\\system\\framework\\monkey.odex]\\system\\framework\\monkey.odex

file://\\system\\framework\\pm.jar]\\system\\framework\\pm.jar 包管理库

file://\\system\\framework\\pm.odex]\\system\\framework\\pm.odex

file://\\system\\framework\\services.jar]\\system\\framework\\services.jar

file://\\system\\framework\\services.odex]\\system\\framework\\services.odex

file://\\system\\framework\\ssltest.jar]\\system\\framework\\ssltest.jar

file://\\system\\framework\\ssltest.odex]\\system\\framework\\ssltest.odex

file://\\system\\framework\\svc.jar]\\system\\framework\\svc.jar 系统服务

file://\\system\\framework\\svc.odex]\\system\\framework\\svc.odex

file://\\system\\lib]\\system\\lib

lib目录中存放的主要是系统底层库,如平台运行时库。

file://\\system\\lib\\libaes.so]\\system\\lib\\libaes.so

file://\\system\\lib\\libagl.so]\\system\\lib\\libagl.so

file://\\system\\lib\\libandroid_runtime.so]\\system\\lib\\libandroid_runtime.so Android运行时库

file://\\system\\lib\\libandroid_servers.so]\\system\\lib\\libandroid_servers.so 系统服务组件file://\\system\\lib\\libaudio.so]\\system\\lib\\libaudio.so 音频处理

file://\\system\\lib\\libaudioeq.so]\\system\\lib\\libaudioeq.so EQ均衡器

file://\\system\\lib\\libaudioflinger.so]\\system\\lib\\libaudioflinger.so 音频过滤器

file://\\system\\lib\\libbluetooth.so]\\system\\lib\\libbluetooth.so 蓝牙组件

file://\\system\\lib\\libc.so]\\system\\lib\\libc.so

file://\\system\\lib\\libcamera.so]\\system\\lib\\libcamera.so 超相机组件

file://\\system\\lib\\libcameraservice.so]\\system\\lib\\libcameraservice.so

file://\\system\\lib\\libcorecg.so]\\system\\lib\\libcorecg.so

file://\\system\\lib\\libcrypto.so]\\system\\lib\\libcrypto.so 加密组件

file://\\system\\lib\\libctest.so]\\system\\lib\\libctest.so

file://\\system\\lib\\libcutils.so]\\system\\lib\\libcutils.so

file://\\system\\lib\\libdbus.so]\\system\\lib\\libdbus.so

file://\\system\\lib\\libdl.so]\\system\\lib\\libdl.so

file://\\system\\lib\\libdrm1.so]\\system\\lib\\libdrm1.so DRM解析库

file://\\system\\lib\\libdrm1_jni.so]\\system\\lib\\libdrm1_jni.so

file://\\system\\lib\\libdvm.so]\\system\\lib\\libdvm.so

file://\\system\\lib\\libexif.so]\\system\\lib\\libexif.so

file://\\system\\lib\\libexpat.so]\\system\\lib\\libexpat.so

file://\\system\\lib\\libFFTEm.so]\\system\\lib\\libFFTEm.so

file://\\system\\lib\\libGLES_CM.so]\\system\\lib\\libGLES_CM.so

file://\\system\\lib\\libgps.so]\\system\\lib\\libgps.so

file://\\system\\lib\\libhardware.so]\\system\\lib\\libhardware.so

file://\\system\\lib\\libhgl.so]\\system\\lib\\libhgl.so

file://\\system\\lib\\libhtc_ril.so]\\system\\lib\\libhtc_ril.so

file://\\system\\lib\\libicudata.so]\\system\\lib\\libicudata.so

file://\\system\\lib\\libicui18n.so]\\system\\lib\\libicui18n.so

file://\\system\\lib\\libicuuc.so]\\system\\lib\\libicuuc.so

file://\\system\\lib\\liblog.so]\\system\\lib\\liblog.so

file://\\system\\lib\\libm.so]\\system\\lib\\libm.so

file://\\system\\lib\\libmedia.so]\\system\\lib\\libmedia.so

file://\\system\\lib\\libmediaplayerservice.so]\\system\\lib\\libmediaplayerservice.so

file://\\system\\usr\\keylayout\\trout-keypad-qwertz.kl]\\system\\usr\\keylayout\\trout-keypad-qwertz.kl

file://\\system\\usr\\keylayout\\trout-keypad-v2.kl]\\system\\usr\\keylayout\\trout-keypad-v2.kl file://\\system\\usr\\keylayout\\trout-keypad-v3.kl]\\system\\usr\\keylayout\\trout-keypad-v3.kl file://\\system\\usr\\keylayout\\trout-keypad.kl]\\system\\usr\\keylayout\\trout-keypad.kl file://\\system\\usr\\share\\bsk]\\system\\usr\\share\\bsk

file://\\system\\usr\\share\\zoneinfo]\\system\\usr\\share\\zoneinfo

file://\\system\\usr\\share\\bsk\\V_FD_speed_101.bsk]\\system\\usr\\share\\bsk\\V_FD_speed _101.bsk

file://\\system\\usr\\share\\bsk\\V_FD_std_101.bsk]\\system\\usr\\share\\bsk\\V_FD_std_101. bsk

file://\\system\\usr\\share\\zoneinfo\\zoneinfo.dat]\\system\\usr\\share\\zoneinfo\\zoneinfo.d at

file://\\system\\usr\\share\\zoneinfo\\zoneinfo.idx]\\system\\usr\\share\\zoneinfo\\zoneinfo.id x

file://\\system\\usr\\srec\\config]\\system\\usr\\srec\\config

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\baseline.par]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\base line.par

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\baseline11k.par]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\ baseline11k.par

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\baseline8k.par]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\b aseline8k.par

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\dictionary]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\diction ary

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\g2p]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\g2p

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\grammars]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\gram mars

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models]\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\dictionary\\basic.ok]\\system\\usr\\srec\\config\\en. us\\dictionary\\basic.ok

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\dictionary\\cmu6plus.ok.zip]\\system\\usr\\srec\\con fig\\https://www.doczj.com/doc/c513204064.html,\\dictionary\\cmu6plus.ok.zip

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\dictionary\\enroll.ok]\\system\\usr\\srec\\config\\en. us\\dictionary\\enroll.ok

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\g2p\\en-US-ttp.data]\\system\\usr\\srec\\config\\en. us\\g2p\\en-US-ttp.data

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\grammars\\VoiceDialer.g2g]\\system\\usr\\srec\\confi g\\https://www.doczj.com/doc/c513204064.html,\\grammars\\VoiceDialer.g2g

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic.swiarb]\\system\\usr\\srec\\config\\ https://www.doczj.com/doc/c513204064.html,\\models\\generic.swiarb

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic11.lda]\\system\\usr\\srec\\config\\e https://www.doczj.com/doc/c513204064.html,\\models\\generic11.lda

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic11_f.swimdl]\\system\\usr\\srec\\co nfig\\https://www.doczj.com/doc/c513204064.html,\\models\\generic11_f.swimdl

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic11_m.swimdl]\\system\\usr\\srec\\c onfig\\https://www.doczj.com/doc/c513204064.html,\\models\\generic11_m.swimdl

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic8.lda]\\system\\usr\\srec\\config\\en .us\\models\\generic8.lda

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic8_f.swimdl]\\system\\usr\\srec\\conf ig\\https://www.doczj.com/doc/c513204064.html,\\models\\generic8_f.swimdl

file://\\system\\usr\\srec\\config\\https://www.doczj.com/doc/c513204064.html,\\models\\generic8_m.swimdl]\\system\\usr\\srec\\co nfig\\https://www.doczj.com/doc/c513204064.html,\\models\\generic8_m.swimdl

OK,了解Android系统文件夹结构和相应文件的作用后,我们进行下一步真正定制工作。

二、定制简单流程:

1、下载相应的ROM

2、下载签名工具,并且解压。我这里解压成生的文件夹名为:“APKMake”。我这里提供签名工具的是宇宙青年制作的,下载请到这:https://www.doczj.com/doc/c513204064.html,/file/f0a485d7d1

3、把ROM内的所有文件用WinZip或是WinRAR解压到某一文件夹,为教程容易明白,我将这文件夹在这里起名为“NewsROM”,你自已喜欢怎样起名都无所谓。

4、进入NewsROM文件夹,再进入data\app目录,看这里是否有你所需的程序,不需要的请删除。你还可以添加你需要的默认安装软件。如:搜狗输入法,只需要把SogouIme.apk 文件直接拖放到压缩包\data\app目录内即可。

5、进入NewsROM文件夹,再进入system\app删除你不想要的组件、或是添加你需要的组件。由于有一些组件与其它组件是有依赖的,所以删除时请注意。但也不要怕,如果你删除的组件不对,刷机时最多是无法进入系统,你用完整ROM重新刷一次既可。一般不会变成砖的。

6、删除、添加软件完毕,然后把ROM 文件夹(NewsROM)拖动到APKMake/APKMake.bat 即可(重新打包、自动签名)。在APKMake目录里打包签名完成后自动会生成NewsROM.zip (刚才文件夹起名不同,这里生成文件名也不同),这个就是我们已精简的ROM了。

三、刷ROM

请如果Recovery 已经准备好。请按严格安装以下步骤操作刷入ROM:

1. 把ROM 文件复制到SD 卡。

2. 关机,然后按住Home(小房子)启动手机,进入Recovery 模式。

3. WIPE。

4. 在Recovery 中选择正确的ROM 文件(ZIP)刷入。

4. 重新启动即可。

四、定制注意事项

1、细心、细心、细心

2、为安全起见,建议只对data/app和system/app这两个文件夹内的文件做删除、添加。

3、不知或是不太清楚要删除的文件是干啥的,那请保留不要删除。

4、本文中的Android系统文件夹结构可能比较旧,如果碰到不知该文件是干什么的,建议搜索一下找答案。

4、按照本教程来定制ROM,如果在定制过程自已失误删除相应的软件,那造成的后果最多也是无法进入系统,重新刷一个完整的ROM一般解决问题。还是那句话:刷机有风险,出问题自负。

Android系统架构详解

Android系统架构详解 Android系统架构由5部分组成, 分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。 1、Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解Linux Kernel层。 2、Android Runtime Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Android包括一个核心库的集合,她们提供了Java编程语言的核心库中的绝大多数功能。 Every Android application runs in its own process, with its own instance of the Dalvik virtual

Android系统架构简介

Android系统架构简介 Android系统架构简介 目前Android的Linuxkernel控制包括安全、存储器管理、进程管理、网络堆叠、驱动程序模型等。下载Android源码之前,先要 安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git 工作的一个工具。 应用程序 Android系统是基于Linux内核开发,使用Java作编程语言, 使界面到功能,都有层出不穷的变化,其中Activity等同于J2ME 的MIDlet,一个Activity类别负责创建视窗,一个活动中的 Activity就是在foreground(前景)模式,背景执行的程序叫做Service。两者之间透过由ServiceConnection和AIDL连结,达到 复数程序同时执行的效果。如果执行中的Activity全部画面被其他Activity取代时,该Activity便被停止,甚至被系统清除。 View等同于J2ME的Displayable,程序人员可以透过View类别与“XMLlayout”档将UI放置在视窗上,并可以利用View打造出所 谓的Widgets,其实Widget只是View的一种,所以可以使用xml 来设计layout。至于ViewGroup是各种layout的基础抽象类别,ViewGroup之内还可以有ViewGroup。View的构造函数不需要在Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中获取View,Android的View类 的显示很大程度上是从XML中读取的。View与事件息息相关,两者 之间透过Listener结合在一起,每一个View都可以注册eventlistener,例如:当View要处理用户触碰的事件时,就要向Android框架注册View.OnClickListener。另外还有Image等同于 J2ME的BitMap。 中介软件

基于安卓操作系统的移动智能终端文件系统老化模型和测评方法

电信终端产业协会标准 TAF-WG2-AS0021-V1.0.0:2018 基于安卓操作系统的移动智能终端文件系 统老化模型和测评方法 Module and Test Method of Aging Test on File System Based on Android Mobiles and Smart Terminals 2018-09-04发布2018-09-04实施

目次 前言................................................................................ II 基于安卓操作系统的移动智能终端文件系统老化模型和测评方法 .. (1) 1 范围 (1) 2 规范性引用文件 (1) 3 术语和定义 (1) 4 文件系统老化模型 (1) 4.1 文件系统老化模型概述 (1) 4.2 剩余存储空间分析 (1) 4.3 碎片化方法分析 (2) 4.4 静态资源分析 (2) 4.5 10个月老化模型 (2) 4.6 18个月老化模型 (3) 4.7 24个月老化模型 (3) 5 文件系统老化方法 (3) 5.1 文件系统老化方法概述 (3) 5.2 文件系统碎片化方法 (4) 5.3 用户媒体文件填充方法 (4) 5.4 用户数据库文件填充方法 (4) 6 文件系统老化前后的性能评估 (4) 6.1 测试方法 (4) 6.2 评估方法 (4) 附录 A (规范性附录)标准修订历史 (5) 附录 B (资料性附录)附录 (6) 参考文献 (7)

前言 本标准按照 GB/T 1.1-2009给出的规则编写。 本标准由电信终端产业协会提出并归口。 本标准起草单位:中国信息通信研究院 本标准主要起草人:李隽、崔雪然、苏兆飞、孟凡玲、郭隆庆

Android体系结构

Android体系结构 android 平台大的方面的层次可以划分成三个层次,包括一个操作系统,中间件与应用程序,android 的系统框架图如下: 图中的软件层次自上而下分成4个层次 1. 应用程序(Application) 2. 用用程序框架(Application Framework) 3. 各种类库(Libraries)与android运行时(Adnorid Runtime) 4. 操作系统(OS) 一、应用程序(Application) 应用层就是与用户交互的一个层次,用户可以瞧得见的一些应用,用户可以操作。这类应用基本都就是通过Java语言编写的独立的能够完成某些功能的应用程序。Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就就是开应用层的程序提供该广大消费者使用。 二、应用程序框架(Application Framework) 普通开发者可以使用Android基本应用程序使用的系统API,android 应用框架中的各个模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松的开发出优秀的android应用。 开发过程中常用到的基本框架组件如下:

1. 一组View(UI 组件),这些UI组件包括Button(按钮),EidtView(文本框),TextView(标签),List(列表) 等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。 2. Content Providers(内容提供者),听起来有点抽象,通俗的理解Content Provider 就就是提供一种 服务,通过这种服务应用程序之间可以实现数据的互相访问与共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。 3. Resource Manager 顾名思义就就是资源管理,android中的资源很多包括图片,用户界面(Layout xml),字体,颜色,UI组件的Id等等都可以称之为资源,这些丰富的资源,都就是通过Resource Manager来统一进行管理。 4. Notification Manager(消息通知管理),它在不影响用户正常操作与使用设备的时候在状态栏上提供 消息的提示。比如有短信来的时候,android自动会将这个消息提示在状态栏上,用户可以及时的瞧到。 5. Activity Manager(活动管理),Activity管理着应用程序的生命周期,并且控制着应用的导航,扮演控 制器的角色。每个Activity类似于Windows应用中的一个wendow。一般的应用都就是通过一个个Activity 交互构成的。 6. Window Manager(窗口管理),管理所有启动的窗口。 7. Location Manager(位置管理),用来管理地图服务的相关功能。 8. Telephoney Manager(电话管理),用来管理有关的电话的相关功能。 9. Package Manager(包管理),管理所有的安装在android系统内的应用程序。 三、库(Libraries)与运行环境(RunTime) 这部分内容开始涉及底层,开发普通的应用不会直接对这个层进行操作。这层中包含了一组类库(Libraries)与运行时(RunTime), 1. 系统C库(libc),一个从BSD集成来的标准C系统函数库(libc)它就是专门为基于嵌入式Linux的设 备定制的。 2. 媒体库(Media Framework),基于PackeVideo OpenCore,该库支持多种常用的音频,视频格式以及 回放与录制,同时支持静态图像文件。编码格式包括:MPEG4、H、264,MP3、AAC、AMR、JPG、PNG。 3. Surface Manager 对显示子系统的管理,并且为多个应用提供2D,3D图层的无缝融合。 4. WebKit,一个最新的web浏览器引擎,用来支持Andiroid浏览器或者嵌入的web视图。 5. SGL 底层的2D图形引擎。 6. OPENGL|ES,基于OpenGL ES 1、0 APIs实现,该库可以使用硬件3D加速或者使用高度优化的 3D软加速。 7. FreeType,位图(bitmap)与适量(vector)字图显示支持。 8. SQLite,一个对所有应用程序可用,功能强大的轻量级关系型数据库引擎。 9. Core Libraries 该核心库提供了Java编程语言核心库的大多数功能。 10. Dalvik VM, android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。 四、操作系统(OS) Android 的核心系统服务依赖于Linux 2、6 内核,操作系统为Android提供的服务包括: 1. 安全性(Security)。 2. 内存管理(Memory Management) 3. 进程管理(Process Management) 4. 网络堆栈(Network Stack) 5. 驱动程序模型(Driver Model)包含以下这些常规的驱动程序: (1)Display Driver (2)Keypad Driver

Android 文件系统制作教程

android文件系统制作教程 1)认识android文件系统分区 splash1 :开机画面,Nandroid备份为splash1.img recovery :设备序列号为mtd1,该分区是恢复模式(即开机按Home+End进入的界面),Nandroid备份为recovery.img boot :设备序列号为mtd2,底层操作系统内核启动分区,挂载为/目录,Nandroid备份为boot.img system :设备序列号为mtd3,G1的Android核心平台,挂载为/system目录,通常为只读,Nandroid备份为system.img cache :设备序列号为mtd4,G1的缓存临时文件夹,挂载为 /cache目录,事实上除了T-mobile的OTA更新外,别无用处,Nandroid备份为cache.img userdata:设备序列号为mtd5,G1中用户安装的软件以及各种数据,挂载为/data目录,Nandroid备份为data.img 2)常用的fastboot命令 重启G1: $ fastboot reboot 刷所有分区并重启手机 $ fastboot flashall 刷指定分区: $ fastboot flash {partition} {file.img} 如:fastboot flash system /备份/system.img 擦除分区: $ fastboot erase {partition} 如:fastboot erase system 使用update.zip整体刷新 $ fastboot update {update.zip} 刷自定义开机画面: $ fasboot flash splash1 mysplash.rgb565 3)利用Makefile制作update.zip 从update.zip这个刷机包反推的介绍整个android文件系统的制作过程 并编写了一个Makefile文件,利用 Makefile的”依赖检查”机制管理各种文件的生成步骤和依赖关系;

(完整word版)ios与android系统架构

系统包(运行架构) Android Ios Android系统的优先级响应层级是Application(应用层)--Framework(框架层)--Library (运行库及显示)--Kernal(内核层)架构,和显示相关的图形图像处理这一部分属于Library,可以看到到第三位才是它,当触摸屏幕之后Android系统首先会激活应用,框架然后才是屏幕最后是核心架构。 iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch(触摸显示)--Media(媒体)--Service(服务)--Core(内核)架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是Touch这个层级,然后才是媒体(Media),服务(Service)以及Core架构。 应用程序框架层

Linux内核层 Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程Android 内核分析 一、内核在操作系统中的地位 Android基于Linux操作系统由硬件、系统内核、系统服务和应用程序等四大部分组成。其中内核是核心的部分,其主要作用在于与计算机硬件进行交互实现对硬件的编程控制和接口操作调度访问硬件资源同时向应用程序提供一个高级的执行环境和对硬件的虚拟接口。主要功能包括中断服务程序、进程调度程序、进程地址空间的内存管理、进程间通信。内核与普通应用程序不同,其拥有所有硬件设备的访问权限以及启动时即划分的受保护的内存空间。 二、Android内核和标准的Linux内核一样,Android内核主要实现内存管理、进程调度、进程间通信等功能。 Android内核是在标准Linux内核的基础上修改而成。为了适应嵌入式硬件环境和移动应用程序的开发Android对标准Linux内核进行了一定的修改。经过与标准Linux内核源代码进行详细对比可以发现Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。 文件系统不同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用Flash作为存储介质,因此Android内核中增加了标准Linux内核中没有采纳的YAFFS2文件系统。 YAFFS2按层次结构设计分为文件管理接口、内部实现层和NAND简化了其本身与系统的接口设计能更方便地集成到系统当中。 进程间通信机制Android增加了一种进程间的通信机制IPCBinder,Binder通过守护进程ServiceManager管理系统中的服务,负责进程间的数据交换。各进程通过Binder访问同一块共享内存以达到数据通信的机制。从应用层的角度看进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据也只需与程序框架接口进行交互方便了程序员开发需要交互数据的应用程序。 内存管理在内存管理模块Android内核采用了一种不用于标准Linux内核的低内存管理策略。在标准Linux内核当中使用一种叫做OOM(OutofMemory)的低内存管理策略,当内存不足时系统检查所有的进程并对进程进行限制评分获得最高分的进程将被关闭。Android新增加了一种内存共享的处理方式Ashmem。通过Ashmem进程间可以匿名自由共享具名的内存块这种共享方式在标准Linux当中不被支持。经过分析Android内核由标准Linux内核修改而来,因此继承了Linux内核的各种优点保留了标准Linux内核的主体架构。 同时Android按照移动设备的需求在文件系统、内存管理、进程间通信机制、电源管理等方面进行了修改添加相关的驱动程序和一些必要的新功能,但是与大多数精简的嵌入式Linux操作系统相比Android很大程度上保留了标准Linux的基本架构,因此Android系统应用范围更加广泛拓展性更强。

安卓系统文件夹结构及其文件解析(详细)

安卓系统文件夹及其文件解析 打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。这些文件是什么?有什么用?我们能不能删?这些都是我们脑中充满疑问的。现在将将Android手机内部文件夹的架构和各文件的功能描述介绍给大家,让大家自己手机的内部资源有个比较透彻的理解,同时也避免了用户误删造成的数据丢失和系统崩溃。 【文件夹功能简介】 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\bin 这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux 系统自带的组件(命令) \system\etc 从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。 \system\fonts 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小。 \system\framework framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。 \system\lib lib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。 \system\media \system\media\audio 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音。 \system\sounds 默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。 \system\usr 用户文件夹,包含共享、键盘布局、时间区域文件等。 \system\app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。 \system\app\AlarmClock.apk 闹钟

Android本质上就是一个基于Linux内核的操作系统

Android本质上就是一个基于Linux内核的操作系统。与Ubuntu Linux、Fedora Linux 类似。只是Android在应用层专门为移动设备添加了一些特有的支持。既然Android是Linux内核的系统,那么基本的启动过程也应符合Linux的规则。如果研究过其他Linux 系统应该了解,一个完整的Linux系统首先会将一个Linux内核装载到内存,也就是编译Linux内核源代码生成的bzImage文件,对于为Android优化的Linux内核源代码会生成zImage文件。该文件就是Linux内核的二进制版本。由于zImage在内核空间运行,而我们平常使用的软件都是在应用空间运行(关于内核空间和应用空间的详细描述,可以参考《Android深度探索(卷1):HAL与驱动开发》一书的内容,在后续的各卷中将会对Android的整体体系进行全方位的剖析)。内核空间和应用空间是不能直接通过内存地址级别访问的,所以就需要建立某种通讯机制。 目前Linux有很多通讯机制可以在用户空间和内核空间之间交互,例如设备驱动文件(位于/dev目录中)、内存文件(/proc、/sys目录等)。了解Linux的同学都应该知道Linux的重要特征之一就是一切都是以文件的形式存在的,例如,一个设备通常与一个或多个设备文件对应。这些与内核空间交互的文件都在用户空间,所以在Linux内核装载完,需要首先建立这些文件所在的目录。而完成这些工作的程序就是本文要介绍的init。Init是一个命令行程序。其主要工作之一就是建立这些与内核空间交互的文件所在的目录。当Linux内核加载完后,要做的第一件事就是调用init程序,也就是说,init是用户空间执行的第一个程序。 在分析init的核心代码之前,还需要初步了解init除了建立一些目录外,还做了如下的工作 1. 初始化属性 2. 处理配置文件的命令(主要是init.rc文件),包括处理各种Action。 3. 性能分析(使用bootchart工具)。 4. 无限循环执行command(启动其他的进程)。 尽管init完成的工作不算很多,不过代码还是非常复杂的。Init程序并不是由一个源代码文件组成的,而是由一组源代码文件的目标文件链接而成的。这些文件位于如下的目录。 /system/core/init 其中init.c是init的主文件,现在打开该文件,看看其中的内容。由于init是命令行程序,所以分析init.c首先应从main函数开始,现在好到main函数,代码如下: int main(int argc, char **argv) { int fd_count = 0; struct pollfd ufds[4]; char *tmpdev; char* debuggable; char tmp[32]; int property_set_fd_init = 0; int signal_fd_init = 0;

Android SDCard操作(文件读写,容量计算)(An-Beer 工作室)

Android SDCard操作(文件读写,容量计算) android.os.Environment 提供访问环境变量 https://www.doczj.com/doc/c513204064.html,ng.Object android.os.Environment Environment 静态方法: 方法: getDataDirectory () 返回: File 解释: 返回Data的目录 方法: getDownloadCacheDirectory () 返回: File 解释: 返回下载缓冲区目录 方法: getExternalStorageDirectory () 返回: File 解释: 返回扩展存储区目录(SDCard) 方法: getExternalStoragePublicDirectory (String type) 返回: File 解释: 返回一个高端的公用的外部存储器目录来摆放某些类型的文件(来自网上) 方法: getRootDirectory () 返回: File 解释: 返回Android的根目录 方法: getExternalStorageState () 返回: String

解释: 返回外部存储设备的当前状态 getExternalStorageState () 返回的状态String类型常量:常量: MEDIA_BAD_REMOVAL 值 : "bad_removal" 解释: 在没有正确卸载SDCard之前移除了 常量:MEDIA_CHECKING 值 : "checking" 解释: 正在磁盘检查 常量: MEDIA_MOUNTED 值 : "mounted" 解释: 已经挂载并且拥有可读可写权限 常量: MEDIA_MOUNTED_READ_ONLY 值 : "mounted_ro" 解释: 已经挂载,但只拥有可读权限 常量:MEDIA_NOFS 值 : "nofs" 解释: 对象空白,或者文件系统不支持 常量: MEDIA_REMOVED 值 : "removed" 解释: 已经移除扩展设备 常量: MEDIA_SHARED 值 : "shared" 解释: 如果SDCard未挂载,并通过USB大容量存储共享 常量: MEDIA_UNMOUNTABLE

Android复习

Q:简述Android平台体系结构的层次划分,并说明各个层次的作用。 A:Android是基于Linux内核的软件平台和操作系统,采用了软件堆栈的架构,共分为4层:第一层Linux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。 Q:在AndroidSDK中,Android模拟器,Android调试桥和DBMS 是Android应用程序开发过程中经常使用的工具,简述这三个工具的用途。 A:Android模拟器 支持多种屏幕分辨率和不同的外观,支持加载SD卡映像文件,更改模拟网络状态,延迟 和速度,模拟电话呼叫和接收短信等;不支持接听真实电话,USB连接,摄像头捕获,设 备耳机,电池电量和AC电源检测,SD卡插拔检查和使用蓝牙设备 Android调试桥(Android Debug Bridge,ADB) 用于连接Android设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从 模拟器或设备中传输文件 DDMS Android系统中内置的调试工具,监视Android系统中进程、堆栈信息,查看logcat日 志,实现端口转发服务和屏幕截图功能,模拟器电话呼叫和SMS短信,以及浏览Android 模拟器文件系统等. Q:简述Activity声明周期的4种状态,以及状态之间的变换关系。 A:Activity生命周期指Activity从启动到销毁的过程Activity启动后处于活动状态,此时Activity在用户界面中处于最上层,完全能被用 户看到,能够与用户进行交互。如果用户启动了新的Activity,部分遮挡了当前的 Activity,则当前的Activity转换为暂停状态,该Activity不再处于用户界面的最上 层,且不能够与用户进行交互。如果用户启动了新的Activity完全遮挡当前的Activity, 则当前的Activity转换为停止状态,停止状态的Activity 将优先被终止。活动状态的 Activity被用户关闭后,或暂停状态或停止状态的Activity被系统终止后Activity便 进入了非活动状态。 Q:简述Android系统三大菜单的特点以及使用方式 A:菜单是应用程序中非常重要的组成部分,在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,为程序开发人员提供了易于使用的编程。 Android系统支持三种菜单 选项菜单(Option Menu):按设备上Menu 键显示的菜单。 子菜单(Submenu):其它两种菜单都可以加入子菜单,但子菜单不能再嵌套子菜单 快捷菜单(Context Menu):长按特定界面view显示,跟具体的 view 绑定在一起,类 似PC上鼠标右键菜单。 Q:简述Intent的定义和用途. A:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息 Intent也可称为一个在不同组件之间传递的消息,这个消息在到达接收组件后,接收组 件会执行相关的动作,Intent为Activity、Service和BroadcastReceiver等组件提供 交互能力。Intent的用途:启动Activity和Service,在Android系统上发布广播消息. Q:简述Service的基本原理和用途。 A:Service是Android系统提供的Service(服务)组件,不直接与用户进行交互,能够长期在后台运行,在实际应用中,有很多应用需要使用Service,经常提到的例子就是MP3播放器。Service被系统终止,在系统资源恢复后Service 也将自动恢复运行状态,因此可以认为Service是在系统中永久运行的组件。Service除了可以实现后台服务功能,还可以用于进程间通信(Inter Process Communication,IPC),解决不同Android应用程序进程之间的调用和通讯问题。Q:简述R.java和AndroidManifest.xml文件的用途 A:AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、 模块组成、授权和SDK最低版本等R.java文件是ADT自动生成的文件包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。 Q:简述Android系统的4种基本组件Activity,Service,BroadcastReceiver和ContentProviser的用途。A: Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生界面事件。Android应用程序可以包含一个或多个Activity,一般需要指定一个程序启动时显示的Activity。几乎所有的Activity都是和用户进行交互的,Activity主要关注视图窗体创建,对用户表现为全屏窗体。从视觉效果来看,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。 Service一般用于没有用户界面,但需要长时间在后台运行的应用,可公开Service的程序接口,供其他进程调用。 Service是Android实现程序后台运行的解决方案,用于执行不需要和用户交互且要求长期运行的任务。不能运行在一个独立的进程当中,而依赖创建服务时所在的应用程序进程。只能在后台运行,可以和其他组件进行交互。Broadcast Receiver用来接收广播消息的组件,不包含任何用户界面。可以启动Activity或者Notification通知用户接收到重要信息。广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。 ContentProvider是Android系统提供的一种标准的共享数据的机制,其他程序通过ContentProvider访问程序的私有数据.Android系统内部提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,同一份数据,手机内没有更多的空间存储两次以上。针对这种情况,Android提供了Content Provider,它是不同应用程序间共享数据的标准API,统一了数据访问方式。包括添加、删除、修改和查询等操作。 Q:简述6种界面布局的特点 A:线性布局(LinearLayout)是一种重要的界面布局,在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列,如果垂直排列,则每行仅包含一个界面元素,如果水平排列,则每列仅包含一个界面元素; 框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角,如果有多个子元素,后放置的子元素将遮挡先放置的子元素; 表格布局(TableLayout)是一种常用的界面布局,通过指定行和列将界面元素添加 到表格中,网格的边界对用户是不可见的。表格布局支持嵌套,可以将表格布局放 置在表格布局的表格中可以在表格布局中添加其他界面布局,例如线性布局、相对 布局等; 相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素 与其他元素的相对位置关系,确定界面中所有元素的布局位置,能够最大程度保证 在各种屏幕尺寸的手机上正确显示界面布局 绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的 整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元 素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了 界面布局对不同类型和尺寸屏幕的适应能力 网格布局(GridLayout)将用户界面划分为网格,界面元素可随意摆放在网格中, 网格布局比表格布局(TableLayout)在界面设计上更加灵活,在网格布局中界面元 素可以占用多个网格,而在表格布局只能将界面元素指定在一个表格行(TableRow) 中,不能跨越多个表格行。

Android移动应用试题(带答案)

<>试题 一.选择题(2’X12) 1.下面哪一个不属于Android体系结构中的应用程序层 A.电话簿 B.日历 C.SQLite D.SMS程序 2.下面哪种说法不正确 A.Android应用的gen目录下的R.java被删除后还能自动生成; B.res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9) 下横线(_),大小写字母(a-z , A-Z); C.AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其 中指定程序的包名(pack age=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径 D.assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子目 录,在它里面的文件不会在R.java里生成任何资源ID 3.在一个相对布局中怎样使一个控件居中 A.android:gravity="center" B.android:layout_gravity="center" C.android:layout_centerInParent="true" D.android:scaleType="center" 4.下面是一段生成对话框的代码,哪一行有错误? Builder builder = new Builder(getApplicationContext()); 1 builder.setTitle("提示").setMessage("请选择"); 2 builder.setPositiveButton("重置", new OnClickListener() 3 { 4 public void onClick(DialogInterface dialog, int which) 5 { 6 Log.i("log", "重置被按了!"); 7 } 8 }); 9 builder.setNegativeButton("取消", null); 10 builder.setNeutralButton("确定", new OnClickListener() 11 { 12 public void onClick(DialogInterface dialog, int which) 13 { 14 Toast.makeText(getApplicationContext(), "确定被按了!", 15 Toast.LENGTH_SHORT).show(); 16 } 17

Android体系结构

android 平台大的方面的层次可以划分成三个层次,包括一个操作系统,中间件和应用程序,android 的系统框架图如下: 图中的软件层次自上而下分成4个层次 1.应用程序(Application) 2.用用程序框架(Application Framework) 3.各种类库(Libraries)和android运行时(Adnorid Runtime) 4.操作系统(OS) 一.应用程序(Application) 应用层是和用户交互的一个层次,用户可以看得见的一些应用,用户可以操作。这类应用基本都是通过Java语言编写的独立的能够完成某些功能的应用程序。 Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。 二.应用程序框架(Application Framework) 普通开发者可以使用Android基本应用程序使用的系统API,android 应用框架中的各个模块都可以被复用,各种服务也可以被复用,理解了这个机制,开发人员可以更好的更轻松的开发出优秀的android应用。开发过程中常用到的基本框架组件如下: 1.一组View(UI 组件),这些UI组件包括Button(按钮),EidtView(文本框),TextView(标 签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。 2.Content Providers(内容提供者),听起来有点抽象,通俗的理解Content Provider 就是提供 一种服务,通过这种服务应用程序之间可以实现数据的互相访问和共享,比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。 3.Resource Manager 顾名思义就是资源管理,android中的资源很多包括图片,用户界面(Layout xml),字体,颜色,UI组件的Id等等都可以称之为资源,这些丰富的资源,都是通过Resource Manager 来统一进行管理。 4.Notification Manager(消息通知管理),它在不影响用户正常操作和使用设备的时候在状态栏上 提供消息的提示。比如有短信来的时候,android自动会将这个消息提示在状态栏上,用户可以及时的看到。

android系统目录各文件简介

android系统目录各文件简介 2012-05-04 22:24:43| 分类:工作资料|举报|字号订阅 一个完整的ROM根目录会有以下几个文件夹及文件: data META-IN system boot.img 系统目录说明 1. 应用程序安装目录 1) 系统应用程序所在目录 /system/app/*.apk 2)用户安装应用程序所在目录 /data/app/*.apk 3) 注意: a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app 下也会被清除 b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install杀死正在运行的程序时,有时旧的就会被启动 2.用户数据所在目录 /data/data/应用包名/shared_prefs 配置文件 /data/data/应用包名/databases/* 库文件所在目录 3. SD卡对应目录 /sdcard/ 而我们需要处理的只是两个文件夹里面的内容: data/app –该文本夹里的文件可以全删,也可以自由添加自已所需安装的应用软件,刷机安装后可以自由删除。 system/app –在这个文件夹下的程序为系统默认的组件,可以看到都是以APK 格式结尾的文件,但有些自制的ROM里面还有和APK文件名对应的odex文件。我们主要是针对该文件夹里的文件进行精简,如果有odex文件的,删除APK文

件名时同时也删除与其对应的odex文件。 虽然一般定制时只是对以上两个文件夹里的文件做相应的增减,但我们还是一起来了解system相应目录相应文件的用途吧。(rom版本不同里面的APK也会不一样) \\system\\app \\system\\app\\AlarmClock.apk 闹钟 \\system\\app\\Browser.apk 浏览器 \\system\\app\\Bugreport.apk Bug报告 \\system\\app\\Calculator.apk 计算器 \\system\\app\\Calendar.apk 日历 \\system\\app\\CalendarProvider.apk 日历提供 \\system\\app\\Camera.apk 照相机 \\system\\app\\com.amazon.mp3.apk 亚马逊音乐 \\system\\app\\Contacts.apk 联系人 \\system\\app\\DownloadProvider.apk 下载提供 \\system\\app\\DrmProvider.apk DRM数字版权提供 \\system\\app\\Email.apk 电子邮件客户端 \\system\\app\\FieldTest.apk 测试程序 \\system\\app\\GDataFeedsProvider.apk GoogleData提供 \\system\\app\\Gmail.apk Gmail电子邮件 \\system\\app\\GmailProvider.apk Gmail提供 \\system\\app\\GoogleApps.apk 谷歌程序包 \\system\\app\\GoogleSearch.apk 搜索工具 \\system\\app\\gtalkservice.apk GTalk服务 \\system\\app\\HTMLViewer.apk HTML查看器 \\system\\app\\HtcTwitter.apk 集成Twitter客户端PEEP \\system\\app\\IM.apk 即使通讯组件包含MSN、yahoo通 \\system\\app\\ImCredentialProvider.apk \\system\\app\\ImProvider.apk \\system\\app\\Launcher.apk 启动加载器 \\system\\app\\HtcNaviPanel.apk 导航软件 \\system\\app\\Maps.apk 电子地图 \\system\\app\\MediaProvider.apk 多媒体播放提供

安卓系统架构分析

1、Android系统架构图: 分析: 第一层:Linux操作系统和驱动(Linux kernel):由C语言实现。 Android核心系统服务依赖于Linux2.6内核,包括:安全性、内存管理、进程管理、网络协议、驱动模型。Linux内核也作为硬件和软件栈之间的抽象层。 除了标准的Linux内核外,Android还增加了内核的驱动程序:Binder(IPC)驱动、显示驱动、输入设备驱动、音频系统驱动、摄像头驱动、WiFi驱动、蓝牙驱动、电源管理。 第二层:本地框架和Java运行环境(LIBRARIES和ANDROID RUNTIME)本地框架是有C/C++实现。包含C/C++库,被Android系统中不同组件使用,它们通过Android应用程序框架为开发者进行服务。 系统C库:(libc)从BSD继承过来的标准的C系统函数库,专门是为基于嵌入式Linux的设备定制的库。

多媒体库:基于PackerVideo的OpenCore;该库支持多种常用的音频、视频格式回放和录制,支持多种媒体格式的编和解码格式。 Suface Manager:显示子系统管理器,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore:一个最新的Web浏览器引擎,支持Android浏览器,以及一个可嵌入式的Web视图。 SGL:Skia图形库,底层的2D图形引擎。 3D libraries:基于OpenGL ES1.0API的实现;该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速。 FreeType:位图(bitmap)和矢量(vector)字体显示。 Android运行环境(ANDROID RUNTIME):提供了Java编程语言核心库的大多数功能,由Dalvik Java虚拟机和基础的Java类库组成。 Dalvik是Android中使用的Java虚拟机,每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。 Dalvik被设计成一个可以同时高效运行多个虚拟机实例的虚拟系统。执行后缀名为.dex的Dalvik可执行文件,该格式的文件 Java a 针对小内存使用做出了优化。同时虚拟机是基于寄存器的,所有的类都是有Jav dx””工具 编译器编译,然后通过SDK中的“dx 转化为.dex格式由虚拟机执行。 Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。第三层:Android应用框架(ANDROID FRAMEWORK) 在Android系统中,开发人员也可以完全访问核心应用程序所使用的API框架。包含的框架入上图(不在陈述) 第四层:Android应用程序(APPLICATIONS) 注意:Android应用程序都是有Java语言编写的。用户开发的Android应用程序和Android的核心应用程序是同一层次的,它们都是基于Android的系统API 构建的。

相关主题
文本预览
相关文档 最新文档