package com.iaiai;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
/**
*
* <p>
* Title: MainActivity.java
* </p>
* <p>
* E-Mail: 176291935@qq.com
* </p>
* <p>
* QQ: 176291935
* </p>
* <p>
* Http: iaiai.iteye.com
* </p>
* <p>
* Create time: 2011-10-11
* </p>
*
* @author 丸子
* @version 0.0.1
*/
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
runRootCommand("ls");
}
public static boolean runRootCommand(String command) {
Process process = null;
DataOutputStream os = null;
try {
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(
process.getInputStream()));
// BufferedReader br = new BufferedReader(new InputStreamReader(
// process.getErrorStream())); //如果出错用这个输出一下看结果,一定要获取root权限才可以执行
String line = null;
while ((line = br.readLine()) != null) {
Log.d("*********", line);
}
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
Log.d("*********",
"the device is not rooted, error message: "
+ e.getMessage());
return false;
} finally {
try {
if (os != null) {
os.close();
}
if (process != null) {
process.destroy();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return true;
}
}
分享到:
相关推荐
标题"android应用获得执行root权限动作__socket_service"表明我们要讨论如何在Android应用中通过Socket服务来实现root权限的获取。这种方式通常涉及到创建一个在系统层面运行的服务,该服务具有root权限,并通过...
1. **获取root权限**:首先,你的应用程序或服务需要获得设备的root权限。root权限允许访问系统级别的文件和功能,包括控制其他应用的安装和卸载。 2. **使用adb工具**:在开发环境中,可以使用Android Debug ...
在Android系统中,截图是日常操作之一,但有些高级功能,比如全局截屏或自定义截屏区域,可能需要root权限才能实现。本教程将深入探讨如何在Android设备上创建一个需要root权限的截图程序,这涉及到Android系统级别...
由于Android系统的安全机制,大多数应用程序没有root权限,因此不能直接使用tcpdump工具进行抓包。然而,通过一些特殊的技术手段,我们可以在非root的Android设备上实现抓包功能。 首先,理解tcpdump的运行需求。...
系统权限则更为特殊,它们涉及到更核心的操作,例如读取或修改系统设置,只有系统应用或已获取root权限的程序才能使用。 在Android中,修改系统时间需要`SYSTEM_TIME`权限,这是一个系统级别的权限。在正常的开发...
在Android应用程序中检查和获取ROOT权限主要涉及以下几个步骤: 1. **检测已有的ROOT权限**: 为了确定设备是否已经具备ROOT权限,可以编写一个简单的函数,如`is_root()`。这个函数通过检查是否存在 `/system/bin...
每个应用程序都有自己的运行环境,称为沙箱,这限制了应用之间的相互影响。当安装APK时,系统会检查应用所需的权限,并在安装过程中显示给用户,让用户决定是否接受。 2. **静默安装原理**: 静默安装主要通过绕过...
在Android系统中,安装和卸载应用程序是用户日常操作的一部分。传统的APK安装通常需要设备具有管理员权限,也就是我们常说的Root权限。然而,有些情况下,用户可能希望在不Root设备的情况下安装APK,这在Android开发...
AnLinux是一款允许用户在Android设备上免Root安装完整Linux环境的应用程序。它为用户提供了在移动设备上运行Linux发行版的能力,而无需对设备进行Root权限获取。 #### 二、AnLinux的特点 1. **免Root安装**:...
在本文中,我们将探讨如何在不获取Android设备Root权限的情况下实现静默安装APK。 静默安装APK的方法主要分为两种:通过Adb(Android Debug Bridge)和通过自定义服务。Adb是Android开发工具包中的一个重要组成部分...
4. **使用替代方法**:如果只是想执行特定命令,可以寻找其他不需要root权限的替代方案,如使用Adb或通过Android Debug Bridge执行命令。 总的来说,直接修改`/system/bin/cmd`的权限并不是一个推荐的做法,因为它...
在Android系统中,静默...总之,静默安装与自动重启在Android设备上需要root权限支持,并涉及shell脚本编写、包管理器操作以及可能的设备重启控制。虽然这能带来一定的便利性,但务必谨慎处理,遵循安全和合规的原则。
- Android设备通常需要root权限才能直接访问串口,对于非root设备,可能需要依赖特定的USB转串口驱动或串口服务器。 - 波特率、数据位、奇偶校验、停止位等参数需要正确设置以匹配通信设备。 - 考虑到线程同步,...
本资源“安卓截图截屏相关-关于android全屏截图无需root无状态栏.rar”提供了一种方法,允许用户在不获取设备root权限的情况下实现全屏截图,并且能够隐藏状态栏,从而得到更加纯净的屏幕快照。 首先,让我们了解...
在编写这类代码时,应遵循最佳实践,如使用异步任务防止UI冻结,并确保在不需要root权限时及时释放。 8. **系统签名和权限**: 对于系统应用或者需要修改系统级别的权限,还需要考虑系统签名和权限问题。Android...
3. **无需root权限**:Termux的一大优点是它不需要设备具有root权限即可运行,这意味着大多数Android设备都可以使用它。 4. **自定义环境**:用户可以通过配置`.bashrc`或`.zshrc`等文件来定制自己的Shell环境,...
Qt是Qt Company开发的一个跨平台的C++图形用户界面应用程序开发框架。它包含了丰富的库,支持多种操作系统,如Windows、Linux、macOS等,并且提供了大量的API用于构建图形用户界面和处理底层系统交互。在这个项目中...
通过学习和理解这个Demo,开发者可以自行编写静默卸载的应用程序或脚本,但需要注意的是,这种操作可能会破坏应用数据,且不被Google官方推荐,因为它可能涉及用户隐私和安全问题。 总的来说,静默卸载是一项需要...
Android系统基于Linux内核,分为应用程序层、应用程序框架层、系统库和服务层以及Linux内核层。在讨论底层记录用户输入时,我们主要关注的是Linux内核层和系统库层,因为这两层处理硬件交互和输入事件。 2. **...
本项目主要介绍如何利用Java编写一个简单的应用程序,结合Xposed框架,在不需root权限的情况下解锁引导加载程序或修改系统行为。这种方式为开发者提供了便利,避免了对设备进行深度修改的风险。 Xposed是一个强大的...