Ⅰ 安卓app怎么实现只读分区为可读写分区
两种办法:
第一种是app获取root权限,用root权限重新挂载/system分区。这需要你的电视获取root权限,然后授权给你的app能用root权限。
第二种不是app设置。是adb shell里可以获取root权限,重新挂载/system/分区为可读写分区。
如果你只能在app里操作,那就只能是第一种办法。
Ⅱ 安卓手机系统分区解释详细介绍是怎样的
android系统中的分区:
hboot:
这个分区是最基本的引导分区也类似电脑中的BIOS,这个区坏了,差不多就变砖了,所以我们刷SPL时才要如此小心啊。
boot:
这个分区应该是linux操作系统的引导分区。
radio:
这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的radio配套,我们平时刷了高版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。
recovery:
这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,一般来说,刷recovery最主要的就是提Root权限。
system:
是一般发布的ROM的主要功能程序分区了,我们说的ROM功能和自带程序的定制应该就是基于这个分区的修改和编译了。
userdata:
用户数据。
cache:
缓存,一般是用来OTA升级时的缓存。
Ⅲ 安卓手机系统内存怎样自定义分区
对于很多有着控制欲特别强的人,他们在使用安卓手机时,总是十分不满意软件老是会安装到一个他不想要的安装路径。那安卓软件和游戏怎么安装到自定义分区呢?
我们可以使用一款叫做Link2SD的软件。何谓Link2SD? 它是一个将软件移动到卡第二分区ext2、3、4、fat(32)分区上的工具。原理和app2sd+类似。 link2sd把单个的文件进行软连接,这样就使程序可以实现随意的安装到机身和内存卡ext2、3、4、fat(32)分区上。link2sd选择性的 将新安装程序的/dalvik-cache移动到了内存卡上,再创建软连接。所以保证系统运行的安全性和稳定性。而2.2以上系统自带的app2sd有很多缺点,诸如应用装在卡上,拆下卡或是连电脑时这些应用无法使用,以及拖慢运行速度等,link2sd可很好解决这些问题并兼顾。而app2sd+则一刀切的把所有用户程序以往sd卡,弊病也多。
一句话,小编的理解就是link2sd是个软件,由用户控制,可以自由选择每个程序是否被移入卡ext分区,移入卡上的程序运行、删除、移动等操作完全自如,和装到手机内存没什么两样,而且不占用手机内存!当然link2sd本身也可卸载,不会影响移往卡上的程序运行。
Link2SD的运行条件:
1.SD卡需要第二分区,即ext2、3、4分区,也支持fat16、32格式,并且两个分区都要是主分区。
2.手机需要root权限。
正式开始:
1、下载并在手机上面安装附件
2、找到安装好的Link2SD,
进入程序,选择你sd卡第二分区的类型ext2、3或fat32、16,按第一步方法分区的选ext3,
提示授权请求,选择"允许"
此时提示重启,点击"确定",可自行重启手机。
重启后再次进入后程序会列出手机上所有应用位置及其状态,程序位置分为/system(系统内存)、 /data(用户可用内存) /mnt(sd卡第一分区)这三种,大家可自由选择将安装在手机内存/data的应用程序进行link操作。
此时将卡装入手机开机,使用re管理器进入/data中,可以看到有个sdext2文件夹,进入后可以看到上方显示容量:已用+可用就是你所分的ext3区的大小。以后所有链接到卡上的程序都可以在这里找到。
3、启用自动Link(可选,想自己选择程序是否移动到卡上的不需此步):
以上步骤完成后,新安装到机身内存的软件就可以自动被软件后台移至SD卡的第二分区,不需手动操作。不需要自动移动程序的,把自动链接(Auto link)的勾取消。
运行Link2SD,
按菜单键(MENU),点击"设置"
选自动链接(Auto link),然后点击"自动链接设置"
勾选这三个选项即可,在你把软件安装到手机机身内存的时候,Link2SD自动会把机身内存的软件移至SD卡的第二分区。
以上步骤完成后,新安装到机身内存的软件就可以自动被软件后台移至SD卡的第二分区,不需手动操作。不需要自动移动程序的,把自动链接(Auto link)的勾取消。
4.如果想把已经安装在sd卡第一分区的应用程序链接并移动到ext分区,进行如下操作
4.1(单个链接)
点击你要移动的程序(在内存卡上面程序,软件会用红字标记)
点击"管理"
点击"移至手机内存"
然后点击"返回"按键,点击"创建连接"(PS:这里忘记截图了,不过很简单的)
然后选择"确定"
正在创建
已经移动到SD卡
4.2(批量移动)
进入软件点击菜单键,弹出选项,选择"多选择"
此时会显示勾选项
选择你要移动的程序。(PS:系统程序是无法移动的)
然后点击"菜单键"弹出选项菜单,点击"创建连接"
点击"确定"
批量移动成功
你可以进入Link2SD,按"菜单键"弹出选项,点击"存储信息",查看存储信息。
需要说明的是,link2sd后的应用表面显示的位置仍然在手机内存/data下,但实质在sd卡第二分区,不占用手机内存,大家可自行查看。
重要说明:不要开机状态下拔除内存卡,或者拔除内存卡后开机,否则会加载不到EXT3分区,所有连接到内存卡的程序都将失效,必须重新安装
建议大家做完移动操作后,再打开link2sd,点菜单,选更多,选择清理dalvik-cache文件,可以把移动后的文件垃圾清理掉
!!!!! 关于安卓手机问题!内存卡分区后怎么恢复?
第一种方法:
第一步、将SD卡插入读卡器,读卡器再插进电脑USB接口
第二步、打开 我的电脑,选择SD卡盘符 鼠标右键 选择格式化(FAT32)不要选择快速格式化
第三步、发呆..
第四步、打开电脑里面的 控制面板 选择 管理工具 选择 计算机管理
现在看左边,选择 储存 -> 磁盘管理
现在看右边,看到你的 SD卡 分区没?
鼠标放在你的 SD卡 那个分区上,鼠标右键 呼出菜单,选择 删除磁盘分区,OK
第五步、删除成功后,SD卡的分区消失,出现一个未指派的移动磁盘,这时SD卡还不能正常使用
第六步、右键点击未指派的移动磁盘,选择"新建磁盘分区"
第七步、指派一个驱动器号,点击"下一步"
选好格式化设置,文件系统:"FAT",分配单位大小:"默认值",点击"下一步"
格式化进行中.....
格式化完成
这样你的SD卡就恢复成原来的样子了
第二种方法:完全格式化SD卡..
Ⅳ 安卓手机有哪些分区
Android系统中的分区:
hboot:
这个分区是最基本的引导分区也类似电脑中的BIOS,这个区坏了,差不多就变砖了,所以刷SPL时才要如此小心啊。
boot:
这个分区应该是linux操作系统的引导分区。
radio:
这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信等,不同的系统版本会有不同的radio配套,平时刷了高版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。
recovery:
这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,一般来说,刷recovery最主要的就是提Root权限。
system:
是一般发布的ROM的主要功能程序分区了,说的ROM功能和自带程序的定制应该就是基于这个分区的修改和编译了。
userdata:
用户数据。
cache:
缓存,一般是用来OTA升级时的缓存。
Ⅳ 安卓系统data分区文件权限问题,急!!!
这个是data文件夹的权限,有些文件和文件夹权限不一样。 建议刷机后一个一个看了过后再复制
Ⅵ 安卓系统的手机内存卡怎么分区
手机ROM相当于PC上的硬盘,用于存储手机操作系统和软件,也叫FLASH ROM,决定手机存储空间的大小。手机RAM相当于PC的内存,其大小决定手机的运行速度。
要把大象装冰箱里总共分三步,而Android系统中把软件安装到SD卡上,比这还简单,两步就够了:
一、存储卡分区
首先我们需要对手机SD卡进行分区,分一个FAT32分区和一个Ext3分区,FAT32分区用于正常存储图片、音乐、视频等资料,而Linux格式的Ext3分区就是用于扩容安装软件的分区。以笔者的2G SD卡为例,FAT32分区1.35GB,Ext3分区494MB。下载并安装Acronis Disk Director Suite软件。将手机SD卡装入读卡器并连接电脑,然后运行Acronis Disk Director Suite软件。
1.FAT32分区。找到代表SD卡的磁盘分区,点击右键,选择“删除”命令,删除已有分区。当成为“未分配”分区时,点击右键,选择“创建分区”,在弹出的对话框中,文件系统选择:FAT32,创建为“主分区”,设置好分区大小1.35GB,点击确定按钮。
2.Ext3分区。在剩余的494MB分区上,点击右键,选择“创建分区”,在弹出的对话框中,文件系统选择:Ext3,创建为“主分区”,设置好分区大小494MB,点击确定按钮。
3.确认分区。上述分区设定完成后,软件只是记录了分区操作,并没有真正在SD卡上进行分区。点击软件工具栏中的“提交”按钮,确认执行分区操作,提示“操作成功完成”说明分区成功了。
二、将软件移动到SD卡
存储卡分区完成后我们只需要把系统默认的软件安装目录/data/app转移到SD卡的Ext3分区上,然后通过ln命令建立软链接,使系统自动把软件安装到SD卡上,达到节省手机内存空间的目的。
将存储卡装回手机,重新启动,使系统识别到Ext3分区。在手机上运行超级终端,依次输入以下命令来验证系统是否识别了Ext3分区:
su (会提示高级权限授权,选择“总是同意”)
busybox df –h
如果显示的列表中有/dev/block/mmcblk0p2的信息说明系统已成功识别了Ext3分区。
然后依次输入以下命令将/data/app目录转移到SD卡的Ext3分区:
cp –a /data/app /system/sd/
(将/data/app目录复制到/system/sd/下)
rm –r /data/app
(删除/data/app目录)
ln –s /system/sd/app /data/app
(建立软链接)
Reboot
(重启手机)
重启之后,手机上安装的所有软件就全部转移到了SD卡上,看看你的手机可用空间是不是增大了。以后再安装软件也是直接安装到SD卡上,不用担心空间不足的问题了,而且这样做还有一个好处,刷新ROM后,以前安装过的软件并没有被清除,还保存在SD卡上,输入下列命令就可以轻松恢复,不用再一一安装了,非常方便实用。
su
(取得高级权限)
cd /data
(进入/data目录)
cp –a app /system/sd/app
(将app目录中的内容复制到/system/sd/app目录)
rm –r app
(删除app目录)
ln –s /system/sd/app /data/app
(建立软链接)
reboot
(重新启动)
扩容效果体验:
刷新ROM后未安装任何软件,手机可用空间为87MB,安装若干软件后,可用空间下降为73MB。将软件目录转移到SD卡上后,可用空间变为80MB。可能有的“电筒”会有疑惑,为什么没恢复到87MB呢?这是因为我们只是将软件移动到了SD卡上,而软件的缓存数据仍然会占用手机内存,所以手机内存还是会下降。当然软件的缓存数据也可以移动到SD卡上,但这样会拖慢软件运行速度,所以不推荐大家使用。
注意事项:
1.软件移动到SD卡上后,原有的部分桌面插件会无法正常显示,删除后,重新加入桌面即可。
2.SD卡的Ext3分区可以视为手机硬件的一部分,移除SD卡后,安装的软件将无法运行。插入SD卡,重新启动手机即可正常使用。
这个教程有哪个高手可以成功的话,给我说一声哦!
Ⅶ 如何更改安卓手机rom系统分区
1、首先,对手机先进行root,即获取手机最高权限。
2、接着,关闭手机,再同时按住HOME键和电源键进入Recovery(恢复模式,刷机模式)或者有的刷机包为高级选项。
3、再点击选择Partition
sdcard或者中文sd卡分区,选择自己的分区,或者用u880tool
勾选重新分区,填入合适的分区数据就行了。
Ⅷ android怎么获取分区路径
我们可以在adb中使用df 来查看分区情况。
1、跨分区不能用 MV命令来拷贝。但是可以用CP命令。如PWD,当前目录为:/data/local/tmp 。
此目录下有个busybox和1.txt文件。则利用CP命令拷贝如下:./busybox cp1.txt /system.
2、Android的用户组有 System, root, shell
3、怎么样才能操作分区。
分区操作是需要权限的。一般来说System分区的权限限制得比较严,Data分区限制比较严,用户可以操作的目录有local,app目录。比如/data/local/tmp.
data分区常用目录:app , system , data ,local,misc 其中system,local可以进入并使用ls等命令。data,app可以进入,但不能用ls命令。
data/data目录:存放的是所有APK程序数据的目录,每个APK对就一个自己的Data目录,就是在data/data/目录下,会产生一个跟Package一样的目录。如有一个APK,它的包名叫com.test.hello则,在data/data/目录下会有一个com.test.hello的目录,这个APK只能操作此目录,不能操作其它APK的目录.这个在LINUX下叫做用户进程只能操作自己的进程目录.
data/app目录:用户安装的APK放在这里。我们如果把APK放入这个文件夹下面的话,就算安装好了。这就叫静默安装。不用管APK文件里面的lib目录下的库文件,系统会自动帮我们放入调用库的。
data/system目录下面有packages.xml ,packages.list,appwidgets.xml, 等等一些记录手机安装的软件,Widget等信息。
data/misc目录:保存WIFI帐号,VPN设置信息等。如保存了一个WIFI连接帐号,则此目录下的WIFI目录下面可以查看到。
system分区常用目录: app , lib, xbin, bin , media,framework.
system/app目录:存放系统自带的APK。没有测试过是否将APK放入到System/app目录下,也是静默安装APK。?
system/lib目录:存放APK程序用到的库文件。
system/bin目录和system/xbin目录:存放的是shell命令。
system/framework目录:启用Android系统所用到框架,如一些jar文件。
4 Android下面的目录都是有权限的,要操作目录都需要有此权限才能操作,如果没有,则使用chomd777来修改.如果是分区根目录,如/data分区, /system分区.都没有权限,则需要重新挂载. 使用 mount -oremount XX
Ⅸ Android 的提权 (Root) 原理是什么
Android的内核就是Linux,所以Android获取root其实和Linux获取root权限是一回事儿。
你想在Linux下获取root权限的时候就是执行sudo或者su,接下来系统会提示你输入root用户的密码,密码正确就获得root权限了。Android本身就不想让你获得Root权限,大部分手机出厂的时候根本就没有su这个程序。所以你想获得Android的root权限,第一步就是要把编译好的su文件拷贝到Android手机的/system/bin或者/system/xbin/目录下。我们先假设你可以把su放在bin下,接下来你可以在Android手机的adb shell或者串口下输入su了。上面说了,执行su,系统会提示你输入root用户密码,但你怎么可能知道密码呢?暴力破解吗?破解root的黑客当然不会这么做,这就涉及到第二个问题。
一般我们在Linux的console下输入 ls -l 会列出所有文件的权限。
比如:-rwxr-xr-x,用过Linux的人都知道r代表该文件可读,w代表可写,x代表可执行,-就代表没有该权限。第一个rwx代表文件所有者的权限,第二个rwx代表和所有者同组人的权限,第三个rwx代表其他用户对该文件的权限。但下面这个文件就比较特殊。

