android系统开发
5爱吃西红柿
Android ROM 开发
展开
-
ANDROIDROM制作(一)——ROM结构介绍、精简和内置、一般刷机过程
2012-05-28 15:17:41 · 185 阅读 · 0 评论 -
android4.0 进程回收机制
l 避免误杀: 如何阻止被回收l 数据恢复与保存: 被回收了怎么办 Android将进程分为6个等级,它们按优先级顺序由高到低依次是:1.前台进程( FOREGROUND_APP)2.可视进程(VISIBLE_APP )3. 次要服务进程(SECONDARY_SERVER )4.后台进程 (HIDDEN_APP)5.内容供应节点(CONTENT_PROVIDER)6.空进程(EMPTY_APP) 特征:1.如果一个进程里面同时包含service和可视2013-01-14 11:57:16 · 71 阅读 · 0 评论 -
android4.0 字体和各个组件相应configration变化
实现思路: 下载好(一般就需要下面两个字体文件,如果不需要切换字母数字,只需要DroidSansFallback.ttf) Roboto-Regular.ttf DroidSansFallback.ttf,覆盖在/system/fonts/下重启。 问题: 在源码环境,实现不重启和不要root的切换字体。想要不重启可以切换字体,就要像字体大小和语言切换那样,改动Configration后,让各个组件刷新从新加载资源。所以查看源2013-01-14 17:35:05 · 58 阅读 · 0 评论 -
IActivityManager ,ActivityManagerNative,ActivityManagerService之间如何进行工作
析:IActivityManager 定义的接口。ActivityManagerNative extends Binder implements IActivityManagerActivityManagerService extends ActivityManagerNative系统源码在使用的时候往往是:ActivityManagerNative.getDefault()这样。源码:static public IActivityManager getDefault()2013-01-21 18:50:00 · 131 阅读 · 0 评论 -
Android系统开发之进入recovery
删除了手机/system/framework/services.jar (因为有人把services.jar 编到了policy.jar)重启开机,居然没事!看来修改ActivityManagerService.java不可行.services.jar:话机框架层服务端的编译后jar包,配合libandroid_servers.so在话机启动时通过SystemServer以循环闭合管理的方式将各个service添加到ServiceManager中知道services.jar和libandroi2013-01-23 11:56:25 · 105 阅读 · 0 评论 -
superuser 拒绝shell获得最高权限
2013-01-25 09:31:00 · 84 阅读 · 0 评论 -
view.invalidate()原理
incopyprint?package mark.zhang; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; import android.os.Bundle; import android.u2013-01-29 15:03:36 · 71 阅读 · 0 评论 -
android字体的工作原理
it.java中的preloadClasses方法,对/framework/base/preloaded-classes文件里面的类一一加载Class.forName("android.graphics.Typeface");Class.forName()会加载类到DVM(JVM),同时加载static代码块。( java中class.forName和classLoader都可用来对类进行加载。前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的2013-01-29 15:22:09 · 73 阅读 · 0 评论 -
Android系统开发之启动过程(代码)
2013-01-29 15:28:39 · 71 阅读 · 0 评论 -
Android系统开发之内存可用空间计算
2013-01-12 14:23:59 · 78 阅读 · 0 评论 -
android 内存信息
2013-01-11 16:09:16 · 67 阅读 · 0 评论 -
cm9源码之启动器Trebuchet
2013-01-07 11:10:36 · 128 阅读 · 0 评论 -
Android系统root破解原理分析
2012-05-29 11:03:18 · 62 阅读 · 0 评论 -
64位ubuntu12.04下android源码开发环境搭建
2012-08-18 12:48:34 · 64 阅读 · 0 评论 -
CM9源码分析-Settings
到指定的fragment,即SystemSettings。在SystemSettings里有addPreferencesFromResource(R.xml.system_settings);在system_settings布局中 继续找对应的fragment未完2012-09-18 15:51:43 · 75 阅读 · 0 评论 -
CM9源码分析-Mms
2012-09-18 15:53:06 · 71 阅读 · 0 评论 -
CM9源码修改-增加framework下资源包
2012-09-20 18:27:00 · 93 阅读 · 0 评论 -
android系统权限关机重启
roid:sharedUserId="android.uid.system"这个属性。2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行。3. 使用mm命令来编译,生成的apk就有修改系统权限了cm9源码测试 可行。获得系统权限后才能调用系统的重启Intent intent = new Intent(Intent.ACTION_REBOOT);原创 2012-10-12 09:55:23 · 101 阅读 · 0 评论 -
浅析Android下的Android.mk文件
2012-12-20 10:06:17 · 94 阅读 · 0 评论 -
cm9源码之systemui
的通知栏2, expandedview 向下拖的通知栏3,recentpanelview 最近使用程序4,navigationbarview. 导航(虚拟按键区)启动入口是, SystemuiService.java进入到PhoneStatusBar的start()方法,通过WindowManagerImpl.getDefault().addView(view, lp);显示到屏幕updateRecentsPanel();addNavigationBar2012-12-28 16:14:02 · 58 阅读 · 0 评论 -
ActivityThread-activity启动分析
lic static final void main(String[] args) { SamplingProfilerIntegration.start(); …… Looper.prepareMainLooper(); if (sMainThreadHandler == null) { sMainThreadHandler = new Handler(); } Activi2013-01-30 18:32:03 · 60 阅读 · 0 评论 -
系统开发--最近使用到的
e git://192.168.247.70/cm/CyanogenMod/android.git -b cm-10.1镜像同步时不会同步devices文件下的,要同步的化 在源码的.repo下新建manifest.xmlvi manifest.xmlmv local_manifest.xml.bak local_manifest.xmlvi local_manifest.xml增加preemption model-->Preemptible Kernel (2013-02-20 16:35:20 · 111 阅读 · 0 评论 -
adb shell error: 问题
2013-02-21 15:24:48 · 92 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip
识,在这里将网上所找到的和自己通过查阅代码所掌握的东西整理出来,给大家一个参考!2 Android启动过程在这里有必要理一下android的启动过程: 图1 android启动过程系统上电之后,首先是完成一系列的初始化过程,如cpu、串口、中断、timer、DDR等等硬件设备,然后接着加载boot default environmet,为后面内核的加载作好准备。在一些系统启动必要的初始完成之后,将判断是否要进入recovery模式,从图1中可以看出,进入recovery2013-09-13 11:06:37 · 156 阅读 · 0 评论 -
android 驱动开发介绍
的硬件抽象层,简单来说,就是对Linux 内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux 内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益。我们知道,Linu2013-10-10 11:12:01 · 86 阅读 · 0 评论 -
Android 软件测试日志文件抓取
shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等2 LOG抓取详解 l 实时打印 adb logcat -b main -v time>app.log 打印应用程序的log adb logcat -b radio -v time> radio.log 打印射频相关的log,SIM STK也会在里面,2013-10-17 10:43:41 · 83 阅读 · 0 评论 -
开机动画流程
2013-11-01 10:30:30 · 60 阅读 · 0 评论 -
修改framework代码使锁屏完全透明
tBackground(mBackgroundDrawable);注释掉;3、请修改PhoneWindowManager.java的doesForceHide方法,将attrs.type ==WindowManager.LayoutParams.TYPE_KEYGUARD;替换为false;2013-11-04 14:30:06 · 92 阅读 · 0 评论 -
Android源码下编译自己的so库
xtral/mtJNItest/Android.mk内容:LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= \SerialPort.cLOCAL_MODULE_TAGS := optionalLOCAL_C_INCLUDES := \$(JNI_H_INCLUDE)LOCAL_SHARED_LIBRARIES := libutilsLOCAL_PRELINK_MODULE := fals2013-11-07 17:33:30 · 154 阅读 · 0 评论 -
AIL(Android init Language)
简称为AIL)的脚本写成的文件。在了解init如何解析init.rc文件之前,先了解AIL非常必要.AIL由如下4部分组成。1.动作(Actions)2.命令(Commands)3.服务(Services)4.选项(Options)这4部分都是面向行的代码,也就是说用回车换行符作为每一条语句的分隔符。如果一行写不下,可以在行尾加上反斜杠,来连接下一行AIL的注释与很多Shell脚本一行,以#开头。 AIL在编写时需要分成多个部分(Section),而每一部分的开头需要2013-12-03 14:16:29 · 90 阅读 · 0 评论 -
Android的权限机制之—— “沙箱”机制sharedUserId和签名
2013-12-13 11:29:39 · 177 阅读 · 0 评论 -
android 升级策略
p格式的刷机包。在TI-335x的源码编译后生成的是img,没有直接的zip刷机文件 1,如何制作zip刷机包 1)必须是标准的zip压缩包; 2)recovery脚本必须存入在META-INF\com\google\android\update-script; 3)其它的一些证书和签名信息应该都放在\META-INF\下。 4)update-binary是一个二进制文件,相当于一个脚本解释器,能够识别updater-script 中描述的操作。该文件在2013-09-12 09:50:11 · 78 阅读 · 0 评论 -
Android FactoryTest 流程
代码融入到Android系统中。一、FactoryTest级别的定义 Android系统中在com.android.server.SystemServer(loc:frameworks/base/services/java/)中对FactoryTest的级别做了定义: [java] view plaincopypublic static final int FACTORY_TEST_OFF =0; public static final int FACT2013-09-10 17:52:49 · 493 阅读 · 0 评论 -
Ubuntu下ADB调试Android找不到设备的解决方法
2013-09-10 10:13:00 · 72 阅读 · 0 评论 -
下载cm10.1源码编译
pt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool64位系统安装这些:命令:apt-get install g++-multilib li2013-03-21 10:43:47 · 84 阅读 · 0 评论 -
Android系统开发之修改调试SystemUI
2013-04-11 10:44:04 · 313 阅读 · 0 评论 -
正确了解ROM,基带,以及RIL
XX版本的系统。比如Windows XP系统,微软官方的称呼就是XP,如果该XP是卖到某某地区的定制XP,就被称呼为XX版XP。我们的ROM,也是类似这个概念的。 2)、基带(Baseband) 是手机中的一块电路,负责完成移动网络中无线信号的解调、解扰、解扩和解码工作,并将最终解码完成的数字信号传递给上层处理系统进行处理。[1]在我们的手机中通常由两大部分电路组成,一部分是高层处理部分,相当于我们使用的电脑;另一部分就是基带,这部分相当于我们使用的Modem,手机支持什么样的网络2013-04-17 15:45:02 · 242 阅读 · 0 评论 -
android系统硬件抽象层(HAL)原理及实现之原理
2013-04-17 15:48:39 · 106 阅读 · 0 评论 -
Android编译CPU架构体系不同引起的错误解决方法
be installed in XXXX.apk 提示工程生成的apk文件安装失败 最近在做Android多媒体开发,涉及到ffmpeg和live555的移植,在手机上运行什么问题都没有,在虚拟中修改后测试一直出现各种问题,把catlog生成的日志分析一下,结果是CPU结构不支持的原因!于是在网上搜了下,找到了相关的文章,虽然没有直接解决问题,但是给了我一个灵感。其实很简单,就是CPU架构体系不同,引起的这个错误。armeabi和armeabi-v7a 在2013-04-19 10:53:24 · 117 阅读 · 0 评论 -
CM10之Setting的快速设置面板按钮布局
2013-04-19 16:03:51 · 79 阅读 · 0 评论