Linux
fu_shuwu
这个作者很懒,什么都没留下…
展开
-
gpio_direction_output vs gpio_set_value之间的使用关系
<br />在linux驱动中常常会碰到gpio_set_value(port_num,0/1)或gpio_direction_output (port_num,0/1)<br /> 这两者有什么关系呢<br />gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!<br />而gpio_direction_output (port_num,0/1),在某个GPIO口写上某个值之后,还会把这个端口设置为输出模式。<原创 2011-01-07 18:33:00 · 25422 阅读 · 3 评论 -
Linux启动过程综述
Bootloader在Alpha/AXP平台上引导Linux通常有两种方法,一种是由MILO及其他类似的引导程序引导,另一种是由Firmware直接引导。MILO功能与i386平台的LILO相近,但内置有基本的磁盘驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有ARC、SRM两种形式,ARC具有类BIOS界面,甚至还有多重引导的设置;而SRM则具有功能强大的命令行界面,用户可以在控制台上使用boot等命令引导系统。ARC有分区(Partiti转载 2010-11-18 10:50:00 · 1542 阅读 · 0 评论 -
linux下如何搜索字符串或替换字符串
<br />1 在当前目录下搜索所有包含字符串 apps_init 的文件并列出<br />find . -type f -mount |xargs grep -F apps_init<br />2 在VI/VIM模式下为正在编辑的文件进行字符串替换<br />2.1 用字符串str2 替换行中首次出现的字符串 str1<br />:s/str1/str2/ <br />2.2 用字符串 str2 替换行中所有出现的字符串 str1<br />:s/str1/str2/g<br />2.3 用字符串 st原创 2011-02-08 11:30:00 · 2034 阅读 · 0 评论 -
Android中MediaMuxer和MediaCodec用例 - audio+video
在Android的多媒体类中,MediaMuxer和MediaCodec算是比较年轻的,它们是JB 4.1和JB 4.3才引入的。前者用于将音频和视频进行混合生成多媒体文件。缺点是目前只能支持一个audio track和一个video track,而且仅支持mp4输出。不过既然是新生事物,相信之后的版本应该会有大的改进。MediaCodec用于将音视频进行压缩编码,它有个比较牛X的地方是可以对Su转载 2014-11-11 18:25:06 · 2058 阅读 · 1 评论 -
Android中JNI的使用
Android中JNI编程的那些事儿首先说明,Android系统不允许一个纯粹使用C/C++的程序出现,它要求必须是通过Java代码嵌入Native C/C++——即通过JNI的方式来使用本地(Native)代码。因此JNI对Android底层开发人员非常重要。如何将.so文件打包到.APK让我们 先 从最简单的情况开始,假如已有一个JNI实现——libxxx.so文件,那么如何在AP转载 2014-11-11 16:34:19 · 824 阅读 · 0 评论 -
如何在android的jni线程中实现回调
JNI回调是指在c/c++代码中调用java函数,当在c/c++的线程中执行回调函数时,会导致回调失败。其中一种在Android系统的解决方案是:把c/c++中所有线程的创建,由pthread_create函数替换为由Java层的创建线程的函数AndroidRuntime::createJavaThread。假设有c++函数:[cpp]转载 2014-11-11 16:37:18 · 1198 阅读 · 0 评论 -
android jni代码编写规则--整理总结
JNI层的代码其实比较简单,难点是要掌握c++和java数据类型的转换,明白java程序是运行在虚拟机中的,特别是函数并不是可以互相调用,jni中的内存概念并没有暴露给java虚拟机进程等。 一. java参数类型和jni本地参数类型对照 基本类型Java 类型 jni本地类型 描述 bool转载 2014-11-11 17:07:54 · 896 阅读 · 0 评论 -
JNI层线程回调Java函数关键点及示例
JNI是Java Native Interface的缩写,是Java平台的重要特性,使得Java代码可以方便地与C/C++代码编译生成的动态链接库进行交互。本文主要给出一份示例代码(工程文件见附件),描述如何在Android的JNI层开启一个线程,并在线程中回调Java层的函数。代码主要分为Java层(java代码)和JNI层(c语言代码),首先看看Java层的代码(Nativ原创 2014-11-14 18:09:59 · 5652 阅读 · 0 评论 -
How the system configure the default the kernel defconfig
a) the basic opertion as following:1 source build/envsetup.sh2 lunch 21 --// this would refer to on combob) then we would try to find the system how to configure the defalut kernel defconfig ,原创 2014-12-02 10:16:11 · 1742 阅读 · 0 评论 -
玩转Android Camera开发(二):使用TextureView和SurfaceTexture预览Camera 基础拍照demo
Google自Android4.0出了TextureView,为什么推出呢?就是为了弥补Surfaceview的不足,另外一方面也是为了平衡GlSurfaceView,当然这是本人揣度的。关于TextureView、Surfaceview、SurfaceTexture、GLSurfaceView的关系,待咱家推出GLSurfaceview预览Camera后再专门分析。本文主要介绍使用Texture转载 2014-12-03 14:40:34 · 1622 阅读 · 0 评论 -
How to add a new key from kernel level to java level
The blow files and code for add the MMKEY from kernel to java KEYCODE_MMKEY. in java code we just need to care about the KEYCODE_MMKEY, and this code in java is equal to 300.1linux/kernel/include/ua原创 2014-12-03 15:02:42 · 1007 阅读 · 0 评论 -
如何默认打开user版本 debug 选项, 默认打开adb 连接
[Description]如何默认打开user 版本的USB debug 选项, 默认打开adb 连接[Keyword]量产版本 user usb debug root adb 连接[Solution]1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设转载 2015-01-28 09:27:50 · 5668 阅读 · 0 评论 -
SEAndroid安全机制中的文件安全上下文关联分析
http://blog.csdn.net/luoshengyang/article/details/37749383前面一篇文章提到,SEAndroid是一种基于安全策略的MAC安全机制。这种安全策略实施在主体和客体的安全上下文之上。这意味着安全策略在实施之前,SEAndroid安全机制中的主休和客体是已经有安全上下文的。在SEAndroid安全机制中,主体一般就是进程,而客体一般就是文件转载 2015-01-30 08:45:29 · 1128 阅读 · 0 评论 -
Be careful when Android up merge
Every year, we would face the work to up merge for Android's new version. We usually use the copy and paste function to merge some code.it would cause us big issue. 1 For the driver code. you mu原创 2015-01-09 20:27:45 · 1051 阅读 · 0 评论 -
策略模式
策略模式分析 它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 策略模式的结构图: 在策略模式中,核心代码为:在此模式中,主要通过对Context创建时,传入一个具体的策略,再通过Context的ContextInterfa转载 2015-01-12 09:34:38 · 660 阅读 · 0 评论 -
[翻译]Android 4.4 Graphic Architecture and it's components
本篇文章是基于谷歌有关Graphic的一篇概览文章的翻译:http://source.android.com/devices/graphics/architecture.html大量文字以及术语的理解基于自身的理解,可能并不准确。文中有部分英文原文我也不能准确理解,对于这种语句,我在翻译的语句后加了(?)符号。This document describes the essential转载 2014-12-07 14:22:29 · 2227 阅读 · 0 评论 -
装饰模式
http://blog.csdn.net/lhc1105/article/details/20950093在起初的设计中,当系统需要新功能的时候,是向旧的类中添加新的代码,这些新加的代码通常装饰了原有类的核心职责或主要行为。但这种做法的问题在于,在主类中加入了新的字段,新的方法和新的逻辑,从而增加了主类的复杂度。 而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会转载 2015-01-13 08:24:49 · 771 阅读 · 0 评论 -
Android屏幕、键盘背光Framework和Linux led_classdev
http://blog.csdn.net/zirconsdu/article/details/9288187亮度设置应用设计1.1 设置进度条范围背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。文件:packages/apps/Settings/src/com/android/settings/BrightnessPreference.java转载 2015-01-12 14:45:53 · 1476 阅读 · 0 评论 -
简单工厂模式
简单工厂模式的核心,就是用一个单独的类,来完成创造实例的过程。简单工厂模式示例 例如,现在有一个CPU的工厂,它们目前生产3款CPU,型号分别为:8086,880,8085,具体生产那种型号的CPU,要看顾客怎么下单,如果顾客要求生产8086型号的CPU,那么,工厂接到单子后,就马上生产处一批8086的CPU,在这个过程中,顾客根本不用知道这款CPU是怎转载 2015-01-12 09:08:02 · 890 阅读 · 0 评论 -
基于Android 4.4 开发的多窗口系统 开放源码
http://blog.csdn.net/ritterliu/article/details/32699125Hi, 这是我基于Android 4.4开发的多窗口系统,还有很多不足,还请多多指教啊,代码已经全部开源。视频地址源码地址Done:1. APP以窗口化显示在 PhoneWindow转载 2014-12-09 14:14:56 · 1571 阅读 · 0 评论 -
工厂方法
http://blog.csdn.net/lhc1105/article/details/21038213模型 工厂方法模式(factory method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。工厂方法和简单工厂方法看起来大部分是一样的,只是在工厂这里,简单工厂转载 2015-01-14 09:50:05 · 809 阅读 · 0 评论 -
代理模式
http://blog.csdn.net/lhc1105/article/details/21000767代理模式模型 为其它对象提供一种代理以控制对这个对象的访问. 示例 在高中的时候,有很多害羞的孩纸们有了暗恋的对象后转载 2015-01-14 08:54:41 · 770 阅读 · 0 评论 -
Android——编译体系中的 Copy
http://www.2cto.com/kf/201410/347837.html对andriod系统层进行开发,或者进行移植时,时常需要添加文件到编译体系中,在最终的编译中复制到out中,最后打包成镜像,这里总结一下Copy File 方法,这里以我的 android 4.2.1为例. 一.PRODUCT_COPY_FILES :这个变量就是用来标记Copy操作的,比转载 2015-01-14 08:59:56 · 1320 阅读 · 0 评论 -
android如何改变系统默认横竖屏方向
http://blog.csdn.net/wh_19910525/article/details/37963375http://blog.csdn.net/abc19842008/article/details/7543559如何改变android默认的横竖屏,修改源码一个地方就可以了。[java] view plaincop转载 2015-02-03 17:43:36 · 1650 阅读 · 0 评论 -
SEAndroid安全机制中的进程安全上下文关联分析
http://blog.csdn.net/luoshengyang/article/details/38054645 前面一篇文章分析了文件安全上下文关联过程。但是在SEAndroid中,除了要给文件关联安全上下文外,还需要给进程关联安全上下文,因为只有当进程和文件都关联安全上下文之后,SEAndroid安全策略才能发挥作用。也就是说,当一个进程试图访问一个文件时,SEAndr转载 2015-02-04 08:44:05 · 832 阅读 · 0 评论 -
android 强制设置横屏 判断是横屏还是竖屏
http://mahaile.blog.51cto.com/2891586/682676 判断activity 是横屏还是竖屏 方法 1: //根据设备配置信息Configuration cf= this.getResources().getConfiguration(); //获取设置的配置信息int ori = cf.orientation ; //获取屏幕方转载 2015-02-03 16:55:44 · 1122 阅读 · 0 评论 -
Linux kernel data types, alignment, compat_ioctl 数据类型,对齐问题和compat_ioctl
http://www.xuebuyuan.com/415339.html特别是在写IOCTL的时候,由于有32bit userspace + 64bit kernel的问题,而且由于architecture的不同,不同data type的length也不同,所以在IOCTL中建议用u32, u64, s32这样无视architecture fix size的data typ转载 2015-01-16 08:52:51 · 1032 阅读 · 0 评论 -
Android4.1输入子系统框架介绍和性能分析
为了说明Android4.1和Android4.0在输入子系统这部分的变化,首先,我们来看两幅图: Android4.1和Android4.0输入子系统的比较 从上面两幅图可以看出,Android4.1和Android4.0有如下不同点: (1)系统进程向应用进程传输InputEvent的方式发生变化,Android4.0采用共享内存的方式,转载 2014-12-11 16:10:17 · 847 阅读 · 0 评论 -
Android系统的开机画面显示过程分析
http://blog.csdn.net/luoshengyang/article/details/7691321 第一个开机画面是在内核启动的过程中出现的,它是一个静态的画面。第二个开机画面是在init进程启动的过程中出现的,它也是一个静态的画面。第三个开机画面是在系统服务启动的过程中出现的,它是一个动态的画面。无论是哪一个画面,它们都是在一个称为帧缓冲区(fram转载 2015-02-04 11:03:18 · 1063 阅读 · 0 评论 -
单例模式
单例模式意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点 动机:对一些类来说,只有一个实例是很重要的。让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。 适用性 - 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 - 当这个唯一实例应该是通过子类化可扩展的,并且客户应转载 2015-01-16 08:48:03 · 684 阅读 · 0 评论 -
SEAndroid安全机制对Android属性访问的保护分析
http://blog.csdn.net/luoshengyang/article/details/38102011Android系统通过属性暴露设备和运行时信息,并且可以通过设置属性来控制系统行为。因此,属性也像文件一样,是一种需要保护的资源。在启用SEAndroid之前,敏感属性只能被预先设定的进程进行设置。启用SEAndroid之后,敏感属性会进一步被SEAndroid安全策略保转载 2015-02-05 08:42:54 · 785 阅读 · 0 评论 -
ubantu 12.4 enable fastboot devices to avoid no permission
1 add etc/udev/rules.d/70-android.rules files1.1) lsusb Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 003 Device 105: ID 8087:09ef Intel Corp.原创 2014-12-31 10:25:06 · 1638 阅读 · 1 评论 -
深入理解SELinux SEAndroid(最后部分)
http://blog.csdn.net/innost/article/details/19767621接第二部分的内容(http://blog.csdn.net/innost/article/details/19641487)SEAndroid最后一部分全文PDF下载地址为:http://vdisk.weibo.com/s/z68f8l0xZUS9w转载 2015-01-22 08:46:26 · 993 阅读 · 0 评论 -
How to enable the uart log in user version
firstly: To find the string DEBUG_KERNEL_CMDLINEgrep DEBUG_KERNEL_CMDLINE in yourproject root directory.Myprojector/device/mtk/BoardConfig.mk. There is theDEBUG_KERNEL_CMDLINE string.secondly:原创 2015-02-09 18:28:52 · 1034 阅读 · 0 评论 -
深入理解SELinux SEAndroid(第一部分)
按哥的习惯,应该是全部洗剪吹完后再发,不过今年是马年,什么都强调 马上。所以 现在就先奉献 马上有第一部分 祝各位同仁,朋友 马年快乐。 深入理解SELinux SEAndroidSEAndroid是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制。而SELinux则是由美国NSA(国安局)和一些公司(RedHat、Tresy转载 2015-01-22 08:25:50 · 895 阅读 · 0 评论 -
深入理解SELinux SEAndroid之二
http://blog.csdn.net/innost/article/details/19641487接第一部分的内容(http://blog.csdn.net/innost/article/details/19299937)。今天公司年会,哥高兴,所以发布第二部。SELinux/SEAndroid一共分三部分。第一和第二部分是SELinux的基础知识,第三部分是转载 2015-01-22 08:27:28 · 1088 阅读 · 0 评论 -
Android源码分析之WindowManager.LayoutParams属性更新过程
http://blog.csdn.net/amwihihc/article/details/79923291.来源问题的来源是因为现在的公司准备转向Android,但是又不想放弃原来的系统,所以想把原来在linux上直接跑的系统移植到Android上来,当然一大重头任务就是对原有界面库的移植和Android图形系统的修改。我们需要对Android的图形系统加以修转载 2015-02-12 10:07:04 · 1978 阅读 · 0 评论 -
How to add the selinux policy access for the new created linux file node.
When you create the linux file node, such as “dev/nfccard0”, you must add the selinux policy for it, or the application can not get the permit to access. this is an example for the system_server原创 2015-02-25 13:59:05 · 897 阅读 · 0 评论 -
DRM "ioctl" command routing
http://blog.csdn.net/zkami/article/details/3861261--------------------------drm/libdrm/xf86drm.c-------------------int drmIoctl(int fd, unsigned long request, void *arg)-> ioctl(fd, request,转载 2015-02-10 16:47:38 · 2353 阅读 · 1 评论 -
Android4.1 关于Rotation相关的Configuration整体分析
http://blog.csdn.net/siobhan/article/details/8526006关于Rotation方面在Android中有点会涉及到。1. 在Settings->Display中有“Auto-rotate screen” 选项,当enable或者disable的时候都会影响到系统的Rotation2. 当旋转手机的时候,系统会做怎么的操作去通知转载 2015-02-15 16:14:57 · 947 阅读 · 0 评论