自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

转载 Android:Layout_weight的深刻理解

首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。看下面代码:xml version="1.0" encoding="utf-8"?>     LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro

2016-10-13 09:30:12 689

原创 android系统旋转方向定制问题

android开始是给手机使用的,后来拓展到平板、电视等,那么对于系统旋转及默认方向都要根据需求进行修改了(比如电视默认就是横屏),还有比如我在开发一个定制平板时,由于工艺设计的模具与液晶屏的显示0点方向就偏转了180,这样话关于系统的lanscape,portrait方向都得调整,确实费了不少工费,而关于这些方便的修改可能要改好几个地方,下面我会尽量理出来。1. persist.pa

2016-09-05 16:32:51 11435 2

原创 android源码环境内置已编译好的模块apk_so_jar_bin

0、前言    作为android开发人员,经常面对这样的问题:网上下载的apk预制到系统,第三方oem提供编译好的库或者jar包等,你要将这些编制到你的系统中该如何做,那么这就不得不要去熟悉android编译环境,即一系列以LOCAL_XXX这样的变量。其实我们实际上碰到的编译MODULE就那么几样,下面我一一列出,可能不全面但是够用了。1、第三方jar    源码环境使用第

2016-08-18 17:13:09 4649 1

原创 android第一次启动时Settings的默认值

我的环境是基于msm8x12的android4.3。在做android系统时,每个公司对其都有其自己的定制,比如默认用什么输入法,用什么语言,是否开启ADB调试等,这些当你第一次开机的时候,都会获取这些默认值然后去设置。那么这些放在哪呢,如何去操作呢?msm8x12\frameworks\base\core\java\android\provider下方的就是数据库操作封装,Android

2016-06-13 13:59:34 15888 1

原创 android4.4移植到5.1.1遇到的问题

公司平板项目从android4.4(linux kernel V3.8)环境升级到5.1.1(linux kernel V3.10),有不少框架发生了改变,我是偏驱动的,在此做记录,想到哪写到哪。kernel1. __devXXX大约包括__devinit, __devinitdata, __devinitconst, __devexit, __devexitdata, __d

2015-12-29 17:34:50 2983

转载 USB-OTG

基本类容转自http://blog.csdn.net/uranus_wm/article/details/9838847常见的USB接头如下所示:一 USB引脚一般四根线,定义如下:为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚)A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设

2015-12-04 11:31:32 1426

原创 linux设备树笔记__自定义改造

需求设备树(DTS)我们基本都是通过of_get_xxx这样的内核API来被动获取设备结点的属性值,很少会去修改它,如果要修改某个属性值,必须在各个设备驱动之前修改,一般在board级别代码修改。那为什么要去修改呢,什么需求才要这样做呢?我们碰到了这样的需求了。是这样的,我们的项目中一个产品在PCB改版时,硬件资源发生了改变(由DTS来配置的),其中一个使能脚的控制改变了,既要保持对前一个

2015-11-26 16:56:24 4238

原创 android开发多国语言对照表

android开发,支持多国语言时,都是“语言-地区”简称不好记忆,此处网络收集来作为笔记参考。android4.3支持源码中msm8x12\build\target\product\languages_full.mkPRODUCT_LOCALES := en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh

2015-11-04 11:01:53 12610

原创 android新版本中如何解决厂商应用的su权限

网上有很多的关于应用执行su,比如Runtime.getRuntime().exec("su"),这个在老版本的android可能还有用(至少我验证4.3就是无效),《android KK 4.4 版本后,user 版本su 权限严重被限制问题说明》这个文章说明了4.4后不是/system/bin/中集成了su命令就了事了,google在android的代码级别进行了限制,即使你在user版本中自

2015-10-10 16:44:41 4852

转载 linuxshell中"2>&1"含义

脚本是:     nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &     对    于& 1 更准确的说应该是文件描述符 1,而1    一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result    ,然后复制标准输出到文件描述符2(STDERR_FILENO)

2015-09-25 15:26:51 397

原创 android常见类(Thread Handler Looper相关)

NOTE: 以下路径相对于android源码下以下类容主要介绍,线程中消息处理及循环〇.关系图为了便于理解,从网络上摘录的关系流程图,这些图在看完代码再来看比较好。一、ThreadLocal线程局部存储(ThreadLocalStorage)当从同一线程中引用该变量时,其值总是相同;而从不同的线程中引用该变量时,其值应该不同。

2015-07-15 15:02:19 615

原创 android设备service从C到java API的构成

很多时间,我们在android应用开发的时候要调用硬件资源,代码诸如mVibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);这样就获得了硬件服务,接下来你可以调用Vibrator.vibratorOn()这样的方法来让硬件执行动作。今天无意翻了翻service及manager相关的源代码,边看边留下痕迹。

2015-07-04 13:23:31 1662

转载 默认打开USB调试功能

