android packages.xml指定应用签名信息检索、编辑脚本

来源:互联网 发布:springmvc json转对象 编辑:程序博客网 时间:2024/06/05 14:59

一.不借助adb uninstall,如何完全卸载应用

对于完全卸载android用户应用来讲,假设以youku.apk为例,需要卸载四个部分:

1./data/app/youku.apk

2./data/data/youku

3./data/app-lib/youku.so

4./data/system/packages.xml中与youku相关的签名信息

二.如何利用脚本在android设备启动时卸载应用

我们知道,android系统本身可以命令相对pc linux环境是裁剪过的,诸如常见awk、read等命令并不支持。

#删除apk签名信息#确定apk信息起始位置test=$(busybox grep -n 'cn.wz.niu' /data/system/packages.xml)#注意取值:$()start=${test%:*}        nums=$(busybox grep -n '\/package>' /data/system/packages.xml)#确定apk信息结束位置for i in ${nums[*]}doent=${i%:*}#echo "$end"if [ "$ent" -gt "$start" ];#比较大小,获取第一个比start值大数值,即为package结束行thenecho "ent is: $ent"break#else#echo "not found"fidoneecho "start is $start"echo "end is: $ent"chmod -R 777 /data/system/packages.xmlbusybox sed "${start},${ent}d" /data/system/packages.xml > /data/system/temp.xml#注意给sed传递变量方法${}rm /data/system/packages.xmlmv /data/system/temp.xml  /data/system/packages.xmlchmod -R 660 /data/system/packages.xmlchown system:system /data/system/packages.xmlecho "delete sign info end"#busybox sed "723,730d" /data/system/packages.xml > /data/system/test.xmlrm -rf /data/dalvik-cache/data@app@cn.wz.niug*.apk@classes.dexrm -rf /data/data/cn.wz.niugamerm -rf /data/app-lib/cn.wz.niugame*rm -rf /data/app/cn.wz.niugame*echo "delete niugame data end"

执行过后,此时可以直接将apk拷贝到/data/app/目录下。


相关参考链接:

http://blog.csdn.net/a345017062/article/details/6236262

http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html

http://www.cnblogs.com/kangyoung/p/3556173.html

http://blog.sina.com.cn/s/blog_6151984a0100emk3.html

http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html

http://blog.chinaunix.net/uid-24904099-id-298600.html


1 0
原创粉丝点击