android的程序基於java開發,當咱們接上調試器,執行adb shell,就能夠執行linux命令,可是卻並不能執行java命令。java
那麼在android的shell中是否就不能執行java程序了呢。linux
答案是否認的。咱們能夠經過app_process來執行java程序。android
寫一個hello world吧,就是剛開始學java的時候 寫得那個hello world,此次要在android上運行。shell
用記事本新建hello.java文件,編寫以下代碼:app
public static class hello {jvm
public void main(String args[]){工具
System.out.println("Hello Android");spa
}命令行
}調試
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程序。另外對APP進行全方位的檢測,我都會用這個:www.ineice.com。