分享一个快速将apk推入push到system目录并kill掉进程的脚本

分享一个快速将apk推入push到system目录并kill掉进程的脚本pushKill.bat。下面是脚本内容:

@echo off
set apkStr=%1
adb root
adb remount
if not defined apkStr (
@echo 请输入apk名称
set /p apkStr=%1)

set remain=%apkStr%
:loop
for /f "tokens=1* delims=\" %%a in ("%remain%") do (
	rem 将截取剩下的部分赋给变量remain,其实这里可以使用延迟变量开关
	set remain=%%b
                set apkName=%%a
)
::如果还有剩余,则继续分割
if defined remain goto :loop

echo apkName=%apkName%
set apkDir=%apkName:.apk=%
rem 此处由于powershell使用补全键会把相对路径./也加进去
set apkDirName=%apkDir:.\=%
set apkDir=system/priv-app/%apkDirName%
if not exist %apkDir% (
        rem 创建空目录%apkDir%
        rem 创建非空目录,使用复制方法
        echo %apkDir%目录不存在,已创建该目录!
        adb shell mkdir %apkDir%
) else (
      rem 目录%apkDir%已存在,无需创建
      echo 目录%apkDir%目录已存在,无需创建!
)

adb push %apkStr% %apkDir%/

@echo kill对应进程
rem 需要配置aapt的系统环境变量或者找到androd sdk下的build-tools执行aapt命令
rem D:\android-sdk-windows\build-tools\31.0.0\aapt dump badging %apkStr% > %apkDirName%_dump.txt
aapt dump badging %apkStr% > %apkDirName%_dump.txt
rem 提取apk包名,提取第一个''的内容即为包名
for /f "tokens=2 delims=''" %%i in (%apkDirName%_dump.txt) do (
   set pkgName=%%i
   goto END
)
:END
echo apk包名:%pkgName%
rem 根据包名查找pid
adb shell "ps -A | grep %pkgName%" > %pkgName%.txt
set /p str=<.\%pkgName%.txt
set str="%str%"
 
set n=0
:STR_VISTOR
echo str = %str%
 
echo %n%
if %n% == 2 (goto END)
for /f "tokens=1,*" %%a in (%str%) do (
    set a=%%a
    set /a n+=1
    REM 将剩余字符串赋值给变量
    set str="%%b"
    goto STR_VISTOR
)
 
:END
adb shell kill %a%
echo PID:%a%
REM 操作完后删除生成的%pkgName%.txt
del /s /q /f .\%pkgName%.txt
REM 操作完后删除生成的%apkDirName%_dump.txt
del /s /q /f .\%apkDirName%_dump.txt
pause

注意的是需要配置aapt的系统环境变量或者找到androd sdk下的build-tools执行aapt命令或者把build-tools下的aapt.exe拷到脚本同等目录下即可使用aapt dump badging %apkStr% > %apkDirName%_dump.txt命令。
运行脚本后会提示输入apk名称,输入apk名称或者TAB键自动补全。在这里插入图片描述
或者输入脚本名称pushKill.bat + apk名称。
这样apk会自动push到system/app/MyApplication的对应名录下,可自行修改push的路径;push后会通过aapt获取apk的包名,用获取的包名查询apk对应的进程并杀死kill掉。这个脚本方便做系统应用开发的人员做调试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言并肃

感谢大哥支持!您的鼓励是我动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值