java启动app_Android上app_process启动java进程
这⾥不介绍Android启动过程中,app_process从哪个进程fork处理,也不介绍app_process启动App的过程。仅介绍app_process启动纯Java程序的相关知识。
⼀、HelloWorld⽰例
编写⼀个hellworld 的Java程序,并且编译成.class⽂件,简单得没啥可说的。public class Helloworld {
public static void main(String[]args){
System.out.println("Hello, I am started by app_process!");
}
}
Android对Java虚拟机做了修改,即使⽤⾃⼰的dalvik虚拟机(后来的ART)。因此,.class的字节码在Dalvik虚拟机上是不能运⾏的。Android Platform tool为我们提供了⽣成Android上可执⾏jar(Dex)⼯具:dx(dx路径参考:Sdk\build-tools\25.0.0\dx.bat)。编译命令如下,当然如果不想⽤命令⾏也可以⽤Android Studio创建编译也⾏,编译dex路径:
app\build\intermediates\transforms\dexBuilder\debug//编译,这⾥主要是Platform tool上⽤的是Java 7,所以显式指定1.7
javac -source 1.7 -target 1.7 D:\app_process\\Helloworld.java
//⽣成dex,当然⽣成jar在Android上也是可执⾏的
dx --dex --output=D:\app_process\Helloworld.dex Helloworld.class
怎么用java编写app软件2. 将我们前⾯编译得到的dex(jar)⽂件push到/data/local/tmp⽂件夹下adb push D:\app_process\Helloworld.dex /data/local/tmp
adb shell
构建app_process运⾏参数:app_process -Djava.class.path=/data/local/tmp/Helloworld.dex /data/local/tmp Helloworld
这⾥有个问题,⽤⽼的三星NODE 3测试总是提⽰Aborted,中断失败!华为畅玩9没问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论