如何默认打开user 版本的USB debug 选项, 默认打开adb 连接 user usb debug root adb 连接 【方法】1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设置会根据system property 的persist.service.adb.en

2015-05-25 15:43:36 2697

原创 Dialer拨号定制功能

一般大多数android设备厂家都会对设备进行定制,这其中就包括dialer,这里面一般都是一些隐藏功能,比如工厂测试程序等。

2015-05-19 16:50:35 1845

原创 linux设备树笔记__基于msm8x10的基本分析

由文章,linux设备树笔记__dts基本概念及语法,我们知道了基本概念,知道了大概的设备树节点及其属性,而节点下的属性大多是自定义,除了保留的几个属性,大多从.dts是无法知道其用途的,这个就需要看驱动是如何解析属性值的了,这点也可作技术细节的部分隐藏。在源码的msm8x12\kernel\arch\arm\boot\dts下有很多xxx.dts,xxx.dtsi,一般一个mac

2015-04-17 16:38:59 6601

原创 linux设备树笔记__dts基本概念及语法

device treebinding目录(?)[+]设备树手册(Device Tree Usage)原文地址:http://www.devicetree.org/Device_Tree_Usage本文概述了如何为一个全新的计算机编写设备树。意在提供一个device tree概念的概述以及如何使用device tree描述一台计算机。有关device

2015-04-16 10:24:17 19016 1

原创 HAL/JNI简明笔记(五)——JNI访问java中的属性和方法

前面的大多是java如何使用JNI提供的本地接口,还有JNI来访问JVM中的基本类型数据和字符串、数组这样的引用类型数据;现在说说JNI如何来访问JVM,即访问java的属性和方法,从实现原理来看jni和java的互相调用都离不开JVM这个环境。下例子即一些结论摘自网络,有些说法或名词可能不严谨,比如我说的jni可能就和本地接口是一个意思,实际上是本地接口通过jni来(在JVM环境)与java交互

2015-03-31 14:16:57 979

原创 HAL/JNI简明笔记(四)——字符串及数组

字符串操作:基本数据类型在JNI中和Java一样,可以直接访问java传过来的参数,但是关于数组和字符串就不能直接使用了。因为java所有类传到c来都是指针,但是在JVM中结构对外不可见,要使用JNIEnv指向的函数表中选择合适的函数指针来调用。例如JNI代码片如下:JNIEXPORT jstring JNICALL Java_com_study_jnilearn_Sample_sayHe

2015-03-30 10:56:18 1482 2

原创 HAL/JNI简明笔记(三)——java如何识别native方法的实现

在文章HAL/JNI简明笔记(二)——基于stub架构的HAL实例,我们看见java调用jni导出接口是通过System.loadLibrary加载jni库,再声明下native即可,那么实现jni库的代码需要按照什么规则才能被JVM识别呢?方法一,规范JNI函数名方法二,通过jniRegisterNativeMethods来注册不管用哪个方法,最终的目的就是在JVM中形成C函数和ja

2015-03-26 13:36:19 1015

原创 HAL/JNI简明笔记(二)——基于stub架构的HAL实例

前面文章一说完HAL的基本架构,下面以实例展现整个添加新模块的过程。工作中自己编写的一个基于stub结构的HAL程序,包含:hal,jni,service三个层次,依次被后一个调用。hal完全是调用内核驱动的接口,jni就是一个让java能调用c的转换接口,service就是将硬件接口以java的形式提供给framework。程序是关于触摸屏相关接口,我将简化只保留一个接口,其实框架函数保

2015-03-24 14:14:58 2898 1

原创 HAL/JNI简明笔记(一)——HAL基本框架

环境:android 4.3HAL(hardware abstract layer)是位于操作系统与硬件之间的接口层,目的在于硬件抽象化。它存在于linux的应用层,它在Android系统中的位置是:向下连接驱动,向上给JNI提供接口。源码的位置:msm8x12\hardware\libhardware_legacy 为过去的HAL目录,采用链接库模块概念的旧架构,audi

2015-03-23 14:32:26 3574

原创 android中JavaScript与java接口互相调用产生的失效问题

有个汽车厂商提出需求,在我们提供的安卓设备上使用js来调用java硬件服务接口,一般我们有人写apk demo的。我没用过js,java只是能大概看懂,只是个开发驱动底层的,这可难住我了,我去,度娘你在哪里!?在网上搜了一会,不少人还真有这样的需求,我估摸着,不少人从js转过来做安卓程序,又对android的apk不是很熟悉吧!就当是笔记,我受益的博客列出来:1、android中Web

2015-03-17 18:23:11 1877

原创 高通8x12平台开机画面制作工具

你可能在网上看到很到关于手动更换手机开机图片的文章,想想自己的开机画面是晒恩爱的,好基友的照片多个性啊。

2015-03-16 11:30:23 6206 1

