android 运行 c程序,在Android上运行Java和C程序

这篇博客介绍了如何在Android设备上编译和运行Java程序,包括单个和多个Java文件的处理,以及如何将Java程序打包成jar文件。此外,还讲解了在Android上执行C程序的流程,从Ubuntu环境下的编译到将可执行文件推送到Android开发板上执行。内容涵盖了dx工具的使用、dalvikvm和app_process的调用方法,以及涉及到的Android虚拟机和Linux环境的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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

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

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库

前言 这是系列文章,它们由及其他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 ...

随机推荐

使用github page 页面建博客中遇到的几个小问题

Git Bash 中几个常用的一般命令 git init #初始化 git status #状态 git add . #添加文件 git status git commit -m "firs ...

高性能MySQL --- 读书笔记(1) - 2016/8/2

此书不但帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径.全书包括14章,内容覆盖MySQL系统架构.设计应用技巧.SQL语句优化.服务器性能调优. ...

网站的优化----首页优化---app调取服务端数据

高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...

ThinkPHP - 配置项目结构

配置项目结构: 项目如果分为前后台使用. 那么最关键的就是,使用公共部分文件的划分,其中最为核心的就是公共配置文件的使用. 下面介绍的就是怎么将前后台项目的公共部分提起出来. 首先是其他公共的文件夹: ...

Hyper-V笔记

Hyper-V的网络架设 Hyper-V中创建“虚拟网络”(可看成交换机)会在物理机中创建相应的虚拟网卡.Hyper-V安装好后会默认创建一个“本地连接-虚拟网络”对应的虚拟网卡给物理机使用,原本的本 ...

自研数据库CynosDB存储系统如何实现即时恢复

本文由云+社区发表 本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人.从事数据库内核开发.数据库产品架构和规划.曾就职于华为,2015年加入腾讯,参与过TBase ...

DO、DTO和VO分层设计的好处

2016年10月23日 20:11:03 阅读数:10646 在Java中 VO. PO.DO.DTO. BO. QO.DAO.POJO的概念中介绍过Java中的各种模型概念.在这里简单再总结一下 ...

PowerShell 脚本中调用密文密码

1. 把密码转变为加密的字符串.使用命令 ConvertFrom-SecureString Read-Host "Enter Password" -AsSecureString | ...

CSS 点击图片替换样式

1

  • 海运
  • 调整WebLogic的时间

    控制台显示的时区为GMT,于是考虑调整WebLogic的时区,查询WebLogic的相关参数后,初步的调整方式为:修改相关域下的bin目录中的startWebLogic.cmd脚本.添加"- ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值