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 /system/extras/su

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

}

 

5. 让rom本身拥有root权限

 

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