Android 手机替换系统应用

开发中我们一般使用debug的apk包,但是有时需要安装Release包,如果是普通的应用可以直接删除,但是如果是系统应用则很难删除,本文主要介绍在ubuntu系统下替换系统Android手机中的系统应用。由于目前Ubuntu系统默认的ADB最高版本是adb v1.0.31,因此本文分两个部分介绍如何替换系统应用,Android 6.0(Android M)以下替换系统应用;ndroid 6.0(Android M)及以上替换系统应用


1.Android 6.0(Android M)以下替换系统应用

6.0以下替换系统应用相对简单一些,只需要按照如下部分进行即可,本文以浏览器为例

$adb root

$adb remount

$adb shell

$cd system/priv-app/Browser

rm

2.Android 6.0(Android M)及以上系统

在替换6.0以上的系统应用时,本人发现使用上面的命令在执行rm Browser.apk 时会报系统只读,甚至 在adb remount时就出现remount失败,通过查阅资料发现Android 6.0 userdebug版本上(eng版本不存在该问题),对于系统分区进行了加固,直接使用adb remount是不同重置系统分区的,需要使用adb disable-verity指令重置系统分区,Ubuntu默认的ADB最高版本是adb v1.0.31版本,该版本是没有adb disable-verity指令因此需要对adb升级,同时网上有人说只需要adb版本大于或等于adb v1.0.32即可,本人将abd 版本更新到adb v1.0.32以后发现还是无法使用adb disable-verity指令下面是将adb v1.0.31升级的adb v1.0.32的方式:

$ adb version
Android Debug Bridge version 1.0.31
$ wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
$ sudo mv adb /usr/bin/adb
$ sudo chmod +x /usr/bin/adb
$ adb version
Android Debug Bridge version 1.0.32

由于使用v1.0.32还是不能使用adb disable-verity指令,本人想起Android SDK中也用abd指令,于是

$cd Android/Sdk/platform-tools/
~/Android/Sdk/platform-tools$ ./adb
Android Debug Bridge version 1.0.39

此时本人发现SDK中的adb版本是1.0.39,因此本人使用就试着使用SDK中的adb,具体指令如下

$ cd Android/Sdk/platform-tools/
~/Android/Sdk/platform-tools$ adb root 
adbd is already running as root 
~/Android/Sdk/platform-tools$ ./adb disable-verity 
adb server version (32) doesn't match this client (39); killing... 
* daemon started successfully * 
Verity already disabled on /system 
~/Android/Sdk/platform-tools$ adb rebootadb server is out of date. killing... 
* daemon started successfully * 
~/Android/Sdk/platform-tools$ adb root 
restarting adbd as root 
~/Android/Sdk/platform-tools$ adb remount 
remount succeeded 
~/Android/Sdk/platform-tools$ adb shell 
root@markw:/ # cd system/priv-app/Browser/ 
root@markw:/system/priv-app/Browser # ls 
Browser.apk 
oat 
root@markw:/system/priv-app/Browser # rm Browser.apk 
root@markw:/system/priv-app/Browser # ls 
oat 
 
    


系统自带浏览器删除成功


你可能感兴趣的:(Android 手机替换系统应用)