我使用Android的Eclipse扩展和JUnit框架来测试Android应用程序w.r.t.性能。由于我想将我的应用与内置的Android应用程序(例如Android的内置浏览器)进行比较,我需要重新签名这些应用程序,以便能够使用JUnit检测运行器对其进行检测。
我可以通过手机从系统/应用程序目录中获取应用程序,也可以使用re-sign.jar重新签名。但是,我无法使用已重新签名的版本替换手机上的应用。
我试过了两次
adb install -r Resigned.app
和
abd uninstall com.android.<originalapp>
但两者都不起作用。
是否可以替换标准应用程序?
我可以通过覆盖system / app下的apk文件来替换应用程序吗?
答案 0 :(得分:0)
您只能在有根设备上替换或卸载系统应用。在无根(正常)设备上无法实现。
如果您的设备 已植根,那么此类内容应该可以替换系统APK:
adb shell su -c "mount -o rw,remount /system"
adb shell su -c "chmod 777 /system/app/"
adb push Re-signed.apk /system/app/original.apk
adb shell su -c "chmod 755 /system/app/"
adb shell su -c reboot
但是如果你这样做,请确保你知道你在做什么!至少,请务必保留原件。
答案 1 :(得分:0)
您可以使用以下命令完成该操作:
adb shell mount -o remount rw /system/
adb push Resigned.apk /system/app