android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令。

那么在android的shell中是否就不能执行java程序了呢。

答案是否定的。我们可以通过app_process来执行java程序。

写一个hello world吧,就是刚开始学java的时候写得那个hello world,这次要在android上运行。

用记事本新建hello.java文件,编写如下代码:

public static class hello {

public void main(String args[]){

System.out.println("Hello Android");

}

}

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。

转载于:https://blog.51cto.com/10839010/1714931

android中如何执行java命令相关推荐

  1. java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令

    这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习 android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析 ...

  2. cmd无法输出java结果_cmd中执行java命令没有输出结果

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一开始都是好好的,执行java,javac之类的命令都有正确输出结果,然后我想学习bat脚本,把系统变量JAVA_HOME删除,然后执行了以下vat脚本 ...

  3. cmd编译java命令_使用CMD命令编译执行java命令

    写程序时,有时候需要动态编译执行,经过各种百度及实战,总结一些使用经验. .java文件分为有包名,无包名,又分为有jar包,无jar包,是否指定jre等等. 接下来总结如下: cmd 编译执行jav ...

  4. 关于命令行上执行java命令的错误分析 - Could not find or load main class

    成功的安装了JDK和Eclipse后,在开发测试Java工程中,很少会遇到开发环境问题. 这都归功于Eclise通过工程(project)和包(package)把这些管理好. 但偶尔在命令行下编译和运 ...

  5. python中command是什么意思_python中command执行shell命令脚本方法

    在Python中有一个模块commands也很容易做到以上的效果. 看一下三个函数: 1). commands.getstatusoutput(cmd) 用os.popen()执行命令cmd, 然后返 ...

  6. openjdk怎么执行java命令_Ubuntu 18.04 上使用 OpenJDK 安装并运行 Tomcat

    在Linux上安装与卸载JDK和JRE,两种常用方法: 一.通过 apt-get 命令在线进行安装与卸载(会自动配置好环境变量) 二.通过下载并解压 .tar.gz 包进行手动安装与手动卸载(需要手动 ...

  7. linux怎么重复命令,Linux系统中重复执行历史命令的方法有哪些?

    今天小编要跟大家分享的文章是关于Linux系统中重复执行历史命令的方法有哪些?各位正在从事Linux运维工作的小伙伴们,如果要执行一条或多条之前输过的指令,要怎么处理?很多人会想到使用上下箭头去翻查历 ...

  8. C++程序中如何执行cmd命令

    C++程序中如何执行cmd命令 system(const char* _Command) system(const char* _Command) 使用system()函数即可,里面的参数就是cmd命 ...

  9. 每次执行java命令 都要source_解决每次执行Java等命令时都要重新source /etc/profile后才能执行,否则找不到命令...

    linux mint 我们通常将环境变量设置在/etc/profile这个文件中,这个文件是全局的. /etc/profile:在登录时,操作系 统定制用户环境时使用的第一个文件 ,此文件为系统的每个 ...

最新文章

  1. 两个ListBox中的项互相移动及上下移动
  2. Excel VBA林木冠幅、分枝胸径字符串的拆解
  3. move函数c语言,C++11 move()函数:将左值强制转换为右值
  4. 2018刑侦推理 java_2018年刑侦科目推理试题
  5. [Pyhon疫情大数据分析] 三.新闻信息抓取及词云可视化、文本聚类和LDA主题模型文本挖掘
  6. 我眼中的 NCC,WTM 寻亲之旅
  7. [渝粤教育] 广东-国家-开放大学 21秋期末考试建筑工程概预算10326k2
  8. python函数示例_使用Python中的示例的input()函数
  9. git 命令之 如何将本地新建分支推到服务器上
  10. AJAX 状态值(readyState)与状态码(status)详解
  11. 竞赛推荐:openEuler 高校开发者大赛启动!
  12. 西门子plc程序好坏判定
  13. SqlCommand详解以及SqlParameter的两种用法和DataTable基础
  14. Js实现实时显示系统时间(获取当前时间并显示)
  15. mysql中可以查询英文却查不了中文或数字
  16. 数据库应用之关系代数(relational algebra)
  17. A Game of Thrones(58)
  18. ZDNS正式成为“.ren”顶级域名注册管理机构
  19. 运维必看!阵列硬盘掉线的恢复过程
  20. 面向对象与面向过程的区别与联系

热门文章

  1. Linux查找字符串包含在某目录所有文件中
  2. DNS域传输漏洞利用总结
  3. 【代码笔记】Web-HTML-列表
  4. 关于github上开源nineoldandroids兼容动画的笔记
  5. 注意Entity中的Uptate
  6. 当年发明hello, world的大神,后来怎么样了?
  7. mysql 优化器关联查询_MySQL 查询优化器(二)
  8. 聊聊redo log是什么?
  9. 美团技术:到店供应链及商品平台建设实践(胶片)
  10. Java Class的热替换 自定义ClassLoader加载.class