rws,它的执行权限标志位是一个s,s代表当任何一个用户执行该文件的时候都拥有文件所有者的权限,这文件的所有者是root,简单点说就是不管谁执行这个文件,他执行的时候都是以root身份执行的。那root用户执行任何文件都是不需要密码的。
这个时候如果你把su文件的权限置成-rwsr-xr-x会发生什么?su这个程序本来就是赋予执行者root权限的,但执行的时候又不需要密码,所以执行一下这个文件就自动成root身份了。
问题都清楚了,就是你需要把su拷贝到Android手机上,并且把su权限标志位置成-rwsr-xr-x。能把这个事情搞定你就成功root了一个手机。
大概意思就是两行代码
cp /data/tmp/su /system/bin/ # su 到/system/分区
chmod 1775 /system/bin/su #把su置成-rwsr-xr-x
那怎么搞定这个事情呢?Android的system分区本身不可写,只有是root的权限才能改动它,执行不了啊。
一个办法就是找一个本身已经有root权限的进程来启动我上面的两行代码,那我这两行代码一启动就是root权限,就可以顺利执行了。但是已经有root权限的进程都是出厂时候就装到手机上的,代码写死了,你没法控制它执行你自己的代码啊。这个时候就需要你找漏洞了,比如用来破解Android2.3 root权限的zergRush漏洞就是利用一个拥有root权限的进程栈溢出漏洞,栈溢出说白了就是这个进程读到了自有内存之外的地址空间,这段内存空间没分配给它,谁都能写这段内存,那我就可以把自己的两行代码预先写到这里,运行zergRush代码,然后等那个倒霉的进程执行我就行了。
如果各位有一定基础,能看懂我上面讲的,就基本知道原理其实并不难,难点在于找到漏洞。
zergRush的代码在这儿:
revolutionary/zergRush · GitHub