使Android的system分区可写及安装apk到system/app
来源:互联网 发布:linux 开机进入text 编辑:程序博客网 时间:2024/06/07 22:00
在网上看到几种方式记录一下:
一、如何在adb shell下mount Android下的分区
通过adb shell访问Android。
有时候会在已经root的系统文件下面进行读写,例如/system,但是会提示类似read only file system的信息。
目前发现两种方法,该方法只在自己的测试机上成功,不保证其他机子一样。我的是Huawei U8818
下面的例子都是围绕/system目录。
方法一:
使用df命令查看
- # df
- df
- Filesystem Size Used Free Blksize
- /dev 197M 64K 197M 4096
- /mnt/asec 197M 0K 197M 4096
- /mnt/obb 197M 0K 197M 4096
- /system 295M 245M 50M 4096
- /data 755M 26M 728M 4096
- /cache 188M 4M 184M 4096
- /HWUserData 2G 1024K 2G 32768
- /cust 59M 14M 44M 4096
- /mnt/sdcard 7G 753M 6G 32768
- /mnt/secure/asec 7G 753M 6G 32768
接着查看/proc下的partitions
- # cat /proc/partitions
- cat /proc/partitions
- major minor #blocks name
- 179 0 3817472 mmcblk0
- 179 1 20 mmcblk0p1
- 179 2 300 mmcblk0p2
- 179 3 133120 mmcblk0p3
- 179 4 1 mmcblk0p4
- 179 5 12288 mmcblk0p5
- 179 6 196608 mmcblk0p6
- 179 7 4096 mmcblk0p7
- 179 8 3072 mmcblk0p8
- 179 9 4096 mmcblk0p9
- 179 10 3072 mmcblk0p10
- 179 11 3072 mmcblk0p11
- 179 12 393216 mmcblk0p12
- 179 13 786432 mmcblk0p13
- 179 14 4096 mmcblk0p14
- 179 15 8192 mmcblk0p15
- 179 16 20480 mmcblk0p16
- 179 17 4096 mmcblk0p17
- 179 18 81920 mmcblk0p18
- 179 19 2154496 mmcblk0p19
- 179 32 7761920 mmcblk1
- 179 33 7757824 mmcblk1p1
- 31 0 4096 mtdblock0
(其实,可以在/proc/mounts下面看的更直接。。。)
于是,输入以下mount命令
- # mount -o remount,rw /dev/block/mmcblk0p12 /system
当然,如果不打算重启机子的话,最好还是将它恢复到read only状态。输入:
- # mount -o remount,ro /dev/block/mmcblk0p12 /system
而实际上试过将不同的分区跟挂载点remount一下,居然还是可以的。原因暂时不明。
方法二:《此方法试过可用》
考虑到上面用斜黑体字写的现象,尝试用其他信息代替”/dev/block/mmcblk0p12“,试了一下居然也是可行的!
直接输入下列命令即可:
- # mount -o remount,rw mtd@system /system
- 第二种方法虽然也是可以的。之所以这么写是参考init.rc里面的mount写法。
不清楚这个是怎么回事,要是原生的linux mount命令应该不会这样的。
二、android 安装软件TOsystem app
删掉了内置软件,便有了闲置的空间,这时可以用这部分空间安装一些自己必装的软件。平时安装的所有软件,除了少数可以移到内存卡,其他的都安装在data/app目录,所以安装到system/app可以节约手机自带的存储。而且,安装到system/app目录后,即使恢复出厂了,也不会消失。
安装方法有三种:
第一种(适合没有odex文件的),正常安装,然后用R.E.管理器到data/app目录找到安装包,把它剪切到system/app目录,再用R.E.管理器进入安装包内,查看是否存在lib文件夹,如果存在,就要把里面的以.so为后缀的文件通通解压出来,移动到system/lib,然后重启手机,成功。
第二种,用超级终端:把需要安装的软件放到sdcard/a目录,比如需要安装b.apk(和b.odex),括号内的部分可有可无。把b.apk(和b.odex)复制或者移动到sdcard/a目录,打开超级终端,
1、输入su按回车;
2、输入mount空-o空remount,rw空-t空yaffs2空/dev/block/mtdblock3空/system按回车;空表示该处需要空格
3、输入 cd 空/sdcard/a按回车;
4、输入ls按回车,将会列出a文件夹内包含的所有文件。此步不是必需的。
5、输入cat空b.apk空>空/system/app/*.apk按回车,*表示名称可以任你取,但是不能与已经存在于system/app目录的软件同名;
6、有odex的才要这一步,输入cat空b.odex空>空/system/app/*.odex,*与上一个*内容相同。
7、输入reboot重启或者自己手动重启。然后用第一步的方式处理.so文件;
第三种,也是用超级终端,换个更简单的命令而已。1234步不变。
5、输入busybox回车,如果列出一大堆单词,那么可以继续。
6、输入busybox空cp空b.apk空/system/app回车;
7、如果有odex,输入busybox空cp空b.odex空/system/app回车;没有odex的跳下一步;
三、Android系统上cp命令的替代方法
- 使Android的system分区可写及安装apk到system/app
- android push需要安装的apk到system/app以及删除system/app下的apk
- android 安装apk 到 /system/app 目录
- android 安装apk 到 /system/app下面
- 安装 apk 到 /system/app 目录下
- 安装包含jni的工程apk到system/app下
- Android 使用系统限制的权限的apk应安装到 /system/app 目录下
- android开发中,apk文件安装到\system\app 的解决办法 仅限root机
- android开发中,apk文件安装到\system\app 的解决办法 仅限root机
- android安装PK到 /system/app/
- 批量安装apk到/system/app下2014.10.22
- android 如何预置APK到 data 和system/app目录
- Android system.img 可写
- android编译及添加apk到system.img
- Android 把应用APK安装包放到system/app下的方法
- 删除Android系统system/app目录下面的apk
- 写System权限的APP
- 写System权限的APP
- js表单验证控制代码大全
- MT4编程实例:在欧元图上显示英磅的RSI指标
- 常用uboot命令
- css代码缩写规范
- IDA 基本配置
- 使Android的system分区可写及安装apk到system/app
- 关于拖延症的一些观点
- zencart常用一些语句
- shell中使用ssh远程控制
- maven打一个完整的内容整洁的jar包的pom.xml
- C语言学习之自增/自减运算
- 成功创业者必须具备的9个特质
- android 解决GestureDetector.SimpleOnGestureListener中对某些view,点击之后总是触发longPress事件
- AMQP和RabbitMQ入门