Android
文章平均质量分 66
pkigavin
这个作者很懒,什么都没留下…
展开
-
Android系统启动过程
android 框架的示意图:原创 2014-06-04 17:26:22 · 1052 阅读 · 0 评论 -
Android在标准linux基础上对休眠唤醒的实现
在linux之上经过android的软件堆层层封装,最终在上层的java应用程序中使用。休眠唤醒也是从最上层发出的命令,然后一层一层地将参数解析,往最底层传,最后走上标准linux的休眠唤醒之路。 这一部分将会初略分析休眠唤醒机制上linux之上所走的路线。 在linux之上,存在一个hal层,专门做和linux内核设备打交道的事情,这里也不例外。休转载 2013-02-14 15:40:56 · 788 阅读 · 0 评论 -
android源码编译生成ramdisk.img和system.img解压和使用
bin.tar.gz里有simg2img和make_ext4fs两个工具。一、解压和打包system.img./simg2img system.img system.img.ext4 生成ext4格式的文件新建tmp文件,mount -t ext4 -o loop system.img.ext4 tmp/ 这样就可以在tmp中对system系统镜像做修改了。./make_ext4f转载 2013-01-15 17:18:51 · 3554 阅读 · 0 评论 -
Android消息机制
在Android 中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易、更好地架构系统,避免一些低级的错误。在学习Android中消息机制之前,我们先了解与消息有关的几个类: 1.Messageong> 消息对象,顾名思义就是记录消息信息的类。这个类有几个比较重要的字段: a.arg1和arg2:我们可以使用原创 2013-01-29 10:32:15 · 868 阅读 · 0 评论 -
Android实现界面跳转
实现界面跳转的代码如下:第一种:Intent mIntent = new Intent();mIntent.setClassName(mcureeActivity.this, nextActivity.class);startActivity(mIntent)第二种:Intent mIntent = new Intent();mIntent.setClassName原创 2013-01-27 17:04:58 · 10500 阅读 · 0 评论 -
usb插拔提示音播放
关键TAG:StorageNotification1. StorageNotification.javaframeworks/base/packages/SystemUI/src/com/android/systemui/usb/其实主要是看到了这一句log:Slog.i(TAG, String.format("UMS connection changed to %s (med原创 2013-01-10 20:42:53 · 2450 阅读 · 0 评论 -
Android设置应用程序默认语言
我们只要分三步来写此功能:第一步:写一个类(FunctionApplication)继承Application,在onCreate()方法中实现如下方法:@Overridepublic void onCreate() { super.onCreate(); String languageToLoad = "zh";原创 2013-01-27 16:32:42 · 8990 阅读 · 0 评论 -
frameworks中的JNI文件路径
1、frameworks/base/services/jni com_android_server_AlarmManagerService.cpp \ com_android_server_BatteryService.cpp \ com_android_server_InputApplicationHandle.cpp \ com_android_serv原创 2013-01-10 21:13:56 · 2748 阅读 · 0 评论 -
android 屏幕旋转
android 屏幕旋转屏是LANDSCAPE的,要让它默认显示为PORTRAIT.1.kernel里要旋转FrameBuffer. 启动参数里加入fbcon=rotate:1 (0:正常屏; 1:顺时钟转90度; 2:转180度; 3:顺时钟转270度;)最后生成的autoconf.h里有类似项:#define CONFIG_CMDLINE "console=tt转载 2013-01-10 20:58:37 · 1431 阅读 · 0 评论 -
Android 4.0中按键的处理流程
首先,简要的介绍一下按键的处理流程。先简单的分为两大类:一类是虚拟按键。另一类是物理按键。无论是虚拟按键还是物理按键都是要经过驱动层注册为输入设备,然后上报到kernel/drivers/input/input.c中。这里有相关函数的定义。然后通过、sys上报到frameworks/services/input/EventHub.cpp中,在这里会对设备进行扫描并且判断是哪种设备,然后在I原创 2013-02-14 15:51:59 · 2406 阅读 · 0 评论 -
如何在ANDROID JNI 的C++中打Log
最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat却看不到任何输出,换成LOGI、LOGV、LOGW、LOGE也没有效果。于是在网上查找解决方法,经过几次试验,终于找到了,现在贴到下面备忘:第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog第二步:在要使用LOG原创 2013-02-16 20:26:14 · 11346 阅读 · 0 评论 -
修改蓝牙搜索设备的时间
蓝牙主动搜索设备的时间default为61.44s,如何修改为其他的值android_server_BluetoothService.cpp在该文件修改如下函数的如下参数,0x30 means 48×1.28= 61.44 seconds,单位为1.28sbool btmtk_gap_discovery(native_data_t *nat, btbm_discovery_type原创 2013-03-08 17:19:12 · 3496 阅读 · 1 评论 -
Camera 如何实现插值
[DESCRIPTION]如何实现插值[SOLUTION]1.For YUV sensor:mediatek/custom/common/hal/imgsensor/cfg_ftbl_xxxxx_yuv.h中添加对应的capture size比如,2M的sensor插值到3M,就在capture size里添加3M的选项:CONFIG_FEATURE_SI(FID_CA原创 2013-06-12 11:44:58 · 2633 阅读 · 0 评论 -
mtk android sd卡调试
配置管脚和电源sd.cstatic u32 msdc_sd1_power(u32 on, MT65XX_POWER_VOLTAGE powerVolt){//libin modify for M1-21 on 20120907#ifdef MTK_EMMC_SUPPORT // sd1 change to VGP //msdc_ldo_pow原创 2013-04-26 17:11:25 · 3634 阅读 · 0 评论 -
tablet systemUI修改
首先通过看android的启动流程,系统跑起来先加载system_progress后加载systemui。当时在改的时候systemui改错过导致启动不了,但看机器的启动过程会抛出异常后加载后面的进程,过会有重行回到system_progerss再次加载一遍(不知为什么暂不深究)。深入看看systemui启动过程,首先启动SystemUIService.java,在onCreate()方法中看到原创 2013-04-10 09:58:56 · 1819 阅读 · 0 评论 -
修改camera录像的时候平台框架设置问题.
修改camera录像的时候平台框架设置问题.http://blog.csdn.net/fulinwsuafcie/article/details/8351537原创 2013-03-27 17:31:27 · 1263 阅读 · 0 评论 -
拍照声音framework
camera HAL IDCAMERA_HARDWARE_MODULE_ID文件路径./base/services/camera./base/services/camera/libcameraservice./base/data/sounds/audio/ui/camera_click.ogg./base/data/sounds/effects/camera_c原创 2013-03-26 14:25:06 · 1386 阅读 · 0 评论 -
android4.0源代码如何编译成平板模式
以根据/build/tools/buildinfo.sh下面:echo "ro.build.characteristics=$TARGET_AAPT_CHARACTERISTICS"去查找build文件夹一个mk文件(忘记名字了) 中 TARGET_AAPT_CHARACTERISTICS=default 的地方。修改成tablet。可以试一下build\core\product_co原创 2013-04-01 16:17:55 · 6996 阅读 · 1 评论 -
背光调节亮度默认值修改
1、packages/apps/Settings/res/layout/preference_dialog_brightness.xml进行背光调节dialog进行布局。2、packages/apps/Settings/src/com/android/settings/BrightnessPreference.java获取默认值供系统使用private int getBrightn原创 2013-03-19 10:02:38 · 4122 阅读 · 0 评论 -
工作总结
android4.0强制横屏竖屏修改文件PATH:android4.0/frameworks/base/services/java/com/android/server/wm/WindowManagerService.java修改以下方法 int computeForcedAppOrientationLocked() { int req = getOrientati原创 2013-02-02 10:10:44 · 3386 阅读 · 0 评论 -
android的wake_lock介绍
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.(一).内核维护了:1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT] active转载 2013-01-09 13:55:47 · 705 阅读 · 0 评论 -
Android之打开闪光灯关键代码
在AndroidManifest中注册相应的权限: 打开闪光灯关键代码:Camera camera = Camera.open(); camera.startPreview();parameter = camera.getParameters(); parameter.setFlashMode(Paramet原创 2013-01-04 17:52:48 · 1193 阅读 · 0 评论 -
android避免回复出厂设置导致数据丢失的办法
mediatek/config/[project]/ProjectConfig.mk打开 MTK_SPECIAL_FACTORY_RESET,做恢复出厂设置时就会保留/data/app目录下面的资料再在初始化时将文件push到data/app目录下。build/target/product/ProjectConfig.mkPRODUCT_COPY_FILES +=vendor/In原创 2012-06-01 14:42:10 · 2877 阅读 · 0 评论 -
在状态栏加入耳机状态监听图标
在android系统级服务启动中,状态栏右边的图标会被初始化,在左边一般显示动态的notification。这里我们要添加一个耳机插拔状态的图标,就应该放在右边,属于frameworks代码:在android2.3中frameworks/base/core/res/res/drawable-mdpi 加入要显示的图标 status_sys_headset原创 2012-06-01 14:32:54 · 3325 阅读 · 0 评论 -
android 通过Intent action 跳转到系统页面,调用系统功能以及action动...
1.从google搜索内容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,”searchString”)startActivity(intent);2.浏览网页Uri uri = Uri.parse(“h原创 2012-05-30 10:46:36 · 2860 阅读 · 0 评论 -
修改Android解锁界面
背景 先说说背景吧,这是本人从WinCE系统转到Android之后,接到的第一个任务就是修改Android原生的解锁界面,之前看了两个星期的书和网络博客,Java的也有、Android应用开发的也有、Linux开发的也有、Android框架介绍的也有。然后写了几个APK试了了一下,觉得自己有能力了,便充满自信地找到组长接任务。组长没有说什么,拿出一个竞争对手公司的样机,玩了几下拿原创 2012-05-30 16:32:35 · 24458 阅读 · 7 评论 -
加载源代码到android模拟器中遇到的相关问题
前两天一直在弄“在Eclipse+ADT中开发Android系统的内置应用”的问题。前期的具体情况各位可以参照一下两个地址,我是照着做的。http://www.iteye.com/topic/1050439http://daijun74.iteye.com/blog/1141245上面两位讲解的比较详细。 我用的是3.0的源码,在完成了上面两位介绍的步骤后,剩下了一个错误“原创 2012-05-28 13:36:42 · 960 阅读 · 0 评论 -
Git使用
1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支2. git push 将本地代码提交到服务器3. git log 查看提交信息a). git log -p 查看历次的log信息及更改情况b). git log -p -4原创 2012-05-28 10:04:41 · 1006 阅读 · 0 评论 -
Android * HandleMessage的模型
Android是参考Windows的消息循环机制来实现Android自身的消息循环的。Android通过Looper、Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环)。Android系统中,Looper负责管理线程的消息队列和消息循环。我们可以通过Looper.myLooper()得到当前线程的Looper对象,通过Loope原创 2012-05-28 16:45:19 · 2668 阅读 · 0 评论 -
Android源码里packages里面的结构
因为要研究Launcher/Launcher2就要知道在哪里~~在packages/apps里packages 目录.|-- apps (应用程序库)| |-- AlarmClock (闹钟)| |-- Bluetooth (蓝牙)|原创 2012-05-28 10:05:45 · 1903 阅读 · 0 评论 -
Android_MTK_flash更换
在MTK中需要更改Flash时,特别是需要跨度去修改时。特别需要注意的,要不然就不能通过EMI校验,也就不能下载了。 主要修改一下几个文件:1、buil/tool/emi/MemoryDeviceList.xls2、platform/mt6573/prolaoder/src/init/Custom_MemoryDevice.h3、系统配置文件config/$(项目原创 2012-06-01 14:39:54 · 1213 阅读 · 0 评论 -
Android 开发配置
Ubuntu访问局域网共享目录只有在文件浏览器中输入 smb://IP address 即可安装东西 : sudo apt-get install 软件名字 官网安装JDKsudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"sudo apt-get updatesudo原创 2012-06-02 12:58:47 · 1497 阅读 · 0 评论 -
MTK android flash 配置
关于6573集成MCP nandflash的方法,driver_allinone 和Memory Customer Document pdf的说明里面漏了很多细节.在此补上.1.首先确认flash型号.如sumsung的KA100O015E_BJTT.2.查看MTK_MVG_Release的MemoryDeviceList_MT7673.xls,看一看这颗flash是否经过mtk验证.如果原创 2012-06-01 15:06:07 · 5976 阅读 · 0 评论 -
Android控件之EditView探究
Android控件之EditView探究 EditView类继承自TextView类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。 以下为EditView常用属性及对应方法说明原创 2013-01-03 09:31:01 · 937 阅读 · 0 评论 -
android动画效果
overridePendingTransition只支持android 2.0以上版本,动画效果在anim目录下的xml文件中定义,在程序中用AnimationUtils.loadAnimation(Context context,int ResourcesId)载入成Animation对象,在需要显示动画效果时,执行需要动画的View的startAnimation方法,传入 Animation,原创 2012-12-07 16:48:54 · 851 阅读 · 0 评论 -
odex转成dex
有时候你看上某个rom里的程序比较好用,想提取出来和大家分享,却发现这个程序分了为apk和odex两个文件,不方便安装,所以我们要想办法把这两个文件合并成为一个文件。: d+ e4 W, U6 B0 t9 U6 b* D) j 那么我先说明下odex文件的作用,如果你仔细观察会发现那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex原创 2012-11-03 11:36:01 · 12450 阅读 · 3 评论 -
framework按键处理流程
1.基本流程 1)内核处理按键,通过设备文件的方式提供给framework层2)framework层的KeyInputQueue.java启动线程从设备文件中读出键码,然后把读出的键码按kl文件转成相应键值(JNI调用EventHub.cpp),最后写入事件队列 ps:读取键盘具体应该是eventHub类处理3)framework层的W原创 2012-09-23 18:45:16 · 2042 阅读 · 1 评论 -
RelativeLayout常用属性介绍-----开发日记(一)
第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 a原创 2012-06-16 13:50:22 · 1050 阅读 · 0 评论 -
android 开机动画修改
主要过程分析:BootAnimation::readyToRun()==> 程序会尝试打开/data/local/bootanimation.zip和/system/media/bootanimation.zip文件如果2个文件都不存在,那么mAndroidAnimation将为true mAndroidAnimation = false; status_t err = m原创 2012-05-28 13:51:57 · 2274 阅读 · 0 评论 -
android 读取 icon
android 读取 iconpublic Drawable getAPKDrawable(String filePath) { Drawable dr = null; if (filePath != null) { String PATH_PackageParser = "android.content原创 2012-05-15 14:50:16 · 832 阅读 · 0 评论