android学习
HAOMCU
这个作者很懒,什么都没留下…
展开
-
Android权限机制总结与常见权限不足问题分析
Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,很多像我这样的新手,尤其是习惯了windows低安全限制的用户,很容易在这方面弄混淆,下面是我总结的Android系统权限相关的内容,作为这段时间对android权限学习的总结,也希望能对大家有所帮助,不正确之处请指出。首先分清两个概念:要区分apk运行时的拥有的权限与在文转载 2012-02-22 11:39:29 · 1059 阅读 · 0 评论 -
android 音乐播放器无法删除U盘上音乐
工作中遇到一个问题,音乐播放器可以播放U盘里面的歌曲,但是无法删除(删除不会报错,但只是从播放列表中删掉了,发现U盘里面的文件还在)。怀疑是权限的问题。查看U盘的挂载目录发现:root@android:/ # ls -l /mnt/removable/ d---rwxr-x system media原创 2013-01-30 15:24:45 · 3333 阅读 · 0 评论 -
android repo 切换分支
查看可切换的分支cd .repo/manifestsgit branch -a | cut -d / -f 3以 gingerbread-release 分支为例repo init -b gingerbread-release repo sync (not needed if your local copy is up to date)repo start ging转载 2013-03-19 11:09:27 · 2667 阅读 · 0 评论 -
android 应用程序获取root权限的一个方法
问题:我遇到的问题是,在setting中我要操作/dev/mem设备,在一个寄存器中写值。对/dev/mem的操作毫无疑问是需要root权限的。开始我的做法是使用jni方法。添加一个jni调用然后setting调用。但是就算我把/dev/mem的权限模式设置为777,在setting中依旧无权限打开/dev/mem。解决方法:把操作/dev/mem的部分写成一个独立的应用程序,然后原创 2013-04-17 14:03:13 · 3037 阅读 · 0 评论 -
android中usb设备驱动不能自动创建设备节点
调试一个usb驱动,发现在android下无法自动创建设备节点,手动创建设备节点可以正常访问硬件。后来发现是在init进程里面对一些usb设备进行了过滤。在system/core/init/devices.c 中的下面函数中。static void handle_generic_device_event(struct uevent *uevent){ char *base;原创 2013-04-28 17:20:03 · 3219 阅读 · 0 评论 -
Android.mk 简介
Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序转载 2013-05-14 16:02:18 · 840 阅读 · 0 评论 -
Android Metro风格的Launcher开发系列第一篇
前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用。但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流。好了,评书开讲!可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码转载 2015-03-23 21:52:55 · 1001 阅读 · 0 评论 -
android apk 防止反编译技术第一篇-加壳技术
做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习。现在将最近学习成果做一下整理总结。学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步。这篇主要讲apk的加壳技术,废话不多说了直接进入正题。一、加壳技术原理 所谓apk的加壳技术和pc exe的加壳原理一样,就转载 2015-04-12 21:33:27 · 1231 阅读 · 0 评论 -
android apk 防止反编译技术第二篇-运行时修改字节码
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372。接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码。这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创。下面我们来介绍一下这种方法。转载 2015-04-12 21:39:01 · 1630 阅读 · 0 评论 -
android apk 自我保护技术-加密apk
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法。前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blog/393372)和运行时修改字节码(http://my.oschina.net/u/2323218/blog/396203),如果有不明白的可以查看我的博客的前两篇中关于这两种技术的介绍。接下来我们转载 2015-04-13 19:43:14 · 1313 阅读 · 0 评论 -
Bitmap那些事之内存占用计算和加载注意事项
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很多Bitmap的知识。本来之前一直想写一些关于Bitmap的博客,正好这是个机会,因此Bitmap那些事系列博客诞生了。这个系列我会把学习Bitmap的一些知识发布出来供大家参考和交流。转载 2015-04-14 19:28:28 · 942 阅读 · 0 评论 -
Android HAL模块实现
1. HAL介绍Android的HAL(Hardware Abstract Layer硬件抽象层)是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user space。而Android是基于Aparch的license原创 2015-07-03 10:56:00 · 1707 阅读 · 0 评论 -
Android GUI系统学习1:Gralloc
Gralloc模块是从Android Eclair(android 2.1)开始加入的一个HAL模块,Gralloc的含义为是Graphics Alloc(图形分配)。他对上为libui提供服务,为其分配显存,刷新显示等。对下对framebuffer进行管理。gralloc代码通常位于hardware/libhardware/modules/gralloc目录下。包含以下几个文件:原创 2015-07-10 10:55:03 · 2043 阅读 · 0 评论 -
浅析android应用增量升级
原地址:http://blog.csdn.net/hmg25/article/details/8100896 很久没有更新博客了,真是堕落啊,几次想提起笔,却总是被各种琐事耽搁,以后会多写文章记录点滴。背景 随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在转载 2012-11-20 14:30:59 · 2008 阅读 · 0 评论 -
recovery汉化实现
仅当作学习笔记。步骤:1.制作字库首先制作汉字的图片字库,可使用bitmap font generator软件制作,然后用利用GIMP图片编辑器把图片字库转换为C源文件,最后利用得到的C文件与minui/mkfont.c文件一起编译,执行后就会得到字库头文件。注意修改结构体名以及相应cwidth和cheight(字符长宽)。2.修改代码用刚才制作的字库头文件替换原有的字库头文件原创 2012-11-16 10:52:27 · 8902 阅读 · 8 评论 -
android 平台USB wifi驱动移植及使用
一. Android平台Wifi的基本代码路径1. Wpa_supplicant源码部分external/wpa_supplicant_6/生成库libwpa_client.so和守护进程wpa_supplicant2. Wifi的HAL层代码位于hardware/libhardware_legary/wifi/3.原创 2012-02-17 11:13:50 · 9452 阅读 · 1 评论 -
一个关于安卓apk权限的问题
在一个apk程序中调用了linux下的库函数settimeofday,此函数需要的权限是root,(linux的权限机制和安卓有所不同,linux的权限是相对用户来说,而安卓的权限是相对应用程序来说,linux的用户对应安卓的应用程序,详见网上文章)其他用户都无权使用,而apk的最高权限为system,所以按照网上的方法把apk程序的权限提升到system权限后,调用此函数依然没有权限执行。解决此原创 2012-03-06 13:32:51 · 1511 阅读 · 0 评论 -
Android系统root破解原理分析
原文:http://my.unix-center.net/~Simon_fu/?p=1069现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易。但是你思考过root破解的原理吗?root破解的本质是什么呢?难道是利用了Linux kernal的漏洞吗?本文将简单对root的破解原理进行分析。 网上有一篇文章已转载 2012-03-06 13:37:20 · 933 阅读 · 0 评论 -
Android系统Wifi移植
原文地址:http://my.unix-center.net/~Simon_fu/?p=1019 最近移植wifi到Eclair,Froyo平台。由于没有记录下移植步骤和心得,以至于每次都浪费了大量的精力。在此记录下移植步骤和心得,并和大家分享,如果有错误欢迎指正。1、在你的BoardConfig.mk文件中增加一行(根据你的无线网卡类型来设置): 1: BOARD转载 2012-03-06 14:51:13 · 825 阅读 · 0 评论 -
Android应用程序获得root权限
原文来自http://my.unix-center.net/~Simon_fu/?p=951 我在博文《Android程序的安全系统》中提到两种让root权限的办法。最近在网上发现很多朋友转载那篇文章,但是对那篇文章中提到的第一种方法怎样实现,不是很明白。本文将会以一个例子实现来演示怎样让一个Android应用程序获得root权限。问题 我遇到的问题是我想在Jav转载 2012-03-05 18:16:12 · 874 阅读 · 0 评论 -
Android核心分析
文章皆来自CSDN网友maxleng的专栏,maxleng是名Android爱好者,长期从事嵌入式系统及手机软件系统研究,自2010年4月起,在CSDN上先后发表28篇《Android核心分析》系列博文,收到网友们的极高评价。《Android核心分析》整理如下:1. 方法论探讨之设计意图2. 方法论探讨之概念空间篇3. 手机之硬件形态4. 手机的软件形态5.转载 2012-03-06 13:34:21 · 593 阅读 · 0 评论 -
Android wifi porting
非常详细的Android wifi porting文章 开发板上的8686wifi wpa_driver_priv_driver_cmd failed 问题比较严重,连scanning都过不去 http://blog.linuxconsulting.ro/2010/04/porting-wifi-drivers-to-android.htmlFor mini-box.c转载 2012-03-06 14:45:37 · 877 阅读 · 0 评论 -
android NDK 编译静态库
在利用NDK编译静态库的过程中,发现一个很奇怪的问题,Android.mk片段如下:# libtdeinclude $(CLEAR_VARS)LOCAL_MODULE := libtdeLOCAL_C_INCLUDES := $(LOCAL_PATH)/msp/common/include/LOCAL_C_INCLUDES += $(LOCAL_PATH)/msp/mpi/incl原创 2012-05-16 19:18:30 · 2923 阅读 · 0 评论 -
android usb挂载分析---vold处理内核消息
MountService启动之后 ,一切准备工作都 做好了,就等待碰上u盘插上了,我们先看下内核、vold、FrameWork的通信流程 这里要讲的是内核发信息给vold,也就是上面 标注的①,我们在 vold启动这篇曾讲到过注册了一个到内核的UEVENT事件,当有u盘插入的时候,我们就能从这个套接字上收到内核所发出的消息了,这样就开始了vold的消息处理。转载 2012-07-25 09:37:30 · 3884 阅读 · 1 评论 -
android usb挂载分析---MountService启动
关于vold的一系列文章都是转自:http://my.csdn.net/new_abc在android usb挂载分析----vold启动,我们的vold模块已经启动了,通信的机制也已经建立起来了,接下来我们分析一下MountService的启动,也就是我们FrameWork层的启动,首先看下其大概流程:MountService的启动在Syste转载 2012-07-24 19:44:16 · 6596 阅读 · 2 评论 -
android usb挂载分析----vold启动
前段时间做了下usb挂载的,现在出了几个bug,又要把流程给梳理下,顺便也把相关的知识总结下,以免下次又需要,上次弄的时候由于刚开始弄android i不久,所以只是保证了能够通过vold模块把u盘等挂载上去,具体应用能不能看到里面的东东的话就呵呵,没有保证了,现在出的几个bug也就这样,唉……学习了罗老师的,先慢慢的把流程图画出来:vold启动在init.转载 2012-07-25 09:26:18 · 2394 阅读 · 0 评论 -
android 中打印的输出
1.在init.rc中输出ERROR() 可以直接在console输出2.init.rc中执行的程序对于由init.rc中执行的程序,一般调试信息是通过LOGI, LOGD, LOGE输出的, 但是对于使用printf输出的情况,输出内容是无法显示到终端上。解决的办法是使用logwrapper,比如在init.rc中这样写service adbd /system/bin/log原创 2012-09-14 13:39:15 · 4713 阅读 · 0 评论 -
Android binder学习一:主要概念
要看得懂android代码,首先要了解binder机制。binder机制也是android里面比较难以理解的一块,这里记录一下binder的重要概念以及实现,作为备忘。部分内容来源于网上,如有侵权,请及时告知。1.binder通信机制概述binder通信是一种client-server的通信结构,1.从表面上来看,是client通过获得一个server的代理接口,对server原创 2015-07-17 11:03:45 · 1380 阅读 · 0 评论