原创 power_supply子系统笔记

现在的手机平板供电系统变得比以前的嵌入式设备复杂了,要考虑USB、AC和battery的供电,同时USB和AC还要充电,这一系列功能一般由电源管理芯片完成。android设备使用的供电系统使用的是sys文件系统的固定位置,对应的硬件抽象层是android标准的直接接口,内核中使用的是power_supply框架,对芯片驱动填充好power_supply结构体,再进行注册即可。而我们在开发andro

2015-03-04 16:17:01 12495

原创 c语言基本数据类型和常用常量及函数

最近写代码,老是忘记short,long int 类型大小,还有kernel.h常用数据和函数。有点小时间,记录下来。基本数据类型这个表格是网上复制下来的。archcharshortintlongptrlong-longu8u16

2015-02-09 19:37:45 3393

原创 linux notifier机制及应用

linux庞大系统中,各个模块是相对独立的,那么模块间通信该如何做呢?当然你也可以使用全局资源,如果这样的话系统缺少独立性,会带来稳定性问题的。如果你说,使用共享内存,进程通信等,那么你曲解我的意思了,因为你说的大多是user space的,而我说的是内核模块级别的。notifier_chain,对就是它,实质上这个机制就是一个回调函数链表的操作,回调函数的注册,注销,调用。源系统处(比如A子系统

2015-01-28 17:09:56 5322 2

原创 将定制的java包引入到android系统中

开发环境主机:ubuntuandroid机:android 4.3CPU:MSM8610一般行业定制机器或者某些品牌会定制自己的jar包,那么如何将其引入android系统中,作为全局包呢?如果只是引入第三方已做好的jar包,来开发应用,请见我的博客另一篇文章 “Android开发小问题集”。现以开发中引入系统级扫描开发包为例。要做的其实有4个地方。1、

2015-01-21 12:01:10 800

原创 github详尽图文配置攻略

驱动开发过程中,经常厂商提供的芯片驱动都在github上,而且很多质量高的开源代码大多都在上面,学习使用很有必要。由于是国外的代码托管网站,在中国访问时很慢,至少我是这样的感觉,有时还连不上。git本来就是给linux设计的,现在出来了github for windows客户端(据介绍基于msysgit),可惜我下不了,但国内第三方网上能下载,但是但但是,我是XP不能使用最新的2版本,好像1版

2014-12-09 16:25:58 658

原创 linux驱动——cmdline原理及利用

最近项目中想要内核qi

2014-11-18 19:25:43 16098

原创 Android.mk常用笔记

android系统用的是makefile来组织代码

2014-10-27 15:40:23 2943

原创 Android开发小问题集

安卓开发中

2014-10-23 09:55:31 3145

原创 windows批处理在androi开发中的作用

windows批处理是DOS时代的产物,现在

2014-08-14 15:30:01 1114

原创 linux开发打印及格式化

在进行android或者linux开发的过程中,打印和格式化使我们经常使用的函数,有时候有某种想法,可是不知道有哪些函数可以去实现,就算你知道是有函数的,但你可能记不住名字,参数个数,以及顺序,快年底了,趁现在有空,赶紧整理出来,我可能侧重内核空间部分,但对于内核空间和用户空间的打印、格式化一般都有一一对应的函数的,可能就是名字稍微不一样罢了,比如内核空间打印用printk,而用户空间用print

2014-07-31 19:15:51 3230

原创 linux驱动____LED子系统笔记

子系统

2014-07-31 19:12:58 3863 1

原创 linux kernel时间管理

内核中的时间

2014-07-24 16:15:03 879

原创 并发控制____完成量(comletion)

完成量用于执行

2014-07-23 15:52:28 1090

原创 linux驱动____中断底半部

在老版本的内核(2.6之前),系统基本上

2014-07-23 15:11:06 1105

原创 sysfs____之ATTR实例

接下来的例子,我会从当前高通

2014-07-18 14:45:36 1256

原创 sysfs____之用户属性接口(XXX_ATTR)

yi

2014-07-17 13:38:00 1481

原创 sysfs____之简明笔记

我们在开发或调试设备驱动时常常用到/sys目录下的东西,甚至有的时候完全依赖这个目录下的东东,而不用/dev下的设备,比如一些传感器,vibrator,leds等。安卓驱动的HAL层大量使用了这个/sys下的属性节点。那么这个/sys目录下的是干什么的呢?为什么要这个目录?原来的/proc目录下比较混乱,后来将与设备相关的都放到/sys下。它的出现是用于解决linux2.6之前的以下问题没有统一的

2014-07-16 17:34:06 844

android应用获得执行root权限动作__socket_service

设备系统定制,让应用获得执行root权限动作,利用socket在底层启动一个service(root权限的哦,你懂得)。现在4.4以后root越发困难了,直接集成源码的su命令是不行的。

2015-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除