最近学习看到android沙箱VirtualApp,小编资历尚浅,只是从VA运用的角度记录了下来如何在VA中静默安装app

VirtualApp github地址https://github.com/asLody/VirtualApp

1、将需要安装的app包放置在assets目录下

2、构建app安装需要的方法如下

    private void installApp(String path) {        if (checkRequiredPermission()) {            try {                File localFile = extractApp(path);                //com.app.test是测试安装的app包名                AppInfoLite localAppInfoLite = new AppInfoLite("com.app.test", localFile.getAbsolutePath(), true);                mPresenter.addApp(localAppInfoLite);            } catch (Exception localException) {                Toast.makeText(this, "安装失败", Toast.LENGTH_SHORT).show();            }        } else {            ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 200);        }    }    private File extractApp(String path) {        try {            File localFile = new File(path);            if (localFile.exists()) {                localFile.delete();            }            //提取的app文件,testApp是我测试的app名称            FileUtils.writeToFile(getAssets().open("testApp.apk"), localFile);            return localFile;        } catch (IOException localIOException) {        }        return null;    }    private boolean checkRequiredPermission() {        return (Build.VERSION.SDK_INT < 23) || (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") == 0);    }

 3、在需要安装App代码的地方调用installApp方法即可

String apkPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/testApp.apk";            //判断app是否已经安装            if (!VirtualCore.get().isAppInstalled("com.app.test")) {                installApp(apkPath);            }else{                Toast.makeText(this, "当前APP已经安装,请勿重复安装", Toast.LENGTH_SHORT).show();            }

 

更多相关文章

  1. EclipseSDK NDK Cygwin CDT 集成开发环境的搭建
  2. android 升级webview的方法
  3. 基于XMPP实现的Openfire的配置安装+Android客户端的实现
  4. android 兼容性测试
  5. windows 下 android 自动化测试环境搭建(appium+python)
  6. Android(安卓)开发 关于APP无法安装到Android模拟器上的问题
  7. 解决OPPO手机在Android(安卓)studio 环境下安装错误运行失败的问
  8. 利用drozer进行Andriod安全测试
  9. 解析json格式数据

随机推荐

  1. Android中浮动按钮
  2. Android(安卓)Studio使用.so库的方式(科大
  3. android通过google API获取天气信息
  4. android之helloworld详解
  5. Android学习之RatingBar评分组件
  6. android中退出整个app应用程序
  7. android booting 启动过程
  8. Android全屏(包含3种隐藏顶部状态栏及标题
  9. android 2.2 apidemos 赏析笔记 6
  10. ant android