穿越之旅之--android中如何执行java命令

原创 2015年11月18日 18:58:56

android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令。

那么在android的shell中是否就不能执行java程序了呢。

答案是否定的。我们可以通过app_process来执行java程序。

写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行。

用记事本新建hello.java文件,编写如下代码:

public static class hello {
     public void main(String args[]){
        System.out.println("Hello Android");
    }
}

javac hello.java

得到hello.class文件 执行”java hello” 可以看到输出结果

那么如何让这个最简单的java程序 在android上运行呢。

.class文件可以在普通的jvm上运行,要放到android下还需要转换成dex,需要用android sdk中的dx工具进行转换

dx –dex –output=hello.dex hello.class

得到hello.dex,这个hello.dex就可以放到android上执行了。

连接手机,打开usb调试
adb push hello.dex /sdcard/

adb shell 进入android命令行

使用app_process 运行hello.dex

app_process -Djava.class.path=/sdcard/hello.dex /sdcard hello

好了,至此我们成功的在android上运行了普通的java程序。

要知道这可是用记事本写的android代码,真是闻所未闻啊!赶快像小伙伴炫耀一下吧。

更多内容请关注我的微信公众号:zhaojieTec

版权声明:本文为博主原创文章,转载请注明出处 http://blog.csdn.net/zhaojiezz 。

android上代码去执行"su"命令

执行“su”命令有一个前提,那就是手机被root过或者是手机里面的busybox支持“su”命令,否则会执行失败。 具体实现代码如下: import java.io.BufferedReader;...
  • androidzhaoxiaogang
  • androidzhaoxiaogang
  • 2013年02月05日 10:09
  • 17259

Java中通过jsch来连接远程服务器执行linux命令

有时候你可能需要通过代码来控制执行linux命令实现某些功能。针对这类问题可以使用JSCH来实现,具体代码如下:public class CogradientImgFileManager{ pr...
  • sun5769675
  • sun5769675
  • 2016年03月04日 10:51
  • 2950

关于SIP防火墙穿越的汇总 .

术语和基础知识 防火墙   一个防火墙限制私人内网和公众因特网之间的通讯,典型地防火墙就是丢弃那些它认为未经许可的数据包。在数据包穿越一个防火墙时,它检查但是不修改包里的 IP地址和TCP/ ...
  • dxpqxb
  • dxpqxb
  • 2014年08月22日 10:24
  • 1667

Android开发关键技术之旅:Java程序员快速学习通道,完整扫描版

  • 2013年12月29日 20:24
  • 69.93MB
  • 下载

java学习之旅62--数组的拷贝_排序_二分法_命令行参数_增强for循环

数组常见操作 数组的拷贝 System类里包含了一个 public static void arraycopy(Object src, int srcPos,Object dest...
  • southeast_px
  • southeast_px
  • 2015年07月17日 17:43
  • 328

JAVA之旅【第一天】 计算机概率 常用的DOS命令 下载安装JDK 环境配置

今天是学习java的第一天,以后每天就用这个来记录自己每天的学习,希望有人能关注,也一起学习,一起努力,持续更新!...
  • Easy_HelloWorld
  • Easy_HelloWorld
  • 2016年06月27日 13:44
  • 363

我的Android NDK之旅(一),不使用ndk-build命令来创建jni

转载请注明出处:(http://blog.csdn.net/qq_35071078/article/details/70338637)最近闲来无事,想摸索下一下ndk,可是ndk不是块好啃的骨头,但作...
  • qq_35071078
  • qq_35071078
  • 2017年04月21日 20:29
  • 1895

ffmpeg开发之旅(6):详解ffmpeg命令在Android平台上的使用

ffmpeg开发之旅(6):详解ffmpeg命令在Android平台上的使用 (码字不易,转载请声明出处:http://blog.csdn.net/andrexpert/article/deta...
  • liu3364575
  • liu3364575
  • 2017年11月01日 09:03
  • 106

ffmpeg开发之旅(6):详解ffmpeg命令在Android平台上的使用

上一篇文章讲解如何在linux系统环境下编译so共享库,并将其移植到Android平台上使用。基于此,本文将着重讲解如果通过移植main函数,使Android平台支持直接使用ffmpeg命令实现对音视...
  • AndrExpert
  • AndrExpert
  • 2017年06月30日 23:06
  • 785

Android学习之旅--sqlite3 数据库命令操作

SQLite简介 Android系统集成了一个轻量级的数据库SQLite,SQLite只是一个嵌入式的数据库引擎,专门适用于支援有限的设备上(如手机、pda等)适量数据存储。 SQLite并不同于...
  • canvas18
  • canvas18
  • 2012年07月18日 12:10
  • 1045
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:穿越之旅之--android中如何执行java命令
举报原因:
原因补充:

(最多只允许输入30个字)