android的程序基于java開發(fā),當(dāng)我們接上調(diào)試器,執(zhí)行adb shell,就可以執(zhí)行l(wèi)inux命令,但是卻并不能執(zhí)行java命令。
創(chuàng)新互聯(lián)從2013年成立,先為道外等服務(wù)建站,道外等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為道外企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
那么在android的shell中是否就不能執(zhí)行java程序了呢。
答案是否定的。我們可以通過app_process來執(zhí)行java程序。
寫一個hello world吧,就是剛開始學(xué)java的時候?qū)懙媚莻€hello world,這次要在android上運行。
用記事本新建hello.java文件,編寫如下代碼:
public static class hello {
public void main(String args[]){
System.out.println("Hello Android");
}
}
javac hello.java
得到hello.class文件執(zhí)行"java hello" 可以看到輸出結(jié)果
那么如何讓這個最簡單的java程序在android上運行呢。
.class文件可以在普通的jvm上運行,要放到android下還需要轉(zhuǎn)換成dex,需要用android sdk中的dx工具進(jìn)行轉(zhuǎn)換
dx --dex --output=hello.dex hello.class
得到hello.dex,這個hello.dex就可以放到android上執(zhí)行了。
連接手機,打開usb調(diào)試
adb push hello.dex /sdcard/
adb shell 進(jìn)入android命令行
使用app_process 運行hello.dex
app_process -Djava.class.path=/sdcard/hello.dex/sdcard hello
好了,至此我們成功的在android上運行了普通的java程序。另外對APP進(jìn)行全方位的檢測,我都會用這個:www.ineice.com。