android app代码中执行adb指令

这篇具有很好参考价值的文章主要介绍了android app代码中执行adb指令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方案1:使用Runtime类

    /**
     * 执行命令并且输出结果
     */
    public static String execRootCmd(String cmd) {
        String content = "";
        try {
            cmd = cmd.replace("adb shell","");
            Process process = Runtime.getRuntime().exec(cmd);
            Log.d(TAG,"process " + process.toString());
            content = process.toString();
        } catch (IOException e) {
            Log.d(TAG,"exception " + e.toString());
            e.printStackTrace();
        }
        return content;
    }

方案二、文章来源地址https://www.toymoban.com/news/detail-525388.html

class Cmd {
    private val TAG = "Cmd"
    
    val result = StringBuilder()
    
    fun run(cmd: String): Boolean {
        var bufferedReader: BufferedReader? = null
        var dos: DataOutputStream? = null
        var receive = ""
    
        try {
            Runtime.getRuntime().exec("su")?.run { // 经过Root处理的android系统即有su命令
                Logger.d("Cmd run: $cmd")
                bufferedReader = BufferedReader(InputStreamReader(inputStream))
                dos = DataOutputStream(outputStream).apply {
                    writeBytes(cmd + "\n")
                    flush()
                    writeBytes("exit\n")
                    flush()
                }
             
                bufferedReader?.run {
                    while (readLine().also { receive = it } != null) {
                        result.append("\n").append(receive)
                    }
                }
               
                waitFor()
            }
        } catch (e: Exception) {
            return false
        }
    
        try {
            dos?.close()
            bufferedReader?.close()
        } catch (e: Exception) {
            return false
        }
    
        return true
    }
}
Cmd().run("pm install -r $basePath/APK/$apkName.apk")//静默安装

到了这里,关于android app代码中执行adb指令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【解决】android设备有root权限,执行“adb disable-verity”命令报错“verity cannot be disabled/enabled - USER build”

    这个错误提示意味着你的设备是使用USER版本的固件构建的,这个版本不允许禁用verity功能。但是,你可以尝试以下步骤来解决问题: 确认你的设备是否已经root,可以通过执行“adb root”命令来检查。 确认你的设备是否已经启用了开发者选项,可以在设备设置中找到“开发者

    2024年02月03日
    浏览(128)
  • adb命令丨adb push命令大全_adb操控手机和指令

    【ADB命令】adb push命令总结 adb push命令大全操控手机和指令 运行在 Android 设备上的adb后台进程 执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep [xuxu:~]$ adb shell ps | grep adbd root 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd adb连接手机进行调试有两种方式,一

    2024年02月15日
    浏览(8)
  • Java 代码执行本地命令

    by emanjusaka from https://www.emanjusaka.top/2024/03/java-exec-local-command 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 我们可以在命令行中执行各种命令,比如,创建文件、查看文件夹下文件、调用第三方工具等等。 如果想在 java 代码中执行命令应该怎么操作呢?我

    2024年03月18日
    浏览(9)
  • Android adb shell 查看App内存(java堆内存/vss虚拟内存/详细的内存状况/内存快照hprof)和系统可用内存

    Android adb shell 查看App内存(java堆内存/vss虚拟内存/详细的内存状况/内存快照hprof)和系统可用内存

    1.adb shell 获取app 进程的pid 根据某个渠道包,去查询对应的pid,如下所示: 2.通过adb shell 查看设备的java dalvik 堆内存的最大值 执行命令行: 若是app进程中java heap(dalvik heap size) 堆内存超过384m 就会抛出oom. 若是app mainfest.xml 中设置了largeHeap=“true”,则app 进程dalvik heap limit 对应

    2024年02月15日
    浏览(10)
  • 命令行编译和执行java代码

    虽然现在IDE很强大又很智能,但是平常随意写点练手的代码的时候,直接在命令行中使用vim和java命令更为方便快捷,可以做到无鼠标纯键盘的操作。 首先保证将java相关指令添加到了环境变量中; 1.编译class文件: 编译好的class文件会放置到环境当前目录 (./)中。-d命令的作用

    2024年02月02日
    浏览(12)
  • 执行adb指令报错:error: more than one device/emulator解决办法

    进行安卓设备的测试过程中,执行adb指令可能会遇到一些小错误,若是报错:error: more than one device/emulator,是因为我们有多个设备连接了电脑,解决办法很简单,只需要我们指定执行设备就可以了,连接安卓设备后进入终端输入: 设备序列号要是不清楚,可以输入: 进行获

    2024年02月13日
    浏览(11)
  • adb 命令行执行单元测试

    adb 命令行执行单元测试

    可参考教程:Mac配置ADB环境变量 adb在我们配置 Android Studio 时 安装的 AndroidSDK 的 platformTools 目录中,所以我们首先要找到 adb 所在目录,就在sdk目录下面。在Project Structure中,找到SDK安装路径. ADB的目录就在 上面目录的 platform-tools中 直接终端编辑 bash_profile 文件,配置环境变量

    2024年02月14日
    浏览(13)
  • Android 使用adb操作WiFi相关指令

    没有系统原生设置应用又需要调试WiFi功能时,可以使用如下指令来验证WiFi相关功能 最常用的就是 svc wifi enable/disable,再使用wpa_supplicant/wpa_cli来验证,但对于AP功能就没办法验证了,其实Android有组很强大的shell指令集,包含各个方便,这里只记录下平时使用的WiFi相关指令 1、

    2024年03月17日
    浏览(11)
  • Android Debug Bridge(ADB)常用指令记录

    Android Debug Bridge(ADB)是用于在计算机和 Android 设备之间进行通信和调试的命令行工具。它提供了一组命令,可以帮助执行各种与 Android 设备相关的操作,如安装应用程序、调试应用程序、访问设备的文件系统等。 拿Windows系统来说,下载及安装好后将安装目录添加至环境变量

    2024年02月01日
    浏览(14)
  • 使用adb命令启动app

    使用adb命令启动app

    1.获取应用包名:(方法各异自行选择) 2.获取正在运行应用的activity:     3.启动应用 4.巧用monkey启动应用并输出activity  

    2024年02月12日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包