Keep on going, never give up.

adb卸载并替换系统apk

原生系统调试时经常会遇到Setting、SystemUI模块替换测试(比如Settings.apk、SystemUI.apk等等),模块编译总比整体编译要快的多,所以,系统apk测试就需要使用到adb工具。adb基本push/pull/shell等用法,可参考:

Android adb调试使用实例

本文描述如何替换系统apk方法。

一、adb导入系统apk

假设替换SystemUI.apk,可通过如下命令(依次执行):

adb remount

adb shell rm system/app/SystemUI.apk

adb uninstall com.android.systemui

adb push SystemUI.apk system/app/SystemUI.apk

再次启动Launcher时,新的SytemUI.apk就会生效。如果您感觉apk应该没问题还是总是运行崩溃,可尝试重启一下设备。

二、uninstall卸载失败

如果uninstall失败(提示Failure错误),请检查:

1、adb uninstall 后边的参数包名是否正确

2、注意大小写,也不要带.apk扩展名

3、有时候apk名称跟安装登记的名称并不相同,可查看当前apk的AndroidMainifest.xml文件中<manifest>节点下package元素所指定的名称。

三、使用adb启动apk

系统apk一般都是带有启动入口,比如设置菜单、状态栏、及一些服务也都有触发条件,所以,adb启动apk用处就不太大,先节选在这里做个提醒,或许独立apk程序能用得上。

1、使用aapt查看包信息

aapt工具在Android sdk build-tools(也可能子目录)下,查看包信息,只需把apk拷贝到aapt的当前目录下,然后命令行下执行:

aapt dump badging SystemUI.apk

就可看到该包信息,其中:

package字段——为包安装名称

launchable-activity——为包启动的Activity

2、启动apk

adb shell am start -n 包名/包名+类名

实例(来源文末地址):
C:\Users\Administrator>adb shell am start -n com.android.camera/.Camera
Starting: Intent { cmp=com.android.camera/.Camera }

参考资料:

http://blog.csdn.net/fulinwsuafcie/article/details/8092459

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.