在Android上运行Java和C程序
在linux上运行java程序,直接用javac编译,再用java启动虚拟机运行就行了。但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的。下面介绍Android上运行Hello world!
一、单个java文件编译运行
1.在Ubuntu虚拟机上将Hello.java编译成Hello.class文件
2.在Ubuntu上的Android编译环境下生成Hello.jar文件
# dx --dex --output=Hello.jar Hello.class
注意这里的dx不是Ubuntu的dx命令行工具,它是编译Android时产生的
# which dx
/media/ubuntu/works/tiny4412/android-5.0.2/out/host/linux-x86/bin/dx
3.将Hello.jar push到Android开发板上执行,有2种执行方法
# dalvikvm -cp ./Hello.jar Hello
Hello world!
# CLASSPATH=./Hello.jar app_process ./ Hello
Hello world!
二、若是有多个java文件需要编译
package a.b.c; public class World {
public static void study(String args) {
System.out.println(args);
}
}
import a.b.c.World; public class Hello {
public static void main(String[] args) {
System.out.println("Hello world!");
a.b.c.World.study("I love Android BSP");
World.study("I love Android cpp");
}
}
Ubuntu上:
# javac -d . World.java
# javac Hello.java
# dx --dex --output=Hello_2.jar ./
Android开发板上:
# CLASSPATH=./Hello_2.jar app_process ./ Hello
Hello world!
I love Android BSP
I love Android cpp
或
# dalvikvm -cp ./Hello_2.jar Hello
Hello world!
I love Android BSP
I love Android cpp
三、运行C程序
#include <stdio.h> void main()
{
printf("Hello world, I am C!\n");
}
Ubuntu上:
# arm-linux-gcc hello.c -static -o hello
Android开发板:
# ./hello
Hello world, I am C!
参考: https://www.cnblogs.com/ynxf/p/6923639.html
在Android上运行Java和C程序的更多相关文章
- win10在html上运行java的applet程序
Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同. 含有Applet的网页的HTML文件代码中部带有 和 ...
- Android驱动入门-在Android系统上运行JAVA程序
在linux上运行java程序,直接用javac编译,再用java运行就行了.但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的. 如果想在Android上运行Hello wo ...
- 编译可在Android上运行的qemu user mode
前言 本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码. 下文中的”NDK”若无特殊说明均指”Android NDK”. 下文中”$NDK ...
- 利用Android Studio编写 Android上的c与c++程序
利用Android Studio编写 Android上的c与c++程序 (2017-05-22 19:01:20) 转载▼ 标签: android 分类: Android开发 原文链接: http:/ ...
- 在IntelliJ IDEA中创建和运行java/scala/spark程序
本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...
- 系列篇|编译可在Android上运行的依赖库(一):glib库
前言 这是系列文章,它们由<编译可在Android上运行的glib库>及其他4篇文章组成,这4篇文章在“编译依赖库”一节中列出.由于glib库依赖于其他第三方库,所以需要先将依赖的第三方库 ...
- 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。
原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...
- react native-调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错
调用react-native-fs插件时,如果数据的接口是需要验证信息的,在android上运行报错,而在iOS上运行没问题.原因是因为接口是有验证信息的,而调用这个插件时没有传入,在iOS上会自动加 ...
- [翻译]第三天- 在 Mac 上运行 .NET Core 应用程序
原文: http://michaelcrump.net/part3-aspnetcore/ *** 简介 该系列文章的完整列表如下: 第一天 - 在 Windows 下安装和运行 .NET Core ...
随机推荐
- PC/FORTH 判定
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- vue-6-事件处理
<div id="example-2"> <button v-on:click="greet">Greet</button> ...
- [Linux]Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- chmod +x 和 chmod u+x的区别
常用: chmod a+x tomcat u 代表用户. g 代表用户组. o 代表其他. a 代表所有. 这意味着chmod u+x somefile 只授予这个文件的所属者执行的权限 而 chmo ...
- dos命令:目录操作
目录操作 一.cd语句 1.介绍 显示当前目录名或改变当前目录. 2.语法 CHDIR [/D] [drive:][path] CHDIR [..] CD [/D] [drive:][path] ...
- 解决You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (order_name, customer)
在学习hibernate一对多映射关系时,根据视频学习的时候,例子是顾客和订单的问题,一个顾客有多个订单.按照视频中的敲代码出现了You have an error in your SQL synta ...
- python day11 ——1. 函数名的使⽤ 2. 闭包 3. 迭代器
⼀. 函数名的运⽤. 1.函数名的内存地址 def func(): print("呵呵") print(func) 结果: <function func at 0x11 ...
- 2016 多校联赛7 Balls and Boxes(概率期望)
Mr. Chopsticks is interested in random phenomena, and he conducts an experiment to study randomness. ...
- swift3.0 简单直播和简单网络音乐播放器
本项目采用swift3.0所写,适配iOS9.0+,所有界面均采用代码布局. 第一个tab写的是简单直播,传统MVC模式,第二个tab写的是简单网络音乐播放器.传说MVVM模式(至于血统是否纯正我就不 ...
- extjs技术
转载:http://www.cnblogs.com/willick/p/3168809.html 转载 :http://www.cnblogs.com/youring2/archive/2013/08 ...