android shell 运行java 程序

时间:2022-06-04 17:43:12

android shell 运行java 程序 (通过转换为dex)
1、编写Hello.java
public class Hello {

 public int foo(int a,int b)
 {
  return (a+b)*(a-b);
  
 }
 public static void main(String[] args) {
  Hello hello=new Hello();
  System.out.println(hello.foo(5, 3));
  System.out.println("Hello ok");

 }
}
2、编译
javac Hello.java

3、在sdk\platform-tools目录下 执行
dx.bat --dex --output=classes.dex Hello.class

4、新建Hello目录,直接把classes.dex使用zip算法压缩成Hello.zip

5、adb push Hello.zip /data/local
adb shell chmod 777 /data/local/*
adb shell dalvikvm -cp /data/local/Hello.zip Hello

运行成功!

测试了下调用基本的java api可以成功!但是调用android的其他api就报错。

 另外请参考

http://blog.csdn.net/xiaozhi819/article/details/7741023

http://www.oschina.net/question/236988_55165

我在没有root的机器上,测试没有成功。报Killed app_process /data/local/tmp com.app.process.test.T

root机器没有测试,以后再补上。