如果要在java程序里执行一条linux可以用下面的写法,android中也类似
- Process process = Runtime.getRuntime().exec(cmd);
- process.waitFor(); //让该process 阻塞
但是当遇到像cd这样的命令时,上面的这种写法切不管用,很多时候我们以为是命令输错了或是文件找不到。
现在提供一种新的执行命令方法:
Process proc = null;
try {
proc = Runtime.getRuntime().exec("/system/bin/sh", null, new File("/system/bin")); // android中使用
// proc = Runtime.getRuntime().exec("/bin/bash", null, new File("/bin")); //Linux中使用
// 至于windows,由于没有bash,和sh 所以这种方式可能行不通
Log.d("","");
} catch (IOException e) {
e.printStackTrace();
}
if (proc != null) {
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);
out.println("cd /data/data/com.vatata.atest.commandexecute");
out.println("pwd");
out.println("pwd");
out.println("pwd");
out.println("cd /");
out.println("ls -l");
// out.println("exit");
try {
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
Log.d("command", line);
}
// proc.waitFor(); //上面读这个流食阻塞的,所以waitfor 没太大必要性
in.close();
out.close();
proc.destroy();
} catch (Exception e) {
e.printStackTrace();
}
}
附上源码吧,可以看看,希望对需要的人有点帮助
<!--EndFragment-->
分享到:
相关推荐
android adb shell 命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --...
tranformer-app是一个Android应用程序,已对其应用了插件,并且还使用了库项目。 前两个模块可以使用以下命令安装在本地Maven存储库中: cd transformer-libs ./gradlew install 安装这些工具后,他们就可以参与...
然后,将 android123.apk 文件复制到 Android SDK 的 Tools 目录中(点击下载 Android123.apk 文件),使用 cmd 的 cd 命令定位到 Android 模拟器目录 Tools 中,执行 adb install android123.apk 命令,这时模拟器...
� 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...
此代码旨在展示如何在 Android 应用程序中使用 C++。 工具: Eclipse ADT 安卓 SDK 10(2.3.3) NDK r9d 脚步: 下载源码; 使用终端,启动命令行: $ cd AndroidCPlusPlus/jni $ndk-build -B -j4 将项目...
如下所有步骤及说明均为 React Native Android 的 DIY,涉及命令均为 Ubuntu 环境,Windows 类推即可。 1. 获取代码及模块安装和签名配置 执行如下命令进行代码下载及模块安装: $ git clone ...
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux 的命令,另外如果只想执行一条shell命令,可以采用以下的方式: adb shell [command] 如:adb shell ...
包含android应用程序项目,在该项目中可以在AR中可视化已连接群完成的映射。 它还能够向该群发送命令并实时观察该群的信息。 要求 Android Studio 4.1+可使用gradle依赖项打开android项目。 Android智能手机或...
通过运行以下命令安装 : npm install -g 科尔多瓦在 Windows 的命令提示符中,导航到存储库: cd C:\Projects\EPiMobileStore 执行此命令为所有选定平台构建应用程序: 科尔多瓦建造输出包文件将部署到特定平台...
接下来,使用以下命令将 Android 平台添加到项目中: `ionic cordova platform add android` 如果需要更新 Android 平台,可以使用以下命令: `ionic cordova platform update android` 在安装了 ngCordova 之后...
$ npm install //如果觉得慢可以先切换到国内 npm 镜像源再执行此命令 配置 Gradle 个人签名路径及属性: //1. 把你个人的签名 my-release-key.keystore 文件(不知道如何生成请自行搜索)放到 RNPolymerPo 工程的 ...
Cordova + Quasar Android应用程序模板 您的android应用程序的模板 ... 将目录更改为/ src-cordova(命令:cd src-cordova),并在终端中发布:npm install 要在模拟器中运行代码,请发出:npm run serv
运行Android应用 // **在终端机** //中使用以下命令 安装Node.js。 如果你没有 npm install -g cordova ionic,有关离子安装的任何问题,请参见 npm install -g try-thread-sleep 导出ANDROID_HOME = /用户/用户/...
该存储库包含 HueColor,这是一个 Android 应用程序,可以将图像(从... 打开终端窗口并运行以下命令。 $ git clone https://github.com/timvandermeij/huecolor.git $ cd huecolor 编译应用程序 使用 Android Stud
可用附件中的simg2img.exe来转化一下原始...2、命令行cd到simg2img.exe目录下,执行命令“simg2img.exe system.img.ext4 system.img”。3、打开ext2Explorer.exe后open img->"system.img",在界面右边右键save提取内容。
资料下载Google Play商店Proxer App Store Github建立自己安装以下工具后: Android SDK 您可以运行以下命令: git clone https://github.com/proxer/ProxerAndroid cd ProxerAndroid 该应用需要一个API密钥才能工作...
和在Android上运行应用的相同命令: $ tns run android --emulator 最后,使用livesync命令将更改推送到您的应用程序,而不必经历整个构建周期: $ tns livesync ios --emulator --watch $ tns livesync android -...
杂货店是NativeScript内置的iOS和Android应用程序,用于管理杂货店列表。 您可以使用我们的或,学习如何从头开始构建此应用程序的版本。 屏幕截图 发展 此应用程序是使用NativeScript CLI构建的。 一旦了 ,请从...
如果您还没有释放密钥,请通过运行以下命令生成一个: cd ~/.android keytool -genkey -v -keystore release.keystore -alias androidreleasekey -keyalg RSA -keysize 2048 -validity 10000 您可以通过运行以下...