
android技术
文章平均质量分 59
wh_19910525
这个作者很懒,什么都没留下…
展开
-
android 体系架构
Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。1.应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管原创 2012-03-23 19:25:40 · 1040 阅读 · 0 评论 -
android 网络连接 大体走向
系统中对 网络的判断和选择 是在 Connectivityservice这个服务中来处理的,在系统启动的时候会 启动 这个系统服务: 在android内部,用framework/base/core/res/res/values/config.xml中定义了网络的类型: public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIF原创 2012-03-24 11:29:57 · 1610 阅读 · 0 评论 -
android版本 走向简介
Android用甜点作为它们系统版本的代号的命名方法开始于 Android 1.5 发布的时候。作为每个版本 代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕,甜甜圈,松饼,冻酸奶,姜饼,蜂巢,冰激凌三明治,根据最新消息新一代Android版本将命名为果冻豆(Jelly Bean)。 发行版本 版本备注Android1.12008 年9月原创 2012-03-24 12:20:35 · 1142 阅读 · 0 评论 -
android 平台USB wifi驱动移植及使用 SDIOwifi
----------ok------------- 但是命令发到wpa_supplicant后的流程网上提到的资料就非常少了,不过由于wpa_supplicant是一个标准的开源项目,已经被移植到很多平台上,它中间的过程我暂时还没有去细看。比较关心的是wpa_supplicant在 接收 到上层的命令后 是怎么将命令发给DRIVER的,DRIVER在接收到命令后的转载 2012-03-24 14:28:38 · 16334 阅读 · 2 评论 -
1wifi 简介(框架)
一、wifi 组建原理: WIFI就是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行联网,如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”。 一般架设无线网络的基本配备就是 无线网卡 及 一个AP(无线接入点)。有了A原创 2012-03-22 19:23:38 · 4129 阅读 · 0 评论 -
git 使用详解(1)--历史
版本控制系统(VCS)::有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。集中化的版本控制系统原创 2012-03-26 13:39:06 · 3295 阅读 · 0 评论 -
最新下载 android 源码方法
前段时间,由于Android背叛了GNU,背叛了Linux追求的自由开源思想,结果给踢出了Linux源码的主线。加上最近kernel.org给黑和Google对android的调整,种种原因。导致原来下载android源码的方法失效了。原来下载android的源码地址是:repo init -u git://android.git.kernel.org/platform/manifest.git,原创 2012-04-05 15:57:01 · 1525 阅读 · 0 评论 -
git 使用详解(2)--安装
安装 Git Git 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装;另一种是使用为特定平台预编译好的安装包。从源代码安装若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上 或者有 apt-get原创 2012-03-26 13:57:55 · 2394 阅读 · 0 评论 -
git 使用详解(3)-- 初体验
Git 基础本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数原创 2012-03-26 17:12:00 · 2866 阅读 · 0 评论 -
build/envsetup.sh 脚本分析 -- lunch函数
lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环境变量。直接运行lunch(必须先运行 build/envsetup.sh,让lunch函数驻留到环境变量中)ning@ning-desktop:~/donut-compare/mydroid$ lunchYou原创 2012-03-22 16:08:27 · 2769 阅读 · 0 评论 -
Android系统启动过程分析
1. 系统启动流程简介在linux里,每一个进程将有4G的空间,内核将这4G字节的空间分为两部分。最高的1G字节供内核使用,称为“内核空间”。而较低的3G字节供各个进程使用,称为“用户空间”。在Linux内核启动后,init 1 (1号进程)将作为第一个用户空间 的进程来启动Android系统,该启动流程可以分为如下5个阶段,如下图:(1) 启动准备:该阶段包括原创 2012-04-24 20:47:51 · 3912 阅读 · 0 评论 -
android Binder工作流程
一.Linux系统进程间主要通信方式 1.socket; 2.name pipe命名管道; 3.message queue消息队列; 4.singal信号量; 5.share memory共享内存; 6. semophore信号量 二.Java系统的主要通信方式 1.socket; 2.name pipe; 三.An原创 2012-04-25 12:17:12 · 1277 阅读 · 0 评论 -
linux patch 命令小结
说到patch命令,就不得不提到diff命令,也就是制作patch的必要工具。diff命令,在制作patch文件的时候,基本上只需要使用到diff -Nau 这个参数,如果比较的是文件夹,还要加上-r参数,所以一般直接使用Naur参数。 实验的基本步骤。我打算是建立一个级联目录./x/xx/xxx/,在xxx目录下建立两个不同的文件xxx1,xxx2。然后在xxx目录下用diff命令,原创 2012-04-26 20:25:41 · 120692 阅读 · 6 评论 -
修改 android的 开机 音乐
接 修改动画 的 教程, 接下来我们给系统添加开机声音 由于动画是在BootAnimation播放的,所以我们的声音肯定也在这个类中做,照猫画虎 首先在BootAnimation.h添加方法的声明和头文件的引用#include media/AudioSystem.h>#include media/mediaplayer.h> 添加方法 void bootMusic(原创 2012-04-16 17:11:17 · 3570 阅读 · 1 评论 -
android的logcat 用法整理
logcat是Android中一个命令行工具,可以用于得到程序的log信息。你可以在你的电脑上远程adb shell端来使用logcat命令。在android系统 启动以后,你可以用 logcat 命令来查看 系统日志缓冲区 的内容:$ adb logcat你也这样使用:# logcat过滤日志输出 每一个输出的Android日志信息都有一个标签和它的优先级.日志的原创 2012-04-24 16:49:36 · 17061 阅读 · 0 评论 -
git 使用详解(8)-- tag打标签
打标签同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别。列出已有的标签列出现有标签的命令非常简单,直接运行 git tag 即可:$ git tagv0.1v1.3显示的标签按字母顺序排列,所以标签的原创 2012-04-17 19:38:50 · 50584 阅读 · 0 评论 -
git 使用详解(5)-- get log 查看提交历史
git log 查看 提交历史在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看。接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码:git clone git://github.com/schacon/simplegit-progit.git然后在此项目中运行 git log,应该会看到下面的原创 2012-04-17 14:37:26 · 181768 阅读 · 5 评论 -
git 使用详解(7)-- 远程仓库的使用
远程仓库的使用要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指 托管在网络上 的项目仓库,可能会有好多个,其中有些你 只能读,另外有些可以写。同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展。管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等。本节我们将详细讨论远程库的管理和使原创 2012-04-17 15:45:49 · 3673 阅读 · 0 评论 -
ramdisk 在android中的使用
ramdisk中包含一些对于启动android的很重要的文件,比如内核启动完后,加载的第一个进程init,一些重要的配置文件等,总之它控制着整个android的启动。 ramdisk的使用有两种方法:1,编译进内核;2,将ramdisk单独烧写1,编译进内核将ramdisk解压,可以看到它里面有很多文件和目录,如:data,dev,proc,sbin,sys,system,defaul原创 2012-05-04 20:20:24 · 9886 阅读 · 1 评论 -
git 使用详解(9)-- 分支的新建与合并
分支的新建与合并现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:1. 开发某个网站。 2. 为实现某个新的需求,创建一个分支。 3. 在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:1. 返回到原先已经发布到生产服务器上的分支。 2. 为这次紧急修补建立一个新分支,并在其中修复问题。 3.原创 2012-04-18 20:12:04 · 21585 阅读 · 2 评论 -
Android系统Recovery工作原理2---update.zip差分包问题的解决
一、生成OTA增量包失败的解决方案 在上一篇中末尾使用build/tools/releasetools/ota_from_target_files脚本制作update.zip增量包时失败,我们先将出现的错误贴出来。 在执行这个脚本的最后读取input_zip中RADIO/bootloa原创 2012-05-09 13:59:41 · 8391 阅读 · 4 评论 -
Android系统Recovery工作原理1-- 升级包 的 制作
我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的,我们的安装脚本updater-script怎样被解析并执行的等一系列问题。一、 update.zip包的目录结构原创 2012-05-04 20:16:07 · 7660 阅读 · 0 评论 -
使用repo和git下载android源码 和 相关解释
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理git所管理的一个个仓库),可以简化android开发中git的使用。 ----------------- repo使用方法 ---------------------$repo init -u URL [OPTIONS] Option原创 2012-04-03 17:36:01 · 10995 阅读 · 0 评论 -
git cherry-pick 小结
git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了。就是对已经存在的commit 进行 再次提交;简单用法:g原创 2012-05-10 16:20:53 · 168522 阅读 · 5 评论 -
adb 简介
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以调试Android程序,说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备。它的主要功能有: * 将本地apk软件安装至模拟器或android设备 * 运行设备的shell(命令行)原创 2012-03-28 12:25:17 · 1065 阅读 · 0 评论 -
Android系统默认设置
修改Settings源码,可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db中,如果想修改系统启动后加载的默认值一种方法是直接修改settings.db的值,另一种就是修改SettingsProvider默认值,Settings应用能够配置Android系统的各种设置,这些设置的默认值都是由fr原创 2012-07-21 17:12:04 · 18101 阅读 · 2 评论 -
android开机启动流程说明
第一步:启动linux 1.Bootloader -- uboot 2.Kernel -- linux2.6 第二步:android系统启动:入口为init.rc(system\core\rootdir) 1./system/bin/service manager: Binder 守护进程; 2.Runtime; 3.Zygote :app-原创 2012-08-07 19:59:36 · 1851 阅读 · 0 评论 -
android 分辨率自适应
1.术语和概念术语说明备注Screen size(屏幕尺寸)指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托罗拉milestone手机是3.7英寸Aspect Ratio(宽高比率)指的是实际的物理尺寸宽高比率,分为long和nolong原创 2012-08-01 12:17:37 · 2324 阅读 · 0 评论 -
android中APK开机自动运行
背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之即可。记住,Android框架说:Don't call me, I'll call you back。我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个原创 2012-08-29 19:58:55 · 15656 阅读 · 1 评论 -
android 系统属性 build.prop
/system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变。这个文件是如何生成的呢?build/tools/buildinfo.sh 脚本就是专门用于生成build.prop文件,build/core/Makefile中使用build/tools/buildinfo.sh 脚本生成build.prop文件,并把系统默认的sy原创 2012-08-29 21:40:55 · 9359 阅读 · 0 评论 -
This Android SDK requires Android Developer Toolkit version 20.0.0 or above
本人最近在操作更新ANDROID SDK时出现类似于题目中的错误,是一启动ECLIPSE时。但是,我现在只是想恢复到原先的开发环境。于是找到本文,方法有效!!!windows 下面安装Android虚拟机,有时候选择更新SDK后,在Eclipse preference里指向android_sdk_windows_x86时。会出现诸如This AndroidSDK requires A原创 2012-09-03 14:55:57 · 74093 阅读 · 66 评论 -
Android程序的入口点
android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+ph原创 2012-09-04 14:30:36 · 24010 阅读 · 2 评论 -
APK 安装过程 及 原理 详解
APK为AndroidPackage的缩写Android应用安装有如下四种方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由 packageinstaller.apk 应用处理安装及卸载。--原创 2012-08-26 19:04:04 · 18163 阅读 · 3 评论 -
如何解决"Launching New_configuration"问题
在新建一个eclipse-android工程后,编译时会出现诸如:launching new_configuration has encountered a problem的错误,解决办法为: Project -> Properties -> Run/Debug Settings:1. select "Launching New_configuration5"2. Dele原创 2012-09-05 19:41:43 · 10931 阅读 · 1 评论 -
在eclipse里 新建android项目时 提示找不到proguard.cfg
解决方法一:在android-sdk-windows\tools\lib\ 目录下新建 proguard.cfg内容如下-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimizations !code/simpl原创 2012-09-03 16:23:51 · 3961 阅读 · 0 评论 -
Android之所以不需要关闭后台运行程序 的 理由
android大多应用没有退出的设计,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动使用的速度。这本来就是android标榜的优势之一,原创 2012-08-25 21:22:35 · 1630 阅读 · 0 评论 -
对apk包进行odex优化的目的
提取出apk包中的classes.dex,对其进行优化,生成.odex文件,原先apk包中的classes.dex将被删除。odex实际上就是optimized dalvik extensions的缩写,而dex的意义显而易见。o在这里可以看出就是优化的意思。优化后提升了应用的运行速度。原创 2012-08-25 21:34:14 · 6258 阅读 · 0 评论 -
如何把APK应用装到只读ROM
如何把APK应用装到只读ROM在手机上有3个地方可以安装apk应用程序: 1) system/app 2) data/app 3) SD卡• system/app称作只读ROM,用来装系统自带apk软件。刷完机后,这些软件就被安装好了。• data/app是可读写的RAM。用户的apk应用程序就安装在这里。重新刷机或wipe用户数据后,这些程序会被清除掉转载 2012-08-25 22:11:36 · 5059 阅读 · 0 评论 -
APK文件简介 及 解包 打包 工具 介绍
1. APK文件简介APK是Android Package的缩写,即Android application package文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安原创 2012-08-28 11:26:38 · 36178 阅读 · 2 评论 -
apk反编译获取完整源码 及 apk反编译后的处理
一、工具准备:apktool , dex2jar , jd-gui二、使用dex2jar + jd-gui 得到apk的java源码 1.用解压工具从 apk包中取出 classes.dex 文件 用命令(dex2jar.bat classes.dex)得到一个 jar文件2.用jd-gui反编译工具将得到.jar文件反编译成.java文件 三、使用apktool得到a原创 2012-08-28 13:47:34 · 186566 阅读 · 11 评论