android不调用JNI解析挂载点对应设备

作者:Chilau 发布于:2014-2-4 11:24 分类:android

有时候在项目中会解析一个目录是由哪个设备挂载的,需要调用JNI或者exec出mounts再来解析。这样的坏处就是不一定能保持良好的兼容,输出内容也不一定一致。通过读取并分析/proc/mounts就成为了一个更好的办法。
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;

public class Mo...

阅读全文>>

评论(0) 浏览(1560)

Android上发送已安装软件原理及其实现

作者:Chilau 发布于:2014-1-31 0:51 分类:android

某些手机(比如华为)自带的文件管理器内可以发送已安装的软件,通过蓝牙/彩信或者其它支持的渠道,也可以将安装包保存到SD卡内。经过试验发现,不用root,普通权限的应用也可以实现这一点。

device-2014-01-30-235852.png

 

原来我也以为只有system权限的应用才可以访问存有安装包的/data/app目录,其实不然,从图中可以看到,权限为744,也就是说system可以读写,其它的只有读取权限。

不说其他的了,上主要代码:

	                    File f = new File(tempInfo.applicationInfo.sourceDir);
	    ...

阅读全文>>

评论(0) 浏览(993)

busybox 中无mkfs.ext4无法创建ext4格式文件系统

作者:Chilau 发布于:2014-1-24 16:29 分类:linux

在格式化分区的时候发现busybox里面只有mkfs.ext2,没有mkfs.ext4,仔细寻找,还是发现了.

其实并不是没有,只要新一点的busybox都有,只是没有单独做一个链接而已,藏在mke2fs命令里面。

busybox mke2fs -T ext4

只需要加一个参数,指定文件系统类型, 就可以创建ext4格式的文件系统了。


阅读全文>>

评论(0) 浏览(13315)

mount命令 Invalid Argument部分解决方案

作者:Chilau 发布于:2014-1-21 23:54 分类:linux

前几天在挂载U盘的时候一台电脑上出现的问题。命令行明明正确,另一台电脑可以正常挂载,到了那台却提示


mount: mounting /dev/sdb1 on /mnt/usb1 failed: Invalid Argument


mount居然说挂载用了无效参数。仔细想想,其实扫描仪那些假如跟硬件驱动的DPI不匹配也会这样提示,问题就出在系统缺少了对应文件系统的支持。解决方案有两个:

1.格式化为系统支持的文件系统。比如exFAT的可以格式化为ext4.

2.安装对应的内核驱动或者支持软件。比如ntfs的可以安装ntfs-3g,也可以升级有ntfs支持的内核。

阅读全文>>

评论(0) 浏览(8312)

使用if...else...与max判断三个数大小的比较和推演

作者:Chilau 发布于:2014-1-19 12:56 分类:c/c++

用函数替代if...else...语句看起来更加直观,但是思路是一样的。

阅读全文>>

评论(0) 浏览(1928)

document.addEventListener不能绑定事件解决

作者:Chilau 发布于:2014-1-10 12:42 分类:javascript

在写一个项目时,用document.addEventListener绑定onload事件无效,浏览器打开无任何反应,也不报错。 考虑了一会,我觉得可能是页面载入的级别优先级的问题。 因为载入文档时,先有window,再有document。 document载入实际上load已经完成,再在上面绑定onload事件就永远不会被执行。形象的说,window这个object就相当于document他妈,他在儿子出生之后再绑定出生肯定不会被执行。 经过测试,可能我的看法是对的,绑定onmousemove事件是有效的。 我把document改为了window就有效了,代码如下:
if(window.addEvent...

阅读全文>>

评论(0) 浏览(1701)