java源程序文件,app_process執行java文件

 2023-11-30 阅读 28 评论 0

摘要:Demo:https://github.com/zgj224/Android-Demo/tree/master/app_process_exec_java_demo 栗子: # am start -n com.android.browser/com.android.browser.BrowserActivity 這里的am命令是一個可執行文件,查看系統am可以發現其實里面調用的是app_process # adb root # adb shel
Demo:https://github.com/zgj224/Android-Demo/tree/master/app_process_exec_java_demo
栗子:
# am start -n com.android.browser/com.android.browser.BrowserActivity
這里的am命令是一個可執行文件,查看系統am可以發現其實里面調用的是app_process
# adb root
# adb shell cat /system/bin/am#!/system/bin/sh
base=/system
export CLASSPATH=$base/framework/am.jar
exec app_process $base/bin com.android.commands.am.Am "$@"1.執行jar包里的java可執行文件
使用app_process啟動java文件,其中java里必須有main()方法,這是函數入口。
# adb shell CLASSPATH=/system/framework/Demo.jar exec app_process /system/bin com.example.Demo或在apk里啟動一個可執行com.example.helloworld.Console里的main()
# adb shell CLASSPATH=/data/app/com.example.helloworld-1.apk exec app_process /system/bin com.example.helloworld.Console
注意:/system/bin這個目錄可以替換為任意目錄2.執行java文件
<1>.Hello.java
public static class Hello {public void main(String args[]){System.out.println("Hello Android");}
}<2>.編譯
# javac Hello.java
編譯出Hello.class文件可以在普通的jvm上運行,要放到android下還需要轉換成dex,需要用android sdk中的dx工具進行轉換
# cd SDK/build-tools //SDK為自己下載的android sdk
# dx --dex --output=Hello.dex Hello.class
得到Hello.dex<3>.Hello.dex push到/sdcard
# adb push Hello.dex /sdcard<4>.使用app_process 運行hello.dex
# app_process -Djava.class.path=/sdcard/Hello.dex /sdcard Hello

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/185610.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息