问题背景
最近换了个测试机,用了VIVO。但是每次安装的时候都必须点击一次继续安装。验证影响效率。为了解决这个问题做了一些研究
效果
失败之路
辅助功能
本来想使用AccessibilityService来实现这个功能,但是我配置了packageNames为空,也没办法检测到安装界面。估计是系统定制了。不支持com.android.packageinstaller.PackageInstallerActivity 的监听
别人的方法
在网上找到下面这个解决方案,亲测无效。
VivoAutoInstallAPK:一键自动化安装APK的利器
成功之路
最后通过gradle脚本来实现的。在每次安装app的时候会执行 app:assembelDebug 任务。只需要在这个任务最后挂载应该任务使用adb来实现模拟点击就可以了。这个脚本会判断是不是vivo手机,如果不是的话,不会执行模拟点击任务。
gradle插件
// 自定义的任务
task tapAfterBuild {
doLast {
isVivo(new Action<Boolean>() {
@Override
void execute(Boolean isVivo) {
if(isVivo){
//启动一个线程,等待3秒,然后每秒钟点击一次自动安装,最多10次
new Thread(new Runnable() {
@Override
void run() {
Thread.sleep(3000)
for(int i=0;i<10;i++){
println("执行模拟点击 i="<