function ShellWrapper() { } var shell = new ShellWrapper(); /** * 安装 apk *
* 运行环境: 代理模式 *
* 兼容版本: Android 4.4 以上 * * @param path 文件路径 * @return {boolean} true 代表安装成功,false 代表安装失败 */ ShellWrapper.prototype.installApp = function (path) { if (shellWrapper == null) { return null; } return shellWrapper.installApp(path); }; /** * 卸载应用程序 *
* 运行环境: 代理模式 *
* 兼容版本: Android 4.4 以上 * * @param packageName 应用程序的包名 * @return {boolean} true 代表卸载成功,false 代表卸载失败 */ ShellWrapper.prototype.uninstallApp = function (packageName) { if (shellWrapper == null) { return null; } return shellWrapper.uninstallApp(packageName); }; /** * 停止正在执行的应用 *
* 运行环境: 代理模式 *
* 兼容版本: Android 4.4 以上 * * @param packageName 应用程序的包名 * @return {boolean} true 代表成功,false 代表失败 */ ShellWrapper.prototype.stopApp = function (packageName) { if (shellWrapper == null) { return null; } return shellWrapper.stopApp(packageName); }; /** * 执行Shell命令 *
* 运行环境: 无限制 *
* 兼容版本: Android 4.4 以上 * * @param command 命令,例如安装App : pm install /sdcard/app.apk * @return {null|string} 命令执行后返回的字符串结果 */ ShellWrapper.prototype.execCommand = function (command) { if (shellWrapper == null) { return null; } var x = shellWrapper.execCommand(command); return javaString2string(x); }; /** * 执行root模式下,相关的命令,需要有root权限 * 运行环境: 无限制 * @param command 命令 * @return {null|string} */ ShellWrapper.prototype.sudo = function (command) { if (shellWrapper == null) { return null; } var x = shellWrapper.sudo(command); return javaString2string(x); }; /** * 请求授予root权限 * 运行环境: 无限制 * @return {boolean} true代表有root权限 */ ShellWrapper.prototype.su = function () { if (shellWrapper == null) { return null; } return shellWrapper.su(); }; /** * 新增root命令 * 运行环境: 无限制 * @param cmd 新的命令 * @return {boolean} true */ ShellWrapper.prototype.addSuBin = function (cmd) { if (shellWrapper == null) { return null; } return shellWrapper.addSuBin(cmd); }; /** * 执行shell命令 *
* 运行环境: 代理模式,需要启动代理服务 *
* 兼容版本: Android 4.4 以上 * @param command 命令字符串 * @return {null|string} shell结果 */ ShellWrapper.prototype.execAgentCommand = function (command) { if (shellWrapper == null) { return null; } var x = agentEventWrapper.execShellCommand(command); return javaString2string(x); }; /** * 执行shell - Shizuku命令 *
* 运行环境: 代理模式,需要启动代理服务 *
* 支持EC 9.9.0 * @param command 命令字符串 * @return {null|string} shell结果 */ ShellWrapper.prototype.execShizukuCommand = function (command) { if (shellWrapper == null) { return null; } var x = shellWrapper.execShizukuCommand(command); return javaString2string(x); }; /** * Shizuku服务是否正常 * 支持EC 9.9.0 * @return {boolean} true代表支持 false代表不正常 */ ShellWrapper.prototype.isShizukuOk = function () { if (shellWrapper == null) { return null; } var x = shellWrapper.isShizukuOk(); return javaString2string(x); }; /** * 执行shell命令,包含正常和错误结果,返回的是JSON数组,自己判断正确还是错误 *
* 适合EC 7.6.0+ 版本 * 运行环境: 代理模式 *
* 兼容版本: Android 4.4 以上 * * @param command 命令字符串 * @return {null|JSON} JSON数组 shell结果 */ ShellWrapper.prototype.execAgentCommandEx = function (command) { if (agentEventWrapper == null) { return; } let d = agentEventWrapper.execShellCommandEx(command); if (d != null) { try { return JSON.parse(d) } catch (e) { } } return d; };