【收集】安卓用户笔记

手机是里程碑3,系统是电信官方ROM,升级到2.3.6,因为升级前没有备份root,导致现在完全失去了root权限。

 

作为linux粉,迫不及待地要装上一些常用的linux utility,例如ssh(ConnectBot)和vim(VimTouch)。

但是这些独立的app毕竟没有在一个shell里面用硬件键盘玩爽快。

 

安卓没有传统linux的用户机制,每个app运行的uid都是随机给的,例如app_1024啥的。

 

装了Jack Palevitch的Android terminal emulator(简称ATE)。安卓2.3.6自己的shell是/system/bin/sh,只有上下键的历史记录,别的什么tab complete,什么vi mode全没有,想弄个arm的预编译的bash装上。

 

刚才发现busybox支持ash,并且也已经软连接好了,在/system/xbin/ash,于是暂时把ATE的启动shell设置为这个。

 

找到了Kevin Boone的东西,在这里http://kevinboone.net/android_nonroot.html。

 

嗯,刚才玩vimtouch的时候就发现了,没有root权限,但是用户手动安装的apk的安装目录/data/data/xxxx/下面是完全具有读写权限的(可以在vimtouch里cd $HOME或者cd $VIM再:!ls瞧瞧,当然android不是多用户系统,$HOME是VimTouch自己设置的),Kevin Boone也是在这里下文章——对于ATE,就是/data/data/jackpal.androidterm/shared_prefs,而且还能设置x属性(sdcard或者sdcart-ext就不能设置x)。

 

 

2013年1月更新:

刚才使用http://forum.xda-developers.com/showthread.php?t=1492965中的motofail成功root了官方2.3.6。

接着成功安装了blog.hash-of-codes.com的safestrap 3.05。

然后对电信ROM的assets进行删除,特别是天翼空间和智件园之类,他们都位于/system/app(需要root权限重新mount为rw后操作)。

 

一个ROM主要部分就是system.img和userdata.img,都是ext3的镜像,它们未来被挂载到ro的/system和rw的/data。所以一个安卓系统可以全部放到fat32的分区上,在引导后挂载其上的镜像文件就可以了。

用户安装的apk会在/data/app留一个备份,在/data/data创建一个java软件包名字格式的数据目录,里面可以放so之类的文件,也可以放数据库(例如联系人数据库)。

在4.4的安卓上,so应该在 /data/data/软件包名/lib/ ,这个目录是一个软链接;所有软件包安装的时候把native lib都放在 /data/app-lib/软件包名/ 中,前面的软链接就指向这里。

 

现在使用minimoto1.7的rom,在不断的尝试中,终于将这个rom在中国移动的gsm启动了(替换电信rom的libmoto_ril.so以及编辑修改build.prop和apns-conf.xml)。

 

使用了droid wall防火墙之后,需要对前文说的一句话进行修正:虽然每个app的uid是相互独立的,但是对于每个app来说,并不是每次都会随机分配,应该是固定的。droid wall屏蔽特定app的网络访问权限,是用阻挡特定uid的进程的网络访问权限的iptable rules来实现的。

 

你可能感兴趣的:(安卓)