-
-
[求助]odex优化后启动失败
-
发表于: 2016-4-20 09:05 3899
-
我自己的一部三星手机,在这之前我已经能把boot.img,system.img反编译后打包能刷入手机,并让手机正常运行。
之后我打算把手机内的system/framework or app都导出来反编译,重打包为jar和apk。然后我再通过手机本身的root权限用以下脚本进行odex化。重打包的时候除jar,所有apk都进行了重新的签名,用的是自己的签名。最后,还将service.jar内的PackageManagerService.smali中的verifySignaturesLP函数的实现给修改掉了。
odex化脚本:
优化后的odex导出手机,然后再重新打包到system.img内,并touch时间保持跟原来的时间一致。
最后的结果,我刷到手机后运行到welcome界面等十几秒又重启了,然后我进CWM内恢复出厂设置,并想格式化/system结果提示格式化出错,并且也不能正常挂载/system了。
请教各位大神,是什么原因或哪个环节可能出现问题?
之后我打算把手机内的system/framework or app都导出来反编译,重打包为jar和apk。然后我再通过手机本身的root权限用以下脚本进行odex化。重打包的时候除jar,所有apk都进行了重新的签名,用的是自己的签名。最后,还将service.jar内的PackageManagerService.smali中的verifySignaturesLP函数的实现给修改掉了。
odex化脚本:
#!/system/bin/sh F_SYSTEM_FRAMEWORK=/sdcard/myframe/framework_out F_SYSTEM_APP=/sdcard/myframe/app_out F_SYSTEM_PRIVAPP=/sdcard/myframe/priv-app_out F_MY_FRAMEWORK=/sdcard/myframe/framework F_MY_APP=/sdcard/myframe/app F_MY_PRIVAPP=/sdcard/myframe/priv-app if [ ! -d $F_SYSTEM_FRAMEWORK ];then #echo "$F_SYSTEM_FRAMEWORK not found!" #exit 1 mkdir $F_SYSTEM_FRAMEWORK fi if [ ! -d $F_SYSTEM_APP ];then #echo "$F_SYSTEM_APP not found!" #exit 1 mkdir $F_SYSTEM_APP fi if [ ! -d $F_SYSTEM_PRIVAPP ];then #echo "$F_SYSTEM_PRIVAPP not found!" #exit 1 mkdir $F_SYSTEM_PRIVAPP fi BOOTCLASSPATH="/system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/frameworkframework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/sec_edm.jar:/system/framework/timakeystore.jar:/system/framework/seccamera.jar:/system/framework/scrollpause.jar:/system/framework/stayrotation.jar:/system/framework/commonimsinterface.jar:/system/framework/smartfaceservice.jar:/system/framework/secocsp.jar:/system/framework/simageis.jar:/system/framework/qcmediaplayer.jar:/system/framework/WfdCommon.jar:/system/framework/oem-services.jar:/system/framework/org.codeaurora.Performance.jar" for file_a in ${F_MY_FRAMEWORK}/*.jar; do base_name=${file_a##*/} odex_name=${base_name%.*}".odex" jarpath=${F_MY_FRAMEWORK}/$base_name odexpath=${F_MY_FRAMEWORK}/$odex_name dexopt-wrapper $jarpath $odexpath $BOOTCLASSPATH cat $odexpath > $F_SYSTEM_FRAMEWORK/$odex_name rm -rf $odexpath done for file_a in ${F_MY_APP}/*.apk; do base_name=${file_a##*/} odex_name=${base_name%.*}".odex" jarpath=${F_MY_APP}/$base_name odexpath=${F_MY_APP}/$odex_name dexopt-wrapper $jarpath $odexpath $BOOTCLASSPATH cat $odexpath > $F_SYSTEM_APP/$odex_name rm -rf $odexpath done for file_a in ${F_MY_PRIVAPP}/*.apk; do base_name=${file_a##*/} odex_name=${base_name%.*}".odex" jarpath=${F_MY_PRIVAPP}/$base_name odexpath=${F_MY_PRIVAPP}/$odex_name dexopt-wrapper $jarpath $odexpath $BOOTCLASSPATH cat $odexpath > $F_SYSTEM_PRIVAPP/$odex_name rm -rf $odexpath done
优化后的odex导出手机,然后再重新打包到system.img内,并touch时间保持跟原来的时间一致。
最后的结果,我刷到手机后运行到welcome界面等十几秒又重启了,然后我进CWM内恢复出厂设置,并想格式化/system结果提示格式化出错,并且也不能正常挂载/system了。
请教各位大神,是什么原因或哪个环节可能出现问题?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: