Android Java 调用linux 命令

Android-Shell:在Android上执行Linux命令 Android外壳 在android上执行Linux命令是一种高级方法,可用于访问手机中受限制的功能,例如,您无法直接从编程中获得这些功能; 录制屏幕,删除损坏的文件,获取系统信息,进程,硬件信息。 除非您拥有根设备,否则有些命令将不起作用。 为此,我们可以通过打开另一个使用shell或使用库来处理所有极端情况的进程来直接实现它。 另外,如果需要,它可以是交互式的。 直接法 该方法直接访问系统命令文件app,例如echo; ls; pwd; ..等,并为其提供一个参数。 它把整个输入视为1个参数。 例如:此代码片段仅是ss卡,然后将结果返回到变量中。 try { // Executes the command. Process process = Runtime.getRuntime().exec("/system/bin/ls /sdcard"); // Re 立即下载

方法1: copy from RootExplorer怎么样获取root权限的

ProcessBuilder pb = new ProcessBuilder("/system/bin/sh"); 
//java.lang.ProcessBuilder:  Creates operating system processes. 
pb.directory(new File("/"));//设置shell的当前目录。   
try {  
    Process proc = pb.start();  
    //获取输入流,可以通过它获取SHELL的输出。   
    BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));  
    BufferedReader err = new BufferedReader(new InputStreamReader(proc.getErrorStream()));  
    //获取输出流,可以通过它向SHELL发送命令。   
    PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc  
                    .getOutputStream())), true);  
    out.println("pwd");  
    out.println("su root");//执行这一句时会弹出对话框(以下程序要求授予最高权限...),要求用户确认。   
    out.println("cd /data/data");//这个目录在系统中要求有root权限才可以访问的。   
    out.println("ls -l");//这个命令如果能列出当前安装的APK的数据文件存放目录,就说明我们有了ROOT权限。   
    out.println("exit");  
    // proc.waitFor();   
    String line;  
    while ((line = in.readLine()) != null) {  
        System.out.println(line);   // 打印输出结果
    }  
    while ((line = err.readLine()) != null) {  
        System.out.println(line);  // 打印错误输出结果
    }  
    in.close();  
    out.close();  
    proc.destroy();  
} catch (Exception e) {  
    System.out.println("exception:" + e);  
}  

方法二:copy from http://code.google.com/p/superuser/

   File superuser = new File("/system/bin/superuser");  
    
   if (superuser.exists())
   {
    // return device to original state
    Process process = Runtime.getRuntime().exec("superuser");
    DataOutputStream os = new DataOutputStream(process.getOutputStream());    
    os.writeBytes("mount -oremount,rw /dev/block/mtdblock3 /system\n");
    os.writeBytes("busybox cp /system/bin/superuser /system/bin/su\n");
    os.writeBytes("busybox chown 0:0 /system/bin/su\n");
    os.writeBytes("chmod 4755 /system/bin/su\n");
    os.writeBytes("rm /system/bin/superuser\n");
    os.writeBytes("exit\n");
    os.flush();
   }



 

Android下用Exec执行linux命令的源代码 Android下用Exec执行linux命令的源代码,还可以在应用中执行init.rc中服务,具体怎么执行服务的方法请见我博客的另一篇文章,上面有如何让Android应用启用init.rc中定义的服务的方法。 立即下载

相关推荐

Android执行shell命令(转)

NULL 博文链接:https://huangwenhui5000.iteye.com/blog/1812310

一行java代码就可以执行android系统操作命令

开发过程中,偶尔会遇到需要在代码中执行一些系统的操作命令,比如执行linux命令等,Runtime.getRuntime().exec()函数就可以让你在代码中执行系统的操作命令

白小纯的博客 1546

Android中执行java命令的方法及java代码执行并解析shell命令

给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习

在android下使用linux命令

2,在https://busybox.net/下载中,Download Binaries,查找最新版本的defconfig-multiarch-musi文件,再找到对应版本,当前对应使用 v7l,下载后备用。参考https://blog.youkuaiyun.com/cfy137000/article/details/115160014。按直接操作的方式没有成功,所以先进入系统里新建了一个目录 busybox,再复制进去。当前设备为rk3288,架构为v7a。1,查看本机的CPU架构。使system可读写。

wjhx的专栏 651

RK3588 EVB开发板原理图讲解【六】

