androidflash分区(nandflash)
android flash 分区 (nand
flash)
1. 查看当前系统的分区情况
12$ adb shell $ cat /proc/mtd
2. 分区对应的 img(源码编译后生成在 out/target/product/xxx/
目录下)
modem(多个,支持电话和 GPS)
amss.mbn
bootloader(启动用)
appsboot.mbn
空中升级
fota*(升级用, 可能多个)
内核和文件系统
boot.img(内核和基本文件系统)
系统分区
system.img(系统分区)
用户数据分区
userdata.img(数据分区)
3. 参考
bootloader 启动顺序
http://blog.csdn.net/yili_xie/archive/2010/05/14/5592276.aspx
android应用的启动过程
android 应用的启动过程
#移动开发 #Android
1. 说明
应用的启动过程通常是通过 startActivity
函数,无论是在应用中调其它应用还是在桌面(桌面是 Launcher
应用)上点击,最终都将通过这个函数启动进程或者界面,下面以分析代码的方式,介绍它具体的工作过程
2. 过程
Launcher/src/com/android/launcher.java
在应用或桌面上启动应用,例如桌面应用的启动由于中调用了
startActivity() 函数
frameworks/base/core/java/android/app/Activity.java:startActivity()
Activity.java 继承了 Context.java,并实现了它的
startActivity(),它向下调用了
execStartActivity()
frameworks/base/core/java/android/app/Instrumentation.java:execStartActivity()
execStartActivity 利用 Intent ...
android权限的实现
android 权限的实现
#移动开发 #Android
1. 权限
每个程序在安装时都有建立一个系统 ID,如
app_15,用以保护数据不被其它应用获取。Android
根据不同的用户和组,分配不同权限,比如访问 SD
卡,访问网络等等。底层映射为 Linux 权限。
2. 应用申请权限
应用开发者通过 AndroidManifest.xml 中
指定对应权限,再映射到底层的用户和组,默认情况下不设定特殊的权限。AndroidManifest
加入权限后系统安装程序时会在图形界面中提示权限
如果是缺少某个权限(程序中使用的某种权限而在 AndroidManifest.xml
中并未声名),程序运行时会在 logcat
中打印出错误信息 requires
与某个进程使用相同的用户 ID
应用程序可与系统中已存在的用户使用同一权限,需要在 AndroidManifest.xml
中设置 sharedUserId,如
android:sharedUserId="android.uid.shared",作用是获得系统权限,但是这样的程序属性只能在
build
整个系统时放进 ...
android适配硬件平台
android 适配硬件平台
1. 相关硬件
电池,RTC,键值(普通键值,DOCKING 键值),LED
灯,背光,传感器(亮度,距离,速度,指南针等),振动,蓝牙,相机,音视频引擎,网络,显示,电话
2. 硬件相关的主要目录
kernel,vendor,device,hardware,bootable
3. 以 HTC G1 为例分析其主要的平台配置目录 device/htc/dream/* (froyo
源码)
注意:froyo 以前版本在 vendor/htc 中,需要单独下载,现在都已经在
git 里包含了 g1,g2 的支持。
说明 (参见 g1,g2)
AndroidProducts.mk
说明产品都需要编什么东西,定义产品使用哪个 mk 文件
vendorsetup.sh
加上某硬件的支持,以便编译前用 lunch 选择
full_dream.mk
定义产品所要编译的项目,指定需要编译哪些应用,产品名称,设备,型号(重要)
BoardConfig.mk
含 mtd 设备的分区,硬件相关的模块,及编译工具
AndroidBoard.mk
编译 kernel, boo ...
android对文件的MD5验证
android 对文件的 MD5 验证
1. 说明
android 自带的 MD5 校验类
2. 例程
功能
对文件 /init.rc 做 MD5 计算,并以字串的方式显示
可从此处下载可独立运行的代码
[http://download.csdn.net/source/2660824
](http://download.csdn.net/source/2660824)
使用 linux 命令得到 MD5 值
** $ md5sum init.rc **
核心代码及说明
** import java.security.MessageDigest;
import java.io.FileInputStream;
import java.io.InputStream;
public class MD5 {
private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5',
'6',
'7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F' };
public static vo ...
android的KeyGuard
android 的 KeyGuard
#移动开发 #Android
1. 什么是 keyguard
keyguard 译为键盘守卫, 用于保护手机, 包含锁屏, 图案解锁等
2. 核心代码
frameworks/policies/base/phone/com/android/internal/policy/impl/*
android调试技术补充
android 调试技术补充
1. 看编译信息
显示编译打包命令的具体参数,以下命令看编译详情
** $ make showcommands **
2. 源码中重编应用软件
** $ cd packages/apps/xxx
$ touch find ** ** 更新全部代码 ** **
$ mm **
注意:mm clean 是 clean
所有源码,不止本目录之后的,千万注意不要误操作
3. 查看当前的 dump 信息
** $ adb shell dumpstate > xxx.msg **
4. SDK 与手机版本不一致问题的解决
注意要用与硬件对应的 eclipse 插件和 sdk,否则可能会报很多奇怪的错误。
如果在源码中编译,而被安装的手机与源码不在是同一版本,可能出现如下问题
adb install 时报错
Failure [INSTALL_FAILED_OLDER_SDK]
此时只需改动 AndroidManifest.xml,加入最低版本号
** **
3 对应 SDK1.5
注意:如果是不同版本 API 接口不一致引起的问题,此方法不能解决
5. 获取当前 ...
解决eclipse无法识别某些API的问题
解决 eclipse 无法识别某些
API 的问题
#移动开发 #Android
1. 问题分析
有些与系统关系紧密的应用程序,使用 eclipse 开发的时候,会出现”cannot be
resolved to a type”
之类的提示,以至于无法正常编译调试。其原因 eclipse 中所能识别的
android api 只是本地 Android SDK 目录中
android.jar 中打包的内容,如 android-
sdk_eng.root_linux-x86/platforms/android-1.6/android.jar,可使用增加
android.jar
中缺少的 api 的方法解决此问题。
2. 解决方法
首先要下载 SDK 相应的 android 源码,因为只有在源码中才有这些 api
的实现
然后按以下方法把你所需要的 api 打进 android.jar 之中
_ $ mkdir android-full
$ cd android-full
$ jar -xvf
$ANDROID_SRC_DIR/out/target/common/obj/JAVA_LIB ...
数据分析软件SPSS及数据挖掘软件WEKA使用
数据分析软件 SPSS
及数据挖掘软件 WEKA 使用
#数据分析
1. 说明
从数据表中读入数据,用 SPSS 进行数据处理,然后用 WEKA 进行数据分析。
2. EXCEL
目的
用 java 将其它数据写入 EXCEL
读写 excel 的 jar 包 jexcelapi 从此处下载
[http://www.andykhan.com/jexcelapi/download.html
](http://www.andykhan.com/jexcelapi/download.html)
java 读写 excel 例程示例
http://www.javaeye.com/topic/55844
[http://mengqingyu.javaeye.com/blog/440358
](http://mengqingyu.javaeye.com/blog/440358)
3. 数据分析软件 SPSS(占据 90% 市场分额)
目的
整理数据,分析数据,结果展示
读入数据
方法一:从 excel 中复制单元格,粘贴在 SPSS 中
直接打开 excel 文件 (*.xls),注 ...
Android使用XML-RPC实现blog客户端
Android 使用 XML-RPC 实现
blog 客户端
#移动开发 #Android
1. 原理介绍
XML-RPC 介绍
XML-RPC 的全称是 XML Remote Procedure Call,即 XML 远程方法调用。原理是
XML-RCP
工具把传入的参数组合成 XML, 然后用通过 http
协议发给服务器,服务器回复 XML 格式数据,再由工具解析给调用者。
Meta Weblog API
一些 Blog 提供 Meta Weblog API,用以支持通过 XML-RPC
的方法在软件中编辑及浏览 Blog。常用的 API
如下: 发布新文章 (metaWeblog.newPost)、获取分类
(metaWeblog.getCategories) 和最新文章
(metaWeblog.getRecentPosts)、新建文章分类
(wp.newCategory)、上传图片音频或视频
(metaWeblog. newMediaObject) 等。
2. Android 的 XML-RPC 支持
Android 本身并不支持 XML-RPC 协议, 需要下载相关 ...