在Android上运行Java和C程序

Posted hellokitty2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中运行 C 代码

如何在 Java 中运行 C 代码

Android 片段未显示在应用程序中

Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段

java代码在片段活动中不起作用

iOS 相当于 Android 片段/布局