该原理图展示了eMMC Flash与主控芯片之间的连接关系,以及相关的电源、信号线路和去耦电容等。

weixin_48721556的博客 1165

AlphaFold-multimer 复合物结构预测

是DeepMind开发的AlphaFold项目的一个扩展,旨在预测蛋白质多聚体的三维结构。蛋白质多聚体是由多个蛋白质亚单位相互组装而成的结构,如酶、膜蛋白复合物和病毒颗粒。理解多聚体的结构对于揭示蛋白质的功能和相互作用非常重要。

MurphyStar的博客 5646

安卓开发执行linux命令,android开发之执行命令,文件操作(linux)

public void shellExec() {Runtime mRuntime = Runtime.getRuntime(); //执行命令的方法try {//Process中封装了返回的结果和执行错误的结果Process mProcess = mRuntime.exec("ls -l"); //加入参数//使用BufferReader缓冲各个字符,实现高效读取//InputStreamRea...

weixin_39547298的博客 278

香橙派5玩转SATA SSD:一个被忽略的overlays配置项,让你的Ubuntu系统飞起来

本文详细介绍了如何在香橙派5上通过配置`overlays=ssd-sata`启用SATA SSD作为系统启动盘,大幅提升Ubuntu系统的性能。文章深入解析了设备树覆盖的工作原理,提供了完整的配置流程和性能优化建议,帮助开发者充分发挥香橙派5的硬件潜力。

weixin_30787531的博客 219

android java代码调用linux命令续

使用linux命令首先要获得root,执行命令时记得加上 busybox  。一般我们在用java IO的基本方法不能把文件放到usb文件,可以用linux命令来做。 ProcessBuilder pb = new ProcessBuilder("/system/bin/sh"); //java.lang.ProcessBuilder:  Creates operating syst

dahuaishu2010_的专栏 6939

K2P padavan固件下宽带与IPTV融合

举例说下,假如你的IPTV是拨号的,IPTV端口直接连到笔记本电脑的网口,IP是自动分配的情况下,在VLC里面是可以直接播放“rtp://239.XXX.XXX.XXX:XXXX”的,即使IPTV是DHCP模式,按道理也是可以播放的。家里很少看电视,基本上就是看看春晚,然后平时老人在家没事看看,所以就把广电的机顶盒停掉了,换了一个N1的盒子刷了CoreELEC系统,既可以通过m3u8文件看网络电视,也可以看本地的多媒体,很方便,完全满足了自己的需求。在上图的第三步中,端口设置成大于1024的端口即可。

aplsc的专栏 63万+

地心地固坐标系与北天东坐标系的转换

经过这一步旋转,x3轴和y3轴就处在过O3点的经度线所在的平面了,而且z3轴指向了东。将图3的坐标系旋转成图2的样子。这里需要多次旋转,每次以某个轴为对称轴进行旋转,对应的坐标变换参考。的原点在地心,Z轴指向北极点,X轴指向本初子午线与赤道的交点,Y轴指向符合右手定则,如下图所示。下面实现地心地固坐标系到北天东坐标系的转换,问题描述为:设一点。以y1轴为对称轴,顺时针旋转90°,得到图4的样子。,X轴指向北,Y轴指向天,Z轴指向东,如下图所示。因此,北天东坐标下的坐标为。点在图3坐标系下的坐标。

csdnqixiaoxin的博客 3555

在 Android 中执行 Linux 终端命令

Android 作为 linux 的分支之一,同时也支持 linux 的一些基本终端命令,并且在 Andriod 应用中使用终端命令可以实现一些 Android API 中没有提供的功能。使用 Java 接口执行终端命令Android 本身并没有提供执行终端命令的接口,若要在应用中执行终端命令,需要用到 Java 提供的与系统进行交互的接口。Java 提供了 ProcessBuilder().com

u012485942的专栏 1万+

混合精度训练与推理:平衡性能与效率

在深度学习领域,模型的训练和推理通常需要大量的计算资源和时间。随着模型规模的不断增大,如大型语言模型、复杂的视觉模型等,对计算资源的需求也呈指数级增长。混合精度训练与推理技术应运而生,它通过在训练和推理过程中同时使用不同精度的数据类型,在保证模型性能的前提下,显著提高计算效率,减少内存占用。本文的目的是全面介绍混合精度训练与推理技术,包括其原理、实现方法、应用场景以及相关工具和资源,帮助读者深入理解并掌握该技术,从而在实际项目中更好地平衡性能与效率。

操作系统内核探秘的博客 1068

Android开发:java程序调用linux命令(高级)

DefyPrcHelper国行2.3.4ROM小问题修复工具     最近手机升级到了2.3.4(moto大发慈悲);用着还好,但是也有些用户体验不好的地方,比如相机不能静音,(我邪恶了?),键盘灯太亮等等,故此 做 了这个小应用.     主要软件功能:    +消除恢复照相机摄像机声音    +去除创建联系人以外崩溃的Bug(当然如果遇到其他问题,实际是disable

Peter的专栏 2302

YOLOv13|损失函数优化篇:Focal EIOU 保持良好性能的同时,提供更高效的计算和更稳定的训练过程-包源码

Focal IoU与EIoU:目标检测中的损失函数优化 摘要:本文深入探讨了目标检测中两种重要的边界框回归损失函数优化方法。Focal IoU借鉴Focal Loss思想,通过(1-IoU)^γ因子调节损失权重,使模型更关注难样本(低IoU预测框),有效解决了传统IoU Loss对难易样本权重相同的问题。EIoU则在CIoU基础上改进,通过简化长宽比计算、分离宽高损失项,提升了计算效率和训练稳定性。两种方法分别从样本权重分配和损失函数结构优化角度,显著提升了目标检测性能,为实际应用提供了更高效的解决方案。文

FJN110的博客 1864

【网络与爬虫 61】移动端App爬虫终极指南:Android-iOS应用数据提取黑科技全解析

本文全面解析移动端App爬虫技术,涵盖Android和iOS两大平台的数据提取方法。从基础的网络抓包到高级的代码注入,从自动化测试框架到反调试技术绕过,为开发者提供移动端数据采集的完整解决方案和实战经验。

熵数实验室 3023

android java获得root权限调用linux命令

这段代码演示了如何在Java代码里,通过调用su命令来临时修改某些文件的访问权限  Runtime ex = Runtime.getRuntime();  String cmdBecomeSu = "su";  String script = "busybox chmod a+rw /dev/pmem";  try{  java.lang.Process runsum = ex.exec

wind的专栏 4864

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

在 Android 中调用二进制可执行程序(native executable )

前几天有需要在java代码中调用二进制程序,就在网上找了些资料,写点东西记录下。 Android 也是基于linux 的系统,当然也可以运行二进制的可执行文件。只不过Android 限制了直接的方式只能安装运行apk文件。虽然有NDK可以用动态链接库的方式来用C的二进制代码,但毕竟不方便。至少我们可以调用linux的一些基本命令,如ls,rm等。 第一种方法:Runtime.exec

Android 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

在 Android 中调用二进制可执行程序(native executable )-- 在代码中执行shell命令

前几天有需要在java代码中调用二进制程序,就在网上找了些资料,写点东西记录下。 Android 也是基于linux 的系统,当然也可以运行二进制的可执行文件。只不过Android 限制了直接的方式只能安装运行apk文件。虽然有NDK可以用动态链接库的方式来用C的二进制代码,但毕竟不方便。至少我们可以调用linux的一些基本命令,如ls,rm等。第一种方法:Runtime.exec(Str

xiangyong2008的专栏 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android java linux_Android开发:java程序调用linux命令(高级)

DefyPrcHelper国行2.3.4ROM小问题修复工具最近手机升级到了2.3.4(moto大发慈悲);用着还好,但是也有些用户体验不好的地方,比如相机不能静音,(我邪恶了?),键盘灯太亮等等,故此做了这个小应用.主要软件功能:+消除恢复照相机摄像机声音+去除创建联系人以外崩溃的Bug(当然如果遇到其他问题,实际是disable "BlurContactsSync.apk";+直接没有发现...

weixin_42342206的博客 332

java linux root权限管理_android java获得root权限调用linux命令

Runtime ex = Runtime.getRuntime();String cmdBecomeSu = "su";String script = "busybox chmod a+rw /dev/pmem";try{java.lang.Process runsum = ex.exec(cmdBecomeSu);int exitVal = 0;final OutputStreamWriter ...

weixin_35615475的博客 201
上一篇: 动态库so打包到android apk
下一篇: Android电源管理
jackie_gnu
博客等级 码龄16年 3粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值