android 刷机

1. 刷一个合适的Recovery
Clockwork Recovery
http://www.clockworkmod.com/rommanager/

adb reboot bootloader // 启动进入bootloader模式
fastboot flash recovery recovery_package // 刷入recovery

// Edify 语言
// 自己制作recovery很简单. 只需要放一个su在/system/xbin下
// 在META-INF/com/google/android/放入脚本文件, 命名为updater-script, update-binary会解析脚本

ui_print( “Recovery Upgrade Package”)

ui_print( “Mount /system” )

// 读写模式挂载/system
run_program( “/sbin/busybox”, “mount”, “-o”, “rw”, “/system” )
// 删除旧的su文件
delete( “/system/xbin/su” )

// 将刷机包中的system目录中的所有文件复制到/system目录中的相应位置
// 升级包一般只有su文件, 所以也是复制su文件过去
package_extract_dir( “system”, “/system” )

// 设置su可执行属性
set_perm( 0, 0, 0777, “/system/xbin/su” );

// 卸载system
unmount( “/system” );

ui_print( “finished” );

2. 改造su命令

// 将/system改成读写
mount -o rw, remount /devblock/platform/sdhci-tegra.3/by-name/APP /system

// APP提取root权限
Runtime.getRuntime().exec( “su” );
OutputStream os = process.getOutputStream();
os.write( “ls /system/app”.getBytes() );
os.flush();
os.close();

// 替换/system/media目录下的bootanimation.zip文件即可替换开机启动画面
3. Recovery 刷机
4. 执行su命令提取root权限

// 编译su.c

build/envsetup.sh
进入su目录, 执行mm命令编译su.c

su.c <android源码目录>/system/extras/su

// 注释main中的如下语句
if( myuid != AID_ROOT && myuid != AID_SHELL )
{

}

 

5. 让rom本身拥有root权限

 

制作Recovery升级包. 复制su到/system/xbin目录下

发表评论

发表评论前,请选对水果: 菠萝