You need to enable JavaScript to run this app.
导航
应用管理
最近更新时间:2024.10.29 19:42:43首次发布时间:2024.08.23 11:16:35
复制全文
我的收藏
有用
有用
无用
无用

阅读本文,您可以获取 Java SDK 应用管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Java SDK 的安装及初始化操作。

调用示例

本节为您介绍应用管理相关接口的功能和调用示例。

启动应用 LaunchApp

您可以调用 LaunchApp 接口启动应用 LaunchApp。详细的参数说明可参见 LaunchApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class LaunchAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    LaunchAppBody body = new LaunchAppBody();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1608456935646xxxxxx");

    // 指定实例 ID 列表执行应用启动任务。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7299381659819xxxxxx");
    body.setPodIdList(PodIdList);
    // 需要启动的应用包名或组件名,例如:
    // <li> 应用包名:com.example.appname </li>
    // <li> 组件名(缩写形式):com.example.appname/.MainActivity </li>
    // <li> 组件名(完整形式的 Activity):com.example.appname/com.example.appname.MainActivity </li>
    // <li> 组件名(完整形式的 Service):com.example.appname/com.example.appname.MainService </li>
    body.setPackageName("com.mt.mtxx.mtxx");

    try {
      LaunchAppRes resp = service.launchApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

批量启动应用 LaunchApps

您可以调用 LaunchApps 接口批量启动应用 LaunchApps。详细的参数说明可参见 LaunchApps 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class LaunchAppsDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    LaunchAppsBody body = new LaunchAppsBody();

    // 实例所归属的业务 ID。可通过调用 [ListPod](https://www.volcengine.com/docs/6394/75749) 接口获取。
    body.setProductId("73301***716136236");
    // 实例 ID。可通过调用 [ListPod](https://www.volcengine.com/docs/6394/75749) 接口获取。
    body.setPodId("73301074***6136236");

    // 包名列表,最大长度 20。可通过调用 [GetPodAppList](https://www.volcengine.com/docs/6394/658689) 接口获取。
    List<String> PackageNameList = new ArrayList<>();

    PackageNameList.add("com.android.settings");
    PackageNameList.add("com.android.documentsui1");
    body.setPackageNameList(PackageNameList);

    try {
      LaunchAppsRes resp = service.launchApps(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

安装应用 InstallApp

您可以调用 InstallApp 接口安装应用 InstallApp。详细的参数说明可参见 InstallApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class InstallAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    InstallAppBody body = new InstallAppBody();

    // 应用 ID,可通过调用 [ListApp](https://www.volcengine.com/docs/6394/1226894) 接口获取。
    body.setAppId("7278660795155xxxxxx");
    // 应用版本 ID,可通过调用 [ListApp](https://www.volcengine.com/docs/6394/1226894) 接口获取。
    body.setVersionId("7278660795155xxxxxx");
    // 业务 ID。
    // note:
    // 如不指定 PodIdList 及 TagIdList,则安装应用到业务下的所有实例。
    body.setProductId("1608456935646xxxxxx");

    // 指定实例 ID 列表进行应用安装。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7299381659819xxxxxx");
    body.setPodIdList(PodIdList);

    // 指定标签 ID 列表进行应用安装。可通过 [ListTag](https://www.volcengine.com/docs/6394/1221497) 获取。
    List<String> TagIdList = new ArrayList<>();

    TagIdList.add("test01");
    body.setTagIdList(TagIdList);
    // 应用安装类型:
    // <li> 0:(默认)机身存储独立安装(非共享) </li>
    // <li> 1:共享安装 </li>
    body.setInstallType(0);
    body.setIsPreinstall(false);

    try {
      InstallAppRes resp = service.installApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

批量安装应用 InstallApps

您可以调用 InstallApps 接口批量安装应用 InstallApps。详细的参数说明可参见 InstallApps 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class InstallAppsDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    InstallAppsBody body = new InstallAppsBody();

    // 业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    body.setProductId("1608456935646xxxxxx");
    // 指定实例 ID 进行应用安装。
    body.setPodId("7299381659819xxxxxx");

    // 待安装的应用列表。
    List<com.volcengine.model.acep.v20231030.RequestAppInfo> AppList =
      new ArrayList<>();

    com.volcengine.model.acep.v20231030.RequestAppInfo AppList1 =
      new com.volcengine.model.acep.v20231030.RequestAppInfo();

    AppList.add(AppList1);
    body.setAppList(AppList);
    // 应用安装类型:
    // <li> 0:(默认)机身存储独立安装(非共享) </li>
    // <li> 1:共享安装 </li>
    body.setInstallType(0);
    // 用于标记应用是否为预安装应用:
    // <li> true:是; </li>
    // <li> false:否。 </li>
    // 当标记某应用为预安装应用后,重置实例时可选择是否保留该应用及相关数据。具体参看 [ResetPod](https://www.volcengine.com/docs/6394/1221459) 接口的 PreInstallAppPersistedType 字段说明。
    body.setIsPreinstall(false);

    try {
      InstallAppsRes resp = service.installApps(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询应用信息列表 ListApp

您可以调用 ListApp 接口查询应用信息列表 ListApp。详细的参数说明可参见 ListApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class ListAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    ListAppQuery query = new ListAppQuery();

    // 业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("1591495366954xxxxxx");
    // 筛选条件,应用 ID。
    query.setAppId("7295222843434xxxxxx");
    // 筛选条件,应用名称。
    query.setAppName("test");
    // 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。
    // note:
    // 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
    query.setOffset((long) 0);
    // 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。
    // note:
    // 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
    query.setCount((long) 10);
    // 应用类型:
    // <li> 0:其他 </li>
    // <li> 1:视频 </li>
    // <li> 2:游戏 </li>
    // <li> 3:效率 </li>
    // <li> 4:办公 </li>
    query.setAppType(2);

    try {
      ListAppRes resp = service.listApp(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询应用版本部署信息列表 ListAppVersionDeploy

您可以调用 ListAppVersionDeploy 接口查询应用版本部署信息列表 ListAppVersionDeploy。详细的参数说明可参见 ListAppVersionDeploy 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class ListAppVersionDeployDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    ListAppVersionDeployQuery query = new ListAppVersionDeployQuery();

    // 业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("1591495366954xxxxxx");
    // 应用 ID,可通过调用 [ListApp](https://www.volcengine.com/docs/6394/1226894) 接口获取。
    query.setAppId("7291927828638xxxxxx");
    // 应用版本 ID,可通过调用 [ListApp](https://www.volcengine.com/docs/6394/1226894) 接口获取。
    query.setVersionId("7280422115605xxxxxx");

    try {
      ListAppVersionDeployRes resp = service.listAppVersionDeploy(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询应用信息 DetailApp

您可以调用 DetailApp 接口查询应用信息 DetailApp。详细的参数说明可参见 DetailApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class DetailAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DetailAppQuery query = new DetailAppQuery();

    // 业务 ID,可在**云手机控制台 > 业务管理 > 业务详情**中获取。
    query.setProductId("1591495366954xxxxxx");
    // 应用 ID,可通过调用 [ListApp](https://www.volcengine.com/docs/6394/1226894) 接口获取。
    query.setAppId("7291189096629xxxxxx");

    try {
      DetailAppRes resp = service.detailApp(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

卸载应用 UninstallApp

您可以调用 UninstallApp 接口卸载应用 UninstallApp。详细的参数说明可参见 UninstallApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class UninstallAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    UninstallAppBody body = new UninstallAppBody();

    // 业务 ID。
    // 如不指定 PodIdList 及 TagIdList,则对业务下所有实例进行应用卸载。
    body.setProductId("1608456935646xxxxxx");
    // 应用 ID,可通过调用 ListApp 接口获取。
    body.setAppId("7291927828638xxxxxx");

    // 指定实例 ID 列表进行应用卸载。单次接口调用最多支持对 1000 个实例进行应用卸载。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7299381659819xxxxxx");
    body.setPodIdList(PodIdList);

    // 指定标签 ID 列表进行应用卸载。
    List<String> TagIdList = new ArrayList<>();

    TagIdList.add("7287856160832xxxxxx");
    body.setTagIdList(TagIdList);

    try {
      UninstallAppRes resp = service.uninstallApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

上传应用 UploadApp

您可以调用 UploadApp 接口上传应用 UploadApp。详细的参数说明可参见 UploadApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class UploadAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    UploadAppBody body = new UploadAppBody();

    // 应用上传的目标业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    // warning
    // 若指定 AppMode 为 Private,则该参数必填。
    body.setProductId("1641133322660xxxxxx");
    // 应用 ID。
    // 如不指定,则自动生成;如指定,需保证应用 ID 在账号下唯一。
    body.setAppId("app01");
    // 应用名称,如不填写,则默认返回空值。
    body.setAppName("Chess");
    // 应用类型:
    // <li> 0:其他 </li>
    // <li> 1:视频 </li>
    // <li> 2:游戏 </li>
    // <li> 3:效率 </li>
    // <li> 4:办公 </li>
    body.setAppType(2);
    // 应用的横竖屏:
    // <li> 0:竖屏 </li>
    // <li> 270:横屏 </li>
    body.setRotation(0);
    // 上传方式,目前仅支持设为 0,即 HTTP 下载地址。
    body.setUploadType(0);
    // 应用下载 URL 地址。
    body.setDownloadUrl(
      "https://mybucketxxx.tos-cn-beijing.volces.com/chess.apk"
    );
    // 应用描述。
    body.setAppDesc("棋类游戏");
    // 应用文件解析类型:
    // <li> 0,解析;前向兼容,默认解析并且转存到火山引擎对象存储 </li>
    // <li> 1,不解析,透传地址,不转存到火山引擎对象存储 </li>
    body.setParseFlag(0);
    com.volcengine.model.acep.v20231030.RequestAppUploadExtra ExtraInfo =
      new com.volcengine.model.acep.v20231030.RequestAppUploadExtra();

    body.setExtraInfo(ExtraInfo);
    // 应用可安装范围:
    // <li> Public:应用设为共享模式,允许在同一个账户下不同业务的实例中安装; </li>
    // <li> Private:默认设置,应用设为非共享模式,仅允许在某一业务的实例中安装。 </li>
    body.setAppMode("Public");

    try {
      UploadAppRes resp = service.uploadApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

修改应用 UpdateApp

您可以调用 UpdateApp 接口修改应用 UpdateApp。详细的参数说明可参见 UpdateApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class UpdateAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    UpdateAppBody body = new UpdateAppBody();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1641133322660xxxxxx");
    // 应用 ID,可通过调用 ListApp 接口获取。
    body.setAppId("7291189096629xxxxxx");
    // 应用名称。
    body.setAppName("球球大作战A");
    // 应用横竖屏设置:
    // <li> 0:竖屏 </li>
    // <li> 270:横屏 </li>
    body.setRotation(270);
    // 应用描述。
    body.setAppDesc("小游戏应用");
    // 修改应用生效范围。调用 [UploadApp](https://www.volcengine.com/docs/6394/1262199) 时设置的应用可安装范围可通过该参数进行修改。
    // 当前仅支持将 Private 应用修改为 Public 应用,即将非共享应用修改为账号下多业务可共享的应用。若无需修改,则该参数可置空。
    body.setAppMode("Public");

    try {
      UpdateAppRes resp = service.updateApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

自动下载安装应用 AutoInstallApp

您可以调用 AutoInstallApp 接口自动下载安装应用 AutoInstallApp。详细的参数说明可参见 AutoInstallApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class AutoInstallAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    AutoInstallAppBody body = new AutoInstallAppBody();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1608456935646xxxxxx");
    // 下载应用安装文件的地址。
    // 使用机身存储独立安装,即 InstallType 设为 0 时必填。
    body.setDownloadURL("http://www.example.com/cloudphone/app_name.apk");

    // 指定实例 ID 列表进行应用安装。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7299381659819xxxxxx");
    body.setPodIdList(PodIdList);
    // <li> InstallType 为 0 时,传入应用安装文件的 MD5 值,必须与下载的应用安装文件匹配。 </li>
    // <li> InstallType 为 1 时,传入镜像包的 MD5 值。 </li>
    body.setMD5("d0d106880f7eda0666dc5e90afxxxxxx");
    // 应用包名。InstallType 为 1 时必填。
    body.setPackageName("com.abc.tmp.app");
    // <li> InstallType 为 0 时:选填。应用在实例中的绝对路径。当指定了该参数时,优先使用实例中的安装包路径安装应用,否则使用下载链接进行安装。 </li>
    // <li> InstallType 为 1 时:必填。应用镜像存储的根目录,如 /ceph,/apkserver,/data/app-image </li>
    body.setAbsolutePath("/data/local/tmp/app_name.apk");
    // 镜像包 ID。InstallType 为 1 时必填。示例:com.abc.tmp.app_ddfklidkfa,其中 “ddfklidkfa” 为镜像包 MD5 值。
    body.setImageId("com.abc.tmp.app_ddfklidkfa");
    // 应用安装方式:
    // <li> 0:(默认值)机身存储独立安装; </li>
    // <li> 1:应用镜像安装。 </li>
    body.setInstallType(0);
    // 应用版本号。InstallType 为 1 时必填。
    body.setVersionCode(1);
    // 用于标记该应用是否为预安装应用:
    // <li> true:是; </li>
    // <li> false:否。 </li>
    // 当标记某应用为预安装应用后,重置实例时可选择是否保留该应用及相关数据。具体参看 [ResetPod](https://www.volcengine.com/docs/6394/1221459) 接口的 PreInstallAppPersistedType 字段说明。
    body.setIsPreinstall(false);

    try {
      AutoInstallAppRes resp = service.autoInstallApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

删除应用 DeleteApp

您可以调用 DeleteApp 接口删除应用 DeleteApp。详细的参数说明可参见 DeleteApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class DeleteAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    DeleteAppBody body = new DeleteAppBody();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1608456935646xxxxxx");
    // 应用 ID,可通过调用 ListApp 接口获取。
    body.setAppId("7291927828638xxxxxx");

    try {
      DeleteAppRes resp = service.deleteApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

关闭应用 CloseApp

您可以调用 CloseApp 接口关闭应用 CloseApp。详细的参数说明可参见 CloseApp 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;
import java.util.ArrayList;
import java.util.List;

public class CloseAppDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    CloseAppBody body = new CloseAppBody();

    // 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
    body.setProductId("1608456935646xxxxxx");

    // 指定实例 ID 列表执行应用关闭任务。
    List<String> PodIdList = new ArrayList<>();

    PodIdList.add("7299381659819xxxxxx");
    body.setPodIdList(PodIdList);
    // 需要关闭的应用包名。
    body.setPackageName("com.mt.mtxx.mtxx");

    try {
      CloseAppRes resp = service.closeApp(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询应用崩溃 GetAppCrashLog

您可以调用 GetAppCrashLog 接口查询应用崩溃 GetAppCrashLog。详细的参数说明可参见 GetAppCrashLog 接口文档。

接口调用示例如下所示。

package com.volcengine.ACEP.demo;

import com.volcengine.model.acep.*;
import com.volcengine.service.acep.ACEPService;

public class GetAppCrashLogDemo {

  public static void main(String[] args) {
    // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
    ACEPService service = ACEPService.getInstance();

    service.setAccessKey(System.getenv("VOLC_ACCESSKEY"));

    service.setSecretKey(System.getenv("VOLC_SECRETKEY"));

    GetAppCrashLogQuery query = new GetAppCrashLogQuery();

    // 可在「云手机控制台-业务管理-业务详情」中获取。
    query.setProductId("1608456935646xxxxxx");
    // 查询起始时间,秒级时间戳。
    query.setStartTime((long) 1649399462);
    // 查询结束时间,秒级时间戳。
    query.setEndTime((long) 1649399462);

    try {
      GetAppCrashLogRes resp = service.getAppCrashLog(